sg-paynow-code
v1.0.2
Published
PayNow code generator to receive payments in Singapore.
Downloads
252
Readme
SG PayNow Code
SG PayNow Code is a JavaScript library to generate a PayNow Code. You can create a QR Code for people to pay you!
Getting Started
If you use yarn
yarn add sg-paynow-code
If you use npm
npm install sg-paynow-code
Usage
import { generatePayNowCode } from 'sg-paynow-code';
// OR
const { generatePayNowCode } = require('sg-paynow-code');
const options = {
paymentAmount: 888.88,
recipientIdentifierType: 'MOBILE',
recipientIdentifier: '+6590901234',
description: 'Payment reference XX12345678',
editable: false,
expiryDate: '20210415',
};
const payNowCode = generatePayNowCode(options);
Options
| Option | Description | Type | Is required? |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------: | :----------: |
| paymentAmount | Amount to transfer. Note: Will be rounded to the nearest 2 decimal places if the amount contains > 2 decimal places. | Number | Yes |
| recipientIdentifierType | To transfer to either a mobile number or UEN. | String. Either 'MOBILE'
or 'UEN'
| Yes |
| recipientIdentifier | Either your mobile number or UEN, depending on what you have specified in recipientIdentifierType
. Note: for mobile number, prepend '+65'
. For example, to indicate '90901234'
as the mobile number, use '+6590901234'
. | String | Yes |
| description | Details of this transfer. Will be reflected in recipient's transactions statement. | String | Yes |
| editable | Whether the payee can edit the details. | Boolean | Yes |
| expiryDate | Expiry date of the code, in the format YYYYMMDD
. For example, to set the expiry date to 15 April 2021, use '20210415'
. | String | No |
Credits
Credits to @chengkiang, where I chanced upon this gist while researching on the logic behind a PayNow code. All logic was taken from the gist, I merely added on to it.
Contributing
Pull requests are welcome.