คู่มือการพัฒนาเพื่อใช้งาน e-Payment ธนาคารกรุงไทย
ขั้นตอนการพัฒนา
-
ลงทะเบียนใช้งาน API กับ สพร. โดย สพร จะส่ง Consumer-Key และข้อมูลสำหรับทดสอบการเรียก API ให้หน่วยงาน
-
ทดสอบและพัฒนาระบบ โดยเรียก API
- API ขอ Token
- API สร้าง Payment Transaction
- API ปิด Payment Transaction
- API Void Payment (เฉพาะช่องทาง Fastpay)
- API ตรวจสอบสถานะการชำระเงิน
- API รับสถานะตอบกลับการชำระเงิน (Callback Status)
2 API ขอ Token
การเรียกใช้งานข้อมูลผ่าน Government API มี 2 ขั้นตอน ตัวอย่าง Source Code ดังนี้ [คลิกเพื่อดูรายละเอียด]
API | https://api.egov.go.th/ws/auth/validate |
---|---|
Method | GET |
Query String
Query String Parameters
รายการข้อมูล | รายละเอียด |
---|---|
ConsumerSecret | เช่น ConsumerSecret=xxxxxxxxxxxxxx |
AgentID | เลขประจำตัวประชาชน 13 หลัก เช่น AgentID=1234567890123 กรณีเรียก API Personal Signing ต้องกำหนด AgentID เป็นเลขประจำตัวประชาชนของผู้เซ็นเอกสารเท่านั้น |
Request Header
รายการข้อมูล | รายละเอียด |
---|---|
Consumer-Key | Consumer-Key ที่ได้ลงทะเบียนกับ สพร. (ระบบส่งให้ทาง e-Mail ที่ลงทะเบียนไว้) |
Response
Response Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Result | Token String สำหรับใช้ในการเรียก API ต่างๆ (กรณีขอ Token ไม่สำเร็จ หรือ error อื่นๆ ให้ทำการเรียก API ใหม่อีกครั้ง จนกว่าจะได้ Token ไปใช้เรียกเรียกร่วมกับ API อื่นๆ) |
ตัวอย่างการเรียกใช้งาน
3 API สร้าง Payment Transaction
API [Production] | https://api.egov.go.th/ws/dga/payment/create |
---|---|
API [UAT] | https://api.egov.go.th/ws/dga/uat/payment/create |
API [Test] | https://api.egov.go.th/ws/dga/dev/payment/create |
Method | POST |
Request Header
รายการข้อมูล | รายละเอียด |
---|---|
Consumer-Key | Consumer-Key ที่ได้ลงทะเบียนกับ สพร. (ระบบส่งให้ทาง e-Mail ที่ลงทะเบียนไว้) |
Token | Token String ที่ได้จากการ API ขอ Token |
Content-Type | กำหนดค่าดังนี้ : application/json |
Request Body
Request Body Parameters
รายการข้อมูล | รายละเอียด |
---|---|
CustomerID | เลขบัตรประชาชน, นิติบุคคล, HN, หรือเลขอื่นๆที่ใช้สำหรับระบุตัวตนของผู้ทำการชำระเงิน |
CustomerTitleName | คำนำหน้าชื่อ เช่น นาย, นาง, นางสาว เป็นต้น |
CustomerFirstName | ชื่อ |
CustomerMiddleName | ชื่อกลาง (ถ้ามี) |
CustomerLastName | นามสกุล |
BankCode | รหัสธนาคาร ในกรณีนี้กำหนดเป็น KTB เสมอ |
PaymentType | ช่องทางการชำระเงิน FastPay หรือ QRPayment |
Amount | ยอดชำระ เช่น 1000 |
RequestReference1 | รหัสอ้างอิงการชำระเงินของระบบต้นทาง 1 |
RequestReference2 | รหัสอ้างอิงการชำระเงินของระบบต้นทาง 2 |
RequestReference3 | รหัสอ้างอิงการชำระเงินของระบบต้นทาง 3 |
Source | รหัสต้นทาง (DGA จะเป็นผู้กำหนดให้) |
Data | ข้อมูลอื่นๆสำหรับการยืนยันการชำระเงินของระบบต้นทาง (ถ้ามี และต้องทำการตกลงรูปแบบการส่งกับทาง DGA ก่อน) |
Response
Response Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Status | สถานะการเรียกใช้งาน service (ดูสถานะทั้งหมดที่ Appendix : ResponseStatusEnum คลิก) |
ErrorCode | Error code ถ้าหากเรียกสำเร็จ (Success) จะเป็น null (ดูสถานะทั้งหมดที่ Appendix : ErrorCodeEnum คลิก) |
Message | คำอธิบายสถานะการเรียกใช้งาน service |
OrderRef | รหัสอ้างอิงการชำระเงิน 1 |
OrderRef1 | รหัสอ้างอิงการชำระเงิน 2 |
OrderRef2 | รหัสอ้างอิงการชำระเงิน 3 |
Amount | ยอดชำระ |
MerchantId | หมายเลขร้านค้าที่ลงทะเบียนไว้กับ KTB |
CurrCode | รหัสสกุลเงิน (764 = THB, 840 = USD) |
Lang | รหัสภาษา (T = ภาษาไทย, E = ภาษาอังกฤษ) |
PayType | รูปแบบการชำระเงิน (N = ชำระเงินปกติ, H = ชะลอการชำระเงิน) |
PayMethod | ช่องทางการชำระเงิน (CC = เครดิต/เดบิต, QR = คิวอาร์โค้ด) |
SecurityKey | รหัสความปลอดภัยที่ใช้สำหรับยืนยันการชำระเงินกับทาง KTB GateWay |
GatewayUrl | ที่อยู่ของหน้าเว็บ (Url) KTB Gateway |
SuccessUrl | ที่อยู่ของหน้าเว็บที่ต้องการให้ Browser ชี้ไป (Redirect) ในกรณีชำระเงินสำเร็จ |
FailUrl | ที่อยู่ของหน้าเว็บที่ต้องการให้ Browser ชี้ไป (Redirect) ในกรณีชำระเงินไม่สำเร็จ |
CancelUrl | ที่อยู่ของหน้าเว็บที่ต้องการให้ Browser ชี้ไป (Redirect) ในกรณีผู้ใช้งานยกเลิกการชำระเงิน |
ตัวอย่างการเรียกใช้งาน
4 API ปิด Payment Transaction
API [Production] | https://api.egov.go.th/ws/dga/uat/payment/close |
---|---|
API [UAT] | https://api.egov.go.th/ws/dga/uat/payment/close |
API [Test] | https://api.egov.go.th/ws/dga/dev/payment/close |
Method | POST |
Request Header
รายการข้อมูล | รายละเอียด |
---|---|
Consumer-Key | Consumer-Key ที่ได้ลงทะเบียนกับ สพร. (ระบบส่งให้ทาง e-Mail ที่ลงทะเบียนไว้) |
Token | Token String ที่ได้จากการ API ขอ Token |
Content-Type | กำหนดค่าดังนี้ : application/json |
Request Body
Request Body Parameters
| รายการข้อมูล | รายละเอียด | | | Reference1 | รหัสอ้างอิงการชำระเงิน 1 | Required | | Reference2 | รหัสอ้างอิงการชำระเงิน 2 | Required |
Response
Response Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Status | สถานะการเรียกใช้งาน service (ดูสถานะทั้งหมดที่ Appendix : ResponseStatusEnum คลิก) |
ErrorCode | Error code ถ้าหากเรียกสำเร็จ (Success) จะเป็น null (ดูสถานะทั้งหมดที่ Appendix : ErrorCodeEnum คลิก) |
Message | คำอธิบายสถานะการเรียกใช้งาน service |
Data | ข้อมูลเพิ่มเติม (ถ้าไม่มีจะเป็น null) |
ตัวอย่างการเรียกใช้งาน
5 API Void Payment (เฉพาะช่องทาง FastPay)
API [Production] | https://api.egov.go.th/ws/dga/payment/void |
---|---|
API [UAT] | https://api.egov.go.th/ws/dga/uat/payment/void |
API [Test] | https://api.egov.go.th/ws/dga/dev/payment/void |
Method | POST |
Request Header
รายการข้อมูล | รายละเอียด |
---|---|
Consumer-Key | Consumer-Key ที่ได้ลงทะเบียนกับ สพร. (ระบบส่งให้ทาง e-Mail ที่ลงทะเบียนไว้) |
Token | Token String ที่ได้จากการ API ขอ Token |
Content-Type | กำหนดค่าดังนี้ : application/json |
Request Body
Request Body Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Reference1 | รหัสอ้างอิงการชำระเงิน 1 |
Reference2 | รหัสอ้างอิงการชำระเงิน 2 |
PaymentReference | รหัสอ้างอิงที่ได้หลังจากการชำระเงิน |
Response
Response Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Status | สถานะการเรียกใช้งาน service (ดูสถานะทั้งหมดที่ Appendix : ResponseStatusEnum คลิก) |
ErrorCode | Error code ถ้าหากเรียกสำเร็จ (Success) จะเป็น null (ดูสถานะทั้งหมดที่ Appendix : ErrorCodeEnum คลิก) |
Message | คำอธิบายสถานะการเรียกใช้งาน service |
Data | ข้อมูลเพิ่มเติม (ถ้าไม่มีจะเป็น null) |
ตัวอย่างการเรียกใช้งาน
6 API ตรวจสอบสถานะการชำระเงิน
API [Production] | https://api.egov.go.th/ws/dga/payment/status |
---|---|
API [UAT] | https://api.egov.go.th/ws/dga/uat/payment/status |
API [Test] | https://api.egov.go.th/ws/dga/dev/payment/status |
Method | GET |
Request Header
รายการข้อมูล | รายละเอียด |
---|---|
Consumer-Key | Consumer-Key ที่ได้ลงทะเบียนกับ สพร. (ระบบส่งให้ทาง e-Mail ที่ลงทะเบียนไว้) |
Token | Token String ที่ได้จากการ API ขอ Token |
Content-Type | กำหนดค่าดังนี้ : application/json |
Query String
Query String Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Reference1 | รหัสอ้างอิงการชำระเงิน 1 |
Reference2 | รหัสอ้างอิงการชำระเงิน 2 |
Response
Response Parameters
รายการข้อมูล | รายละเอียด |
---|---|
Status | สถานะการเรียกใช้งาน service (ดูสถานะทั้งหมดที่ Appendix : ResponseStatusEnum คลิก) |
ErrorCode | Error code ถ้าหากเรียกสำเร็จ (Success) จะเป็น null (ดูสถานะทั้งหมดที่ Appendix : ErrorCodeEnum คลิก) |
Message | คำอธิบายสถานะการเรียกใช้งาน service |
PaidStatus | สถานะการชำระเงิน |
Description | คำอธิบายสถานะการชำระเงิน |
PaidDate | วันที่ชำระเงิน (รูปแบบวันที่ : yyyy-MM-ddTHH:mm:ss ) |
PaidChannel | ช่องทางการชำระเงิน |
ConfirmPaidDate | วันที่ยืนยันการรับชำระเงิน |
RefId | รหัสอ้างอิงที่ได้รับหลังจากการชำระเงิน |
Ref1 | รหัสอ้างอิงการชำระเงิน 1 |
Ref2 | รหัสอ้างอิงการชำระเงิน 2 |
CardNo | หมายเลขบัตรเครดิต/เดบิท (เฉพาะช่องทาง Fastpay) |
PaymentType | ช่องทางการชำระเงิน |
Amount | ยอดชำระ |
FeeAmount | ค่าธรรมเนียมการชำระเงิน |
VoidDate | วันที่ยกเลิกการชำระเงิน (เฉพาะช่องทาง Fastpay) |
requestRefundDate | วันที่ทำการขอคืนเงิน (เฉพาะช่องทาง Fastpay) |
ตัวอย่างการเรียกใช้งาน
7 API รับสถานะตอบกลับการชำระเงิน (Callback Status)
หน่วยงานจะต้องทำ API เพื่อรับ Callback Status จากทาง DGA ซึ่งหลังจากผู้ใช้งานทำการชำระเงินแล้ว ทาง DGA จะทำการส่งสถานะกลับไปให้โดยอัตโนมัติตาม API ที่หน่วยงานระบุ ด้วย Request รายละเอียดดังนี้
API [Production] | หน่วยงานต้องระบุและแจ้งกลับมาที่ DGA ก่อนทำการใช้งาน |
---|---|
API [UAT] | หน่วยงานต้องระบุและแจ้งกลับมาที่ DGA ก่อนทำการใช้งาน |
API [Test] | หน่วยงานต้องระบุและแจ้งกลับมาที่ DGA ก่อนทำการใช้งาน |
Method | POST |
Request Body
Request Body Parameters
รายการข้อมูล | รายละเอียด |
---|---|
PaidStatus | สถานะการชำระเงิน (ดูสถานะทั้งหมดที่ Appendix : PaymentTransactionStatusEnum คลิก) |
Description | คำอธิบายสถานะการชำระเงิน |
PaidDate | วันที่ชำระเงิน (รูปแบบวันที่ : yyyy-MM-ddTHH:mm:ss ) เช่น 2023-01-31T10:00:00 |
PaidChannel | ช่องทางการชำระเงิน |
ConfirmPaidDate | วันที่ยืนยันการรับชำระเงิน (รูปแบบวันที่ : yyyy-MM-ddTHH:mm:ss ) เช่น 2023-01-31T10:00:00 |
RefId | รหัสอ้างอิงที่ได้หลังจากการชำระเงิน |
Ref1 | รหัสอ้างอิงการชำระเงิน 1 |
Ref2 | รหัสอ้างอิงการชำระเงิน 2 |
CardNo | หมายเลขบัตรเครดิต/เดบิท |
PaymentType | ช่องทางการชำระเงิน (ดูสถานะทั้งหมดที่ Appendix : PaymentTypeEnum คลิก) |
Amount | ยอดชำระ |
FeeAmount | ค่าธรรมเนียมการชำระเงิน |
VoidDate | วันที่ยกเลิกการชำระเงิน (รูปแบบวันที่ : yyyy-MM-ddTHH:mm:ss ) เช่น 2023-01-31T10:00:00 |
RequestRefundDate | วันที่ทำการขอคืนเงิน (รูปแบบวันที่ : yyyy-MM-ddTHH:mm:ss ) เช่น 2023-01-31T10:00:00 |
Response
Response Parameters
รายการข้อมูล | รายละเอียด |
---|---|
requestTimeStamp | เวลาที่ทำการ response สถานะ (timestamp) |
Message | คำอธิบายสถานะการ response status |
Result | หากหน่วยงานได้รับ Callback Status สำเร็จให้ทำการตอบกลับมาเป็น “true” หากไม่สำเร็จ ให้ตอบกลับมาเป็น “false” |
ตัวอย่างการเรียกใช้งาน
Response
8 Appendix
ข้อมูล Enumeration Type