บริการรับชำระค่าสินค้าและบริการ โดยแจ้งผลยืนยันการรับชำระเงินทันทีในรูปแบบ API
บริการชำระค่าสินค้าและบริการ
Digital Signature Token Structure
The signature token follows the standard JSON Web Token format RFC 7519 contains the
following claims (elements)
Token HEADER
Claim | Description | Example |
---|---|---|
typ | Type | JWT |
alg | Algorithm | RS256 |
Body Claim | API Request Payload / API Response Payload |
API JSON Request Payload/API JSON Response Payload |
"exp" (Expiration Time) Claim |
Now + 1 Day (timestamp) | 1655995873 |
"Iat" (Issued At) Claim |
Time to create token (timestamp) |
1655967073 |
jti (JWT ID) Claim |
UUID | ba7544f4-a7c5-4362-8009-51f1ab25 e132 |
POST Smart bill notification (BBL > Merchant system)
Web Services: RESTful JSON
HTTP Method: POST
Character encoding: UTF-8
Content Type: application/json
Authorization: Basic Authentication Format: Basic (Base64Encode(Username:Password))
Request Message
Request URL: https://[MERCHANT_URL]
HTTP Request Header
No. | Parameter | Type | Size | Description | Example/Values |
---|---|---|---|---|---|
1 | Authorization | string | 100 | Basic authentication Token encode with Base64 String = [client_id] : [client_secret] Basic [Token] | Basic c3FIOG9vSGV4VHoAyg5 T1JvNnJoZ3ExaVNyQW w6WjRsanRKZG5lQk9q UE1BVQ |
Request Body
No. | Parameter | Type |
---|---|---|
1 | data | Object |
2. | type | string |
Data Object
No. | Parameter | Type | Notification Type | Size | Description |
---|---|---|---|---|---|
1 | serviceCode | string | APP2APP | 20 | Payment request reference ID generated by BBL |
2 | providerId | string | ThaiQR | 20 | specify Biller Service Code |
3 | billerId | string | All | 15 | TaxId and Suffix of the Payee |
4 | reference1 | string | All | 30 | First Reference number of the transaction from Partner |
5 | reference2 | string | All | 30 | Second Reference number of the transaction from Partner |
6 | reference3 | string | ThaiQR, SmartBill | 30 | Third Reference number of the transaction from Partner |
7 | totalAmount | decimal | APP2APP | 11 | Total amount (2 decimal digits), support Thai currency only |
8 | currencyCode | string | APP2APP | 3 | Currency Code |
9 | paymentStatus | string | APP2APP | 10 | A customer payment transaction status |
10 | paymentAccount | string | APP2APP | 15 | A payment account in mask format *has value when status = ‘success’ |
11 | paymentDateTime | string | APP2APP | Date and Time of the successful payment | |
12 | paymentReferenceID | string | APP2APP | 6 | Reference ID of the successful payment transaction from BBL |
13 | slipImage | Base64 | APP2APP | BBL slip in base64 format of the successful payment transaction | |
14 | payeeId | string | SmartBill | 15 | Biller Tax ID |
15 | transDate | string | ThaiQR, SmartBill | 10 | Transaction date yyyy-MM-dd |
16 | transTime | string | ThaiQR, SmartBill | 8 | Transaction Time HH:mm:ss |
17 | transRef | string | ThaiQR, SmartBill | 20 | |
18 | channel | string | SmartBill | 2 | Channel of service |
19 | termType | string | ThaiQR | 2 |
Terminal Type (Channel) 10 –IVR 20 -KIOSK 30 -ATM 40 -EDC/POS 50 -COUNTER 60 –IBANKING 70 -CDM 80 -MBANKING |
20 | termId | string | SmartBill | 20 | Terminal code |
21 | amount | decimal | ThaiQR, SmartNoti | 18 | Payment amount |
22 | fromBank | string | ThaiQR, SmartNoti | 3 | From bank code. Right-aligned. Left-padded with zeros. |
23 | fromBranch | string | ThaiQR, SmartBill | 6 | From branch code. |
24 | fromName | string | ThaiQR, SmartBill | 50 | Payer name Eng/Thai(UTF-8) |
25 | bankRef | string | ThaiQR, SmartBill | 25 | BBL reference |
26 | approvalCode | string | ThaiQR, SmartBill | 6 | |
27 | txnType | string | SmartBill | 1 | "C”: payment transaction “D”: payment was cancelled/deleted |
28 | retryFlag | string | ThaiQR, SmartBill | 1 | Notification retry flag “Y” for retry/resend message “N” for original message |
Example request
{
"billerId":"123456789012345",
"fromBank":"002",
"fromBranch":"0123",
"amount":"5024.00",
"approvalCode":"123456",
"retryFlag":"N",
"transTime":"14:51:32",
"transDate":"2022-10-19",
"termType":"80",
"txnType":"C",
"fromName":"ITTest",
"reference1":"123456789",
"reference2":"20171106151550",
"reference3":"5555555",
"bankRef":"2022101914273423001321408"
}
Response Header
No. | Parameter | Type | Size | Description | Example/Values |
---|---|---|---|---|---|
1 | Signature | string | 100 | Digital Signature sign with JWT RSA256 detail in Digital Signature Token Structure | eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.e yJib2R5Ijoie1xyXG4gICAgXCJiaWxsZXJJZF wiOiBcIjEyMzQ1Njc4OTAxMjMwMVwiLFx yXG4gICAgXCJ0cmFuc0RhdGVcIjogXCIyM DE4LTAzLTE1XCIsXHJcbiAgICBcInRyYW5z VGltZVwiOiBcIjE1OjIxOjUwXCIsXHJcbiAgI CBcInJlZmVyZW5jZTFcIjogXCI1NTU1NTU 1XCIsIFxyXG4gICAgXCJyZWZlcmVuY2UyX CI6IFwiMjAxNzExMDYxMjI1NTBcIlxyXG5 9IiwiZXhwIjoxNjU3OTA2MDE0LCJpYXQiO jE2NTc4NzcyMTQsImp0aSI6IjA0YWVlNT QyLTg1ZjktNDY5Ny05NGEyLWQ3YTllYTU 2ODJhYyJ9.Lp15SkGlXCxBS3lOn0yDNhKu VZvjeWKcnESFE8v2qO8OZrjkD2Ygdesjc0 MbVFt0qO__MXFXhWfQrps8FKPrZYG0kp HbT6daH7gh-RxRq3NPugEoPcKOJtVZM7 EGsDN_eIMHhMynt4HOVLysnip2R7PP74 NyClTSx4kD6PEUI4pb1hF3Mi0DNwxMd QTcNB9v2SMewQUxB1J2vTgknZ4bpfFIoV BE2bNaFCMY0uu7HRY_CZ1S-ExoXz-ZhlD VosEuwVS_WCvB828jNNJt5_fcn59Wt2Yq OpirCuTwFgscdEfdEh0HEX9BzLCr-SXQGY ax12Km-MI_hEUs2oiIe6sdCImmWUKt-ir 0YxAoVQmla70V-NZ6vqaSnDR1ZcRrSfVA pZx0EXSYudcCGMNDP1IvLkai7QFUB7oY gpK9qEwEL9ewQu-ZOp0gcvnnistD6MWb _LPdWMfpcWvpF5g8ESCF-ggKXy7CBuDp PFxstAuiCB0ufrgwNjOIFuuMNel-oWttyA BJ64Gm38jWU0kqerAOx1gL7TXLjKffg2c1 dPq4ada-2-kYWCAFYYR8kFnhMDOUb98i QWbIpjrW_E17mfQNdZ5GBR1FCbm0VMi d6Tx304-JLauNQnpAfH-7Ypz-itN6Q-iShO 1hB34IO2tAHjdG3xY3A7X9BehzVOyIqvM Xe3w |
Response Body
No. | Parameter | Type | Size | Mandatory | Description | Example/Values |
---|---|---|---|---|---|---|
1 | responseCode | string | 4 | Y | Response Code | 0000 |
2 | responseMsg | string | 100 | Y | Response Message | success |
Example Response
{
"responseMesg":"Success",
"responseCode":"000"
}
Response Code
Status Code | Message Code | Message | Remark |
---|---|---|---|
200 | 052 | Unknown Biller ID | Invalid Biller ID |
401 | - | Unauthorized | Authorization fail. |
200 | 211 | Invalid format Signature | Header in Response not have Signature |
200 | 215 | Invalid Token | Decode payload in JWT token not equal response payload |
200 | 000 | Success | Response success |
200 | 054 | Internal System Unavailable | Response of business backend |
200 | 210 | Time out | Time out |
200 | 211 | Invalid Data | Invalid business data |
200 | 341 | Service Provider not ready | Partner system error |
200 | 888 | Other Error | - |
HTTP Error Response Codes
HTTP Status Code | Response Phrase |
---|---|
200 | Success |
401 | Unauthorized |
403 | Forbidden |
400 | Bad Request |
404 | Resource not found |
429 | Too many requests |
500 | Internal Error |
503/504 | Service Unavailable |