@nativescript/square-in-app-payments

May 28, 2025 · View on GitHub

Build remarkable payments experiences in your own apps with Square's In-App Payments SDK for NativeScript.

npm install @nativescript/square-in-app-payments

Usage

An after-prepare.js hook is added by this plugin to handle a build phase for the SDK to run.

You will see the following logs in the console:

 Square SDK Build Phase Script Added to Xcode Build Phases

If you do not see these logs, prepare the ios platform again prior to build

ns prepare ios

Example

init must be called in the app.ts or main.ts (bootstrap file).

import { SquareInAppPayments } from '@nativescript/square-in-app-payments';
SquareInAppPayments.init();

You can then setup the SDK options wherever needed.

import { SquareInAppPayments } from '@nativescript/square-in-app-payments';

const square = new SquareInAppPayments();
// The application ID is required to be set before any other methods from the SDK are called.
square.squareApplicationID = process.env.production ? 'prod-key' : 'sandbox-key';
console.log('Square Application ID:', square.squareApplicationID);

// call from your view bindings top open card entry screen
function startCardEntry() {
  square.startCardEntry({
    collectPostalCode: true,
    isGiftCard: false,
    // theme configuration is only available on iOS
    ...(__APPLE__
      ? {
          themeConfig: {
            tintColor: UIColor.systemBlueColor,
            backgroundColor: UIColor.whiteColor,
            saveButtonTitle: 'Submit',
          },
        }
      : {}),
  });
}

// configure response and completion callbacks
SquareInAppPayments.onResponse = (cardDetails, onComplete) => {
  console.log('Card Details:', cardDetails);

  // handle with your own backend
  fetch('https://randomuser.me/api/')
    .then((response) => {
      onComplete();
    })
    .catch((error) => {
      onComplete('Failed');
    });
};

SquareInAppPayments.onComplete = (cancelled, cardDetails) => {
  console.log('Cancelled:', cancelled);
  console.log('Card Details:', cardDetails);
};

Test Cards

Mobile and Web Client

BrandNumberCVV
Visa4111 1111 1111 1111111
Mastercard5105 1051 0510 5100111
Discover6011 0000 0000 0004111
Diners Club3000 000000 0004111
JCB3569 9900 1009 5841111
American Express3400 000000 000091111
China UnionPay6222 9888 1234 0000123
Square Gift Card7783 3200 0000 0000

References

Square Overview

iOS Documentation

Android Documentation

License

Apache License Version 2.0