บริการชำระค่าสินค้าและบริการ

บริการรับชำระค่าสินค้าและบริการ โดยแจ้งผลยืนยันการรับชำระเงินทันทีในรูปแบบ 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]

Smart bill payment notification

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