1.1.2 • Published 4 years ago
react-native-square-pos v1.1.2
react-native-square-pos
Getting started
Installation
npm install react-native-square-pos --saveoryarn add react-native-square-posreact-native link
iOS Installation
- Add
RNSquarePosto your Podfile:pod 'RNSquarePos', :path => '../node_modules/react-native-square-pos', and runpod install - In the "Getting Started" section from Square Docs, complete the following sections: "Update your Info.plist", and "Register your app with Square". Take note of the URL Scheme and the Application ID.
- Make sure you've modified
AppDelegate.mto includeRCTLinking.
Android Installation
- Follow "Step 2: Register your application" in Square Android docs.
- Take note of your Application ID (this is found in the Square Developer dashboard, under "Credentials")
Usage
Import the package
import SquarePOS from 'react-native-square-pos'Configure the package
SquarePOS.configure({
applicationId: 'Your Square application ID',
callbackUrl: 'yourUrlScheme://some-unique-path'
})Make a transaction
const amountInCents = 100
const currency = 'CAD' // 🇨🇦
const options = {
tenderTypes: [
'CARD',
'CARD_ON_FILE',
'CASH',
'OTHER'
],
note: 'This note shows up on the transaction',
locationId: 'Optionally pass location Id', // only on iOS at the moment
}
SquarePOS.transaction(amountInCents, currency, options)
.then((result) => {
// the transaction was successful
const { transactionId, clientTransactionId } = result
})
.catch((err) => {
// the transaction failed.
// see error codes below.
const { errorCode } = err
})Errors
There are a number of different error codes, which may differ on Android / iOS. Eventually, an exhaustive list should be compiled here. For now, here are the important ones:
CANNOT_OPEN_SQUARE: The user doesn't have the Square POS app installedNOT_LOGGED_IN: The user isn't logged into a Square accountUSER_NOT_ACTIVE: Not totally sure what this doesPAYMENT_CANCELLED: The payment got cancelled from within the appNO_NETWORK_CONNECTION: No network connection on the phoneAMOUNT_TOO_SMALL:amountInCentswas too small (iOS only)AMOUNT_TOO_LARGE:amountInCentswas too large (iOS only)INVALID_REQUEST: Square Point-of-Sale couldn't process the request (because of malformed data or other) (Android only, checkerr.squareResponsefor more information)
Additionally, because this is a young project:
UNKNOWN_ANDROID_ERROR, if the response from Square Android SDK if the response wasn't handled by this package. On Android, you'll have access toerr.squareResponseto see the entire response data sent back from Square Point-of-Sale.UNKNOWN_IOS_ERROR, if the response from Square iOS SDK wasn't handled by this package.
1.1.2
4 years ago
1.1.1
4 years ago
1.1.0
6 years ago
1.0.16
6 years ago
1.0.15
7 years ago
1.0.14
7 years ago
1.0.13
7 years ago
1.0.12
7 years ago
1.0.11
7 years ago
1.0.10
7 years ago
1.0.9
7 years ago
1.0.8
7 years ago
1.0.7
7 years ago
1.0.6
7 years ago
1.0.5
7 years ago
1.0.4
7 years ago
1.0.3
7 years ago
1.0.2
7 years ago
1.0.1
7 years ago
1.0.0
7 years ago