Kotchasan Framework Documentation
Promptpay
Promptpay
\Kotchasan\Promptpay creates PromptPay QR Code payload for payments in Thailand.
Creation
use Kotchasan\Promptpay;
// With phone number
$promptpay = Promptpay::create('0812345678');
// With amount
$promptpay = Promptpay::create('0812345678', 100.50);
// With National ID
$promptpay = Promptpay::create('1234567890123');Methods
create()
Create Promptpay object.
$promptpay = Promptpay::create($merchant_id, $amount = null);| Parameter | Type | Description |
|---|---|---|
$merchant_id |
string |
Phone number (10 digits) or National ID (13 digits) |
$amount |
float\|null |
Amount (optional) |
payload()
Generate payload for QR Code.
$promptpay = Promptpay::create('0812345678', 100);
$payload = $promptpay->payload();
// returns: "00020101021129370016A000000677010111..."Usage Examples
QR Code with Amount
use Kotchasan\Promptpay;
use Kotchasan\Barcode;
$promptpay = Promptpay::create('0812345678', 500.00);
$payload = $promptpay->payload();
// Create QR Code image
$qrcode = Barcode::create($payload, Barcode::QR_CODE);
$qrcode->save('payment_qr.png');QR Code without Amount
$promptpay = Promptpay::create('0812345678');
$payload = $promptpay->payload();
// Payer enters amount via banking appUse with E-Wallet ID
// Supports E-Wallet ID
$promptpay = Promptpay::create('ewallet_id_here', 1000);
$payload = $promptpay->payload();Display in HTML
use Kotchasan\Promptpay;
$promptpay = Promptpay::create('0812345678', 299.00);
$payload = $promptpay->payload();
// Use with JavaScript QR library
echo '<div id="qrcode" data-payload="' . htmlspecialchars($payload) . '"></div>';EMV QR Code Specification
Payload conforms to EMV® QR Code Standard for PromptPay:
00020101021129370016A000000677010111011300661234567895802TH530376463047CC1| Field | Description |
|---|---|
00 |
Payload Format Indicator |
01 |
Point of Initiation Method |
29 |
Merchant Account Information (PromptPay) |
58 |
Country Code (TH) |
53 |
Currency Code (764 = THB) |
54 |
Transaction Amount |
63 |
CRC Checksum |
Related Classes
- Barcode - Create QR Code from payload