Square payment provider for Medusa
Medusa Square Payment is a basic integration of payment provider for Square Payment.
Warning
..."@rsc-labs/medusa-square-payment": "0.0.1" // or other available version...
and execute install, e.g. .
...plugins: [{resolve: "@rsc-labs/medusa-square-payment",options: {token: <app-token>,environment: <env-definition>,},}],modules: [{resolve: "@medusajs/medusa/payment",options: {providers: [{resolve: "@rsc-labs/medusa-square-payment/providers/square-payment",id: "square-payment",options: {token: <app-token>,environment: <env-definition>,},}]},},...
The basic implementation of Square payment provider gives the possibility to make a payment in your storefront.
Plugin uses 1 required parameter and 1 optional:
After above configuration, you can then add the payment provider to your reqion.
We recommend using package on your storefront as it simplifies the implementation a lot. Here is the example of using credit card as payment:
import { PaymentForm, CreditCard as SquareCreditCard } from 'react-square-web-payments-sdk';...const handleSquareSubmit = async (token: string) => {setIsLoading(true)try {if (!activeSession) {await initiatePaymentSession(cart,{provider_id: selectedPaymentMethod,data: {cartId: cart?.id,token: token}})}return router.push(pathname + "?" + createQueryString("step", "review"),{scroll: false,})} catch (err: any) {setError(err.message)} finally {setIsLoading(false)}}{isSquare(selectedPaymentMethod) &&<div><PaymentFormapplicationId="<application-id>"cardTokenizeResponseReceived={(token, verifiedBuyer) => {handleSquareSubmit(token.token!);}}locationId='XXXXXXXXXX'><SquareCreditCard/></PaymentForm></div>}
- you can retrieve it from your Square Developer Dashboard.
Plugin does not support refunds and cancels. It has been tested using only credit card - when authorized, it captures money automatically.
MIT
© 2025 RSC https://rsoftcon.com/