มาทำ QRcode PromptPay ด้วย NodeJS กัน

วันนี้ผมจะมานำเสนอวิธีการทำ QRcode PromptPay ด้วย NodeJS กันโดยเราจะได้รูป QRcode ออกมาใช้งานกัน (เอาแบบง่ายๆก่อนละกันนะครับ)

ก่อนอื่นเลยต้องติดตั้งโปรแกรม NodeJS ก่อนนะครับโดยสามารถเข้าไปดาวโหลดได้ที่ https://nodejs.org/en/download/

หลังจากนั้นก็มาเริ่มเขียนโปรแกรมกัน

สร้างโฟเดอร์ขึ้นมาเพื่อไว้สำหรับเก็บไฟล์เขียนโปรแกรมและรูป QRcode ขึ้นมาครับ ซึ่งของผมจะอยู่ที่

D:\qrcode-promptpay

หลังจากนั้นเข้าไปในโฟเดอร์แล้วสร้างไฟล์ที่ชื่อว่า app.js ครับ
สร้างไฟล์เสร็จแล้วก็เปิด command แล้วไปยังไปโฟเดอร์ที่เราสร้างไว้ครับ
โดยการพิมคำสั่ง

cd D:\qrcode-promptpay

หลังจากนั้นพิมคำสั่ง

npm install qrcode promptpay-qr

รอจนมัน install เสร็จ หากเสร็จแล้วเราก็จะได้โฟเดอร์ node_modules ขึ้นมา

หลังจากได้โฟเดอร์ node_modules แล้วให้เราสร้างโฟเดอร์เพิ่มไว้สำหรับเก็บรูป QRcode ในที่นี้ใช้ชื่อว่า images_qrcode นะครับ

สร้างโฟเดอร์เรียบร้อยแล้วก็เปิดไฟล์ app.js ขึ้นมา แล้วใส่โค้ดตามนี้ลงไป

const QRCode = require(‘qrcode’)
const generatePayload = require(‘promptpay-qr’)
const mobileNumber = ‘000–000–0000’ // เปลี่ยนเบอร์โทรศัพท์ตรงนี้
const amount = 4.22 // จำนวนเงิน
const payload = generatePayload(mobileNumber, { amount })
const option = { color: { 
 dark: ‘#00F’, // สีตัว QRcode ตรงนี้กำหนดไว้เป็นสีน้ำ
 light: ‘#0000’ // สีพื้นหลัง
 }
}
QRCode.toFile(‘./images_qrcode/filename.png’, payload , option , function (err) { if (err) throw err
console.log(‘done’)
})

ตรงคำว่า ‘./images_qrcode/filename.png’ บรรทัด QRCode.toFile นั้น หมายถึง path ตำแหน่งที่เก็บไฟล์และชื่อไฟล์ครับ

ข้อควรระวัง
เบอร์โทรศัพท์ต้องให้ตรงกับรูปแบบที่เขาให้มา
เช็คโฟเดอร์ที่ใช้เก็บรูปให้ดีว่ามีอยู่จริงรึเปล่า

ใส่ code เสร็จแล้วก็ทำการ save ไฟล์ให้เรียบร้อย แล้วกลับไปที่หน้า command แล้วพิมคำสั่ง

node app.js

รอจนกว่าจะขึ้นคำว่า “done” เป็นอันเรียบร้อย เราก็ไปเช็คที่โฟเดอร์ที่เรากำหนดเก็บรูปไว้จะเห็นว่าเราได้ไฟล์ filename.png มาเป็นรูป QRcode เราก็นำรูปไปใช้งานได้เลยครับ

ขอขอบคุณ (เครดิต)
https://nodejs.org
https://github.com/soldair/node-qrcode
https://github.com/dtinth/promptpay-qr

Show your support

Clapping shows how much you appreciated Sukrit Hoteerakul’s story.