Skip to content
🏦 Mobile web app (https://promptpay2.me), command line app, and JavaScript library to generate QR Code payload for PromptPay.
JavaScript CSS HTML HCL
Branch: master
Clone or download
Latest commit 0bb43fd Jul 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci πŸ‘· circleci yarn.lock cache Oct 2, 2018
.github Add todo-actions Jul 18, 2019
images 🍱 Update mobile image Sep 2, 2017
webapp πŸ’š Fix gl-matrix cannot uglify Aug 14, 2018
.gitignore πŸŽ‰ Aug 31, 2017
LICENSE
README.md πŸ“ Separate ports and integration section Dec 2, 2017
cli.js ✨ Switch to qrcode module (smaller output) Sep 1, 2017
index.js
index.test.js βœ… Add tests for wallet IDs Sep 17, 2017
package.json 0.4.4 Sep 17, 2017
yarn.lock βœ… Add test cases Sep 4, 2017

README.md

promptpay-qr npm version

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:

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:

  1. Open Chrome (on Android) or Safari (iOS).

  2. Go to https://promptpay2.me/.

  3. Set your PromptPay ID.

  4. β€œ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

generatePayload(idOrPhoneNo, { amount })

Returns a string which should be rendered as a QR code.

References

Implementation in other languages

These libraries are written by other developers:

Integrations with other software

These plugins/integrations are written by other developers:

License

The MIT 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.

You can’t perform that action at this time.