promptpay-qr
v0.5.0
Published
Library to generate PromptPay payload and CLI script to generate QR code
Downloads
7,321
Readme
promptpay-qr
Mobile web app, command line app, and JavaScript library to generate QR Code payload for PromptPay.
Introduction
The Bank of Thailand introduced a PromptPay QRCode Standard that works with most mobile banking apps in Thailand.
By generating a QR code, users of mobile banking apps can scan your QR code, and transfer money to your PromptPay account instantly.
In this repository:
Mobile app — Receive money from your home screen.
Command-line application — Receive money from your terminal.
promptpay-qr
JavaScript API — Generate a PromptPay QR code programmatically.
What’s in a QR code
⚠️ Read this section to understand privacy implications of using PromptPay QR code ⚠️
The PromptPay QR code is based on EMV QRCPS Merchant Presented Mode specification.
The QR code contains the PromptPay ID. This means anyone who sees the QR code can find out your PromptPay ID (Phone number, National ID number, e-Wallet ID). Please treat the QR code like your personal information.
The QR code can optionally contain the transfer amount. Mobile banking apps use this number to pre-fill the amount for convenience.
Mobile web app
You can quickly receive money from your home screen.
For example, if you want to collect 80 Baht from each friend, you can open the app, type in 80, and show the QR code. It takes less than 5 seconds.
To use it:
Open Chrome (on Android) or Safari (iOS).
Go to https://promptpay2.me/.
Set your PromptPay ID.
“Add to Home Screen.”
Features:
The app remembers your PromptPay ID, so you don’t have to enter the information each time.
It is a Progressive Web App, so you can add to home screen and it will work offline (Android).
No personal data is sent to any server. Your PromptPay ID stays in your phone/computer.
CLI
You can receive money from your terminal.
Install Node.js and run this command to install promptpay-qr
in your machine:
npm install -g promptpay-qr
Run this command to generate a QR code:
promptpay-qr 081-xxx-xxxx
promptpay-qr 1-xxxx-xxxxx-xx-x --amount 4.22
Then QR code will be printed in the terminal.
API
You can use this library to in your JavaScript app to generate a PromptPay QR code.
generatePayload(idOrPhoneNo, { amount })
Returns a string which should be rendered as a QR code.
References
- https://www.blognone.com/node/95133
- https://www.emvco.com/emv-technologies/qrcodes/
Implementation in other languages
These libraries are written by other developers:
Integrations with other software
These plugins/integrations are written by other developers:
- WordPress: woodpeckerr/promptpay (supports shortcodes and integration with WooCommerce)
License
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.