Overview
Icon for Square

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

  1. Install plugin by adding to your Copy to clipboardpackage.json:

Warning

...
"@rsc-labs/medusa-square-payment": "0.0.1" // or other available version
...

and execute install, e.g. Copy to clipboardyarn install.

  1. Add plugin to your Copy to clipboardmedusa-config.js (Note - please notice that you need to add it to payment plugin):
...
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 clipboardtoken - required parameter which you can find in your Square Developer Dashboard
  • Copy to clipboardenvironment - 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:

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"),
{

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/

You may also like

Browse all integrations

Build your own

Develop your own custom integraiton

Build your own integration with our API to speed up your processes. Make your integration available via npm for it to be shared in our Library with the broader Medusa community.

gift card interface

Ready to build your custom commerce setup?