sgqr-code
v0.1.0
Published
Generate SGQR Code for PayNow transactions in Node.js
Downloads
215
Maintainers
Readme
Singapore Quick Response Code (SGQR)
Effortlessly generate your Singapore Quick Response Code (SGQR) Code for PayNow transactions. Quickly set predefined amounts and reference numbers for seamless peer-to-peer transfers across major banks and non-financial institutions in Singapore.
A Node.js package to generate Singapore Quick Response Code (SGQR) for PayNow transactions.
Installation
npm install sgqr-code --save
Usage
const { getPaynowQRCode } = require('sgqr-code');
// Example Usage
try {
const qrCode = getPaynowQRCode({
phone: '+6512345678'
});
console.log(qrCode);
} catch (error) {
console.log(error);
console.error('Error generating QR code:', error.message);
}
// Example Usage: 1
const qrCode = getPaynowQRCode({
merchantName: 'MyMerchant',
amount: 25.99,
uen: '123456789A',
});
// Example Usage: 2
const qrCode = getPaynowQRCode({
amount: 25.99,
phone: '+6512345678',
});
// Example Usage: 3
const qrCode = getPaynowQRCode({
uen: '123456789A',
});
// Example Usage: 4
const qrCode = getPaynowQRCode({
initiationMethod: '12',
referenceNumber: '123456',
merchantName: 'MyMerchant',
amount: 25.99,
amountEditable: '0',
uen: '123456789A',
transactionCurrency: '702',
countryCode: 'SG',
merchantCity: 'Singapore',
uniqueIdentifier: 'SG.PAYNOW',
expiryDate: '20230101120000', // Optional, format: YYYYMMDD or YYYYMMDDHHMMSS
});
console.log(qrCode);
getPaynowQRCode
Object Param Values
| Parameter | Description | Default Value | Maximum Length | Mandatory |
| ------------------- | ----------------------------------------------- | ------------------| ---------------| ----------|
| initiationMethod
| Initiation method for the transaction. '11'
Static or '12'
Dynamic | '12'
(Dynamic) | N/A | Yes |
| referenceNumber
| Reference number for the transaction. | Auto-generated | 99 | Yes |
| merchantName
| Name of the merchant. | 'NA'
| 25 | Yes |
| amount
| Transaction amount. | null
| N/A | No |
| amountEditable
| Whether the amount is editable or not. | '0'
| N/A | Yes |
| uen
| UEN (Unique Entity Number) of the merchant. | null
| 16 | No |
| phone
| SG Phone number including +65
| null
| 16 | No |
| transactionCurrency
| Currency code for the transaction. | '702'
| 3 | Yes |
| countryCode
| Country code of the merchant. | 'SG'
| 2 | Yes |
| merchantCity
| City of the merchant. | 'Singapore'
| 15 | Yes |
| uniqueIdentifier
| Unique identifier for PayNow transactions. | 'SG.PAYNOW'
| 9 | Yes |
| expiryDate
| Expiry date for the QR code. | null
(Optional) | 14 | No |
Note:
initiationMethod
should be either'11'
for Static or'12'
for Dynamic QR code.- If
amount
isnull
,amountEditable
will be set to'0'
(non-editable). - Either
uen
orphone
can be provided. If both are provided,uen
will be considered by default. phone
should be a Singapore phone number starting with+65
and followed by 8 digits.expiryDate
(if provided) should be in the formatYYYYMMDD
orYYYYMMDDHHMMSS
and must be greater than the current date and time.