https://github.com/dhcertainty/paynowqr
Singapore Paynow QR generator for node.js and javascript
https://github.com/dhcertainty/paynowqr
payments paynow qrcode sgpay sgqr singapore
Last synced: 9 months ago
JSON representation
Singapore Paynow QR generator for node.js and javascript
- Host: GitHub
- URL: https://github.com/dhcertainty/paynowqr
- Owner: DHCertainty
- License: apache-2.0
- Created: 2020-05-13T05:57:30.000Z (about 6 years ago)
- Default Branch: production
- Last Pushed: 2024-12-10T04:26:47.000Z (over 1 year ago)
- Last Synced: 2025-09-28T01:43:01.911Z (9 months ago)
- Topics: payments, paynow, qrcode, sgpay, sgqr, singapore
- Language: JavaScript
- Size: 4.85 MB
- Stars: 72
- Watchers: 4
- Forks: 24
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# PaynowQR
Singapore Paynow QR generator for node.js and javascript. Works on both browser and nodejs.
Have any questions or need help to do a custom implementation?
Feel free to drop us an email at partnerships@dhcertainty.com.
### Demo
> See it in action here:
> https://code.thunderquote.com/PaynowQR/
## Usage Instructions
**On nodejs**
Install via npm
```
$ npm i paynowqr
```
In your code, include the following:
```javascript
const PaynowQR = require('paynowqr');
```
**Browser**
You can use the CDN link provided by unpkg:
```html
```
*Example usage:*
```javascript
//Create a PaynowQR object
let qrcode = new PaynowQR({
uen:'201403121W', //Required: UEN of company
amount : 500, //Specify amount of money to pay.
editable: true, //Whether or not to allow editing of payment amount. Defaults to false if amount is specified
expiry: '20201231', //Set an expiry date for the Paynow QR code (YYYYMMDD). If omitted, defaults to 5 years from current time.
refNumber: 'TQINV-10001', //Reference number for Paynow Transaction. Useful if you need to track payments for recouncilation.
company: 'ACME Pte Ltd.' //Company name to embed in the QR code. Optional.
});
//Outputs the qrcode to a UTF-8 string format, which can be passed to a QR code generation script to generate the paynow QR
let QRstring = qrcode.output();
```
## Potential usecases:
Dynamically generating payment QR codes on e-commerce or donation pages that allow tracking of payments via reference codes.
Can be used in conjunction with Bank APIs to detect resolved payments.
Integration with Xero Invoicing - see: https://github.com/ThunderQuoteTeam/XeroPayNowQR
## To do
Incorporate QR generation into the PaynowQR class with logo / branding options
## Credits
Original code referenced from:
https://gist.github.com/chengkiang/7e1c4899768245570cc49c7d23bc394c
See also:
https://github.com/jtaych/PayNow-QR-Javascript
https://github.com/mindmedia/paynow.py
Developed by DH Certainty (https://dhcertainty.org)
Was looking around for various ways to implement dynamic SGQR codes for payment over Javascript, however couldn't find any that worked with UEN based payments.
Feel free to report any issues and feature requests!