Square
Accept POS and in-person payments with Square
Medusa Square Payment
What is it?
Medusa Square Payment is a basic integration of payment provider for Square.
Installation
- Install plugin by adding to your Copy to clipboard
package.json
:
Warning
123..."@rsc-labs/medusa-square-payment": "0.0.1" // or other available version...
and execute install, e.g. Copy to clipboardyarn install
.
- Add plugin to your Copy to clipboard
medusa-config.js
(Note - please notice that you need to add it to payment plugin):
1234567891011121314151617181920...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>,
Overview
The basic implementation of Square payment provider gives the possibility to make a payment in your storefront.
Configuration
Plugin uses 1 required parameter and 1 optional:
- Copy to clipboard
token
- required parameter which you can find in your Square Developer Dashboard - Copy to clipboard
environment
- optional parameter - it can be set to Copy to clipboardsandbox
, Copy to clipboardproduction
or not set at all. You can use it to test with your Copy to clipboardsandbox
environment.
After above configuration, you can then add the payment provider to your reqion.
Storefront
We recommend using Copy to clipboardreact-square-web-payments-sdk
package on your storefront as it simplifies the implementation a lot. Here is the example of using credit card as payment:
1234567891011121314151617181920import { 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"),{
Copy to clipboard<application-id>
- you can retrieve it from your Square Developer Dashboard.
Limitations
Plugin does not support refunds and cancels. It has been tested using only credit card - when authorized, it captures money automatically.
License
MIT
© 2025 RSC https://rsoftcon.com/