Redirect
ระบบ ePayment เป็นระบบรับชำระแบบง่ายๆ โดยจะมีเว็บเพจสำหรับ เลือกประเภทการรับชำระ
เช่นบัตรเครดิต , ผ่อนชำระผ่านบัตรเครดิต , QR payment , Internet Banking , Bill Payment
เป็นต้น
โดยร้านค้าจะมีหน้าที่ส่งค่าตัวแปรต่างๆ เช่น
มูลค่าสินค้า หมายเลขประจำตัวร้านค้า มาให้เราดำเนินการเท่านั้น
ร้านค้าซึ่งพัฒนาระบบฐานข้อมูลสินค้าและฐานข้อมูลลูกค้าเรียบร้อยแล้ว
สามารถเข้ามาใช้บริการชำระเงินผ่านระบบ ePayment ได้ทันที
พารามิเตอร์ที่ใช้งานในระบบ
พารามิเตอร์ที่ใช้ในการเชื่อมต่อกับระบบ ePayment ประกอบด้วยพารามิเตอร์ 2 ประเภท คือ
“พารามิเตอร์หลัก” ที่ต้องระบุทุกครั้งเพื่อเชื่อมต่อกับระบบ ePayment และ
“พารามิเตอร์เพิ่มเติม”
เพื่อเป็นตัวเสริมให้กับระบบชำระเงินของร้านค้าทำงานได้สะดวกมากยิ่งขึ้น
ซึ่งร้านค้าสามารถเลือกที่จะระบุเพื่อใช้งานพารามิเตอร์เพิ่มเติมนี้หรือไม่ก็ได้
โดยรายละเอียดของพารามิเตอร์ทั้ง 2 ประเภท มีดังต่อไปนี้
พารามิเตอร์ |
ชนิดข้อมูล |
ความยาวสูงสุด |
รายละเอียด |
merchantid |
ตัวเลข |
8 |
หมายเลข Merchant ID |
refno |
ตัวเลข |
12 |
หมายเลขอ้างอิงการสั่งซื้อ |
customeremail |
ตัวอักษร |
100 |
อีเมล์ลูกค้า |
productdetail |
ตัวอักษร |
255 |
รายละเอียดสินค้า |
total |
ตัวเลข |
จำนวนไม่เกิน 9,999,999 |
มูลค่ารวมของสินค้า |
lang (optional) |
ตัวอักษร |
2 |
ภาษา |
cc (optional) |
ตัวอักษร |
2 |
หน่วยสกุลเงิน |
พารามิเตอร์หลัก
ร้านค้าจำเป็นจะต้องส่งพารามิเตอร์หลักทั้งหมด 5 ตัว โดยมีรายละเอียดดังนี้
ด้วยวิธีการส่งแบบ POST มาที่เว็บไซต์
https://www.thaiepay.com/epaylink/payment.aspx
1. merchantid
เป็นหมายเลข Merchant ID ที่ส่งไปให้ร้านค้าทางอีเมล์ในวันลงทะเบียนขอใช้บริการ
พารามิเตอร์นี้มีชนิดข้อมูลเป็นตัวเลข ซึ่งมีความยาวทั้งหมด 8 ตัว
2. refno
เป็นหมายเลขอ้างอิงที่ร้านค้าใช้อ้างอิงรายการสั่งซื้อกับระบบ ePayment
พารามิเตอร์นี้จะต้องเป็นหมายเลขที่ไม่ซ้ำกันในการสั่งซื้อแต่ละครั้ง
ไม่เช่นนั้นจะเกิดการซ้อนทับกันในรายการสั่งซื้อ
พารามิเตอร์นี้มีชนิดข้อมูลเป็นตัวเลขซึ่งมีจำนวนสูงสุดได้ไม่เกิน
12 ตัว
3. customeremail
เป็นอีเมล์ของลูกค้าของร้านค้า ใช้สำหรับให้ระบบส่งอีเมล์ยืนยัน
เมื่อการชำระเงินผ่านบัตรเครดิตผ่านเรียบร้อยแล้ว
พารามิเตอร์นี้มีชนิดข้อมูลเป็นตัวอักษร ซึ่งมีความยาวได้ไม่เกิน 100 ตัวอักษร
4. productdetail
เป็นรายละเอียดสินค้าคร่าวๆ สำหรับสรุปบอกให้ลูกค้าเข้าใจว่า
กำลังจ่ายเงินเพื่อซื้อสินค้าอะไร พารามิเตอร์นี้มีชนิดข้อมูลเป็นตัวอักษร
ซึ่งมีความยาวได้ไม่เกิน 255 ตัวอักษร
* ห้ามใส่อักขระพิเศษ HTML
5. total
เป็นมูลค่ารวมของสินค้า มีชนิดข้อมูลเป็นตัวเลข และสามารถส่งพารามิเตอร์นี้
เป็นจุดทศนิยมได้ ตัวอย่างเช่น 199.50
พารามิเตอร์เพิ่มเติม
“พารามิเตอร์เพิ่มเติม” (Additional Parameter)
เป็นพารามิเตอร์เพื่อเสริมการใช้งาน
ซึ่งร้านค้าสามารถเลือกที่จะกำหนดเพื่อใช้งานหรือไม่กำหนดก็ได้ กล่าวคือ
พารามิเตอร์ประเภทนี้จัดทำขึ้นเพื่อเอื้ออำนวยให้ร้านค้าสามารถใช้งานระบบชำระเงินของตนเองได้อย่างเต็มประสิทธิภาพ
ซึ่งพารามิเตอร์เพิ่มเติมมีดังนี้
1. “Lang คือ language (ภาษา)
พารามิเตอร์นี้ เป็นตัวกำหนดให้เว็บเพจสามารถแสดงผลเป็นภาษาอังกฤษหรือภาษาไทย
ซึ่งตามหลักการแสดงผลนี้จะยึดตามที่ร้านค้ากำหนดเอาไว้ก่อนแล้วในส่วนของระบบ Admin
แต่หากมีการส่งพารามิเตอร์ lang เข้ามาภายหลังระบบจะเปลี่ยนการแสดงผลใหม่ทันที lang =
“TH” แสดงผลเป็นภาษาไทย หรือ lang = “EN”
แสดงผลเป็นภาษาอังกฤษสาเหตุที่สร้างพารามิเตอร์นี้ขึ้น
เพราะบางร้านค้าจะมีเว็บไซต์ที่สามารถแสดงผลได้ทั้งภาษาไทยและภาษาอังกฤษ
จึงสร้างพารามิเตอร์นี้ขึ้นเพื่อช่วยอำนวยความสะดวกให้แก่ร้านค้า
ทำให้ร้านค้าสามารถกำหนดพารามิเตอร์เพิ่มเติมได้เอง ว่าต้องการแสดงผลเป็นภาษาใดเมื่อใด
2. “Cc คือ currency code (หน่วยสกุลเงิน)
เป็นตัวกำหนดหน่วยของสกุลเงิน ซึ่งก็เป็นลักษณะเดียวกับเรื่องภาษาในข้อ 1
ร้านค้าจะกำหนดหน่วยสกุลเงินในระบบ admin เอาไว้เป็นหลักอยู่ก่อนแล้ว
แต่ถ้ามีการส่งพารามิเตอร์ cc เข้ามาภายหลัง ระบบจะเปลี่ยนหน่วยสกุลเงินใหม่ให้ทันที
เหตุผลก็คล้ายกับข้อ 1 คือ ร้านค้าบางร้านมีสินค้าที่หลากหลายในหน่วยของสกุลเงิน
พารามิเตอร์นี้จะทำให้ร้านค้าสามารถปรับหน่วยสกุลเงินได้ตามความต้องการ
CC |
หน่วยสกุลเงิน |
"00" |
บาท |
"01" |
USD |
"02" |
Yen |
"03" |
Singapore Dollar |
"04" |
Hongkong Dollar |
"05" |
Eur Dollar |
"06" |
GBP (Pound |
"07" |
Australian Dollar |
"08" |
Swiss Franc |
ตัวอย่างโค้ด HTML สำหรับส่งค่าเข้าระบบ
ด้านล่างนี้เป็นตัวอย่างโค้ด HTML ที่เขียนขึ้นเพื่อใช้ทดสอบการส่งค่า (พารามิเตอร์)
ไปยังระบบ ePayment หากร้านค้าต้องการใช้งานโค้ดนี้ โปรดใส่พารามิเตอร์ merchantid และ
customeremail ของตัวเองลงไปแล้วจึงค่อยดำเนินการทดสอบ
<html>
<head>
<title>EPAYLINK Testing</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="https://www.thaiepay.com/epaylink/payment.aspx">
<input type="hidden" name="refno" value="999999999999">
<input type="hidden" name="merchantid" value="12345678">
<input type="hidden" name="customeremail" value="test@email.com">
<input type="hidden" name="cc" value="00">
<input type="hidden" name="productdetail" value="Testing Product">
<input type="hidden" name="total" value="400">
<br>
<input type="submit" name="Submit" value="Confirm Order">
</form>
</body>
</html>
<html>
<head>
<title>EPAYLINK Testing</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="https://www.thaiepay.com/epaylink/payment.aspx">
<input type="hidden" name="refno" value="999999999999">
<input type="hidden" name="merchantid" value="12345678">
<input type="hidden" name="customeremail" value="test@email.com">
<input type="hidden" name="cc" value="00">
<input type="hidden" name="productdetail" value="Testing Product">
<input type="hidden" name="total" value="400">
<br>
<input type="submit" name="Submit" value="Confirm Order">
</form>
</body>
</html>
ข้อมูลบัตรเครดิตสำหรับการทดสอบ การชำระเงิน
Credit Card Number (VISA): 4311151009999993
(Available for Demo Account Only)
CVV: 180
Expiry Data: 12/25
Credit Card Issuer: United Overseas Bank (Thai)
Public Company Limited
Inquiry API
ร้านค้าต้องส่งค่า Parameter มาดังนี้
- apikey :
ติดต่อเจ้าหน้าที่เพื่อขอ apikey
- secretkey :
ติดต่อเจ้าหน้าที่เพื่อขอ secretkey
- merchantID :
เลข 5 หลักสุดท้ายของ MerchantID 12345678
curl -X POST -d '{"merchantId":"45678","orderNo":"x","refNo":"x","productDetail":"product Detail"}' \
-H 'merchantId: 45678' \
-H 'merchantSecretKey: merchant_secret_key' \
-H 'Content-Type: application/json' \
--header 'apikey: merchant_api_key' \
'https://apis.paysolutions.asia/order/orderdetailpost'
curl -X POST -d '{"merchantId":"45678","orderNo":"x","refNo":"x","productDetail":"product Detail"}' \
-H 'merchantId: 45678' \
-H 'merchantSecretKey: merchant_secret_key' \
-H 'Content-Type: application/json' \
--header 'apikey: merchant_api_key' \
'https://apis.paysolutions.asia/order/orderdetailpost'
พารามิเตอร์ |
ชนิดข้อมูล |
รายละเอียด |
merchantID |
ตัวเลข |
เลข 5 หลักสุดท้ายของ Merchant Id |
orderNo |
ตัวเลข |
ค่าเริ่มต้น 'x' หรือ Order No |
refno |
ตัวเลข |
ค่าเริ่มต้น 'x' หรือ Ref. No |
productDetail |
ตัวอักษร |
ค่าเริ่มต้น 'QWERTY' หรือ รายละเอียดของ Product Detail ที่ต้องการค้นหา |
ระบบจะตอบกลับ เป็น JSON โดยมีค่าดังนี้
[
{
"ReferenceNo": "869331151059"
"OrderNo": "012345666"
"MerchantID": "99999999"
"ProductDetail": "Some Product Dtail"
"Total": 3900.0
"CardType": "V"
"CustomerEmal": "some_customer@mail.com"
"CurrencyCode": "OO"
"Status": "CP"
"StatusName": "COMPLETE"
"PostBackUrl": "https://someweb.com?postback=1"
"PostBackParameters": "COMPLETED"
"PostBackMethod": "P"
"PostBackCompleted": "true"
"OrderDateTime": "2020-10-05T03:48:11.990+00:00"
"installment": null
}
]
[
{
"ReferenceNo": "869331151059"
"OrderNo": "012345666"
"MerchantID": "99999999"
"ProductDetail": "Some Product Dtail"
"Total": 3900.0
"CardType": "V"
"CustomerEmal": "some_customer@mail.com"
"CurrencyCode": "OO"
"Status": "CP"
"StatusName": "COMPLETE"
"PostBackUrl": "https://someweb.com?postback=1"
"PostBackParameters": "COMPLETED"
"PostBackMethod": "P"
"PostBackCompleted": "true"
"OrderDateTime": "2020-10-05T03:48:11.990+00:00"
"installment": null
}
]
ระบบตัดชำระอัตโนมัติ (Recurring)
สำหรับร้านค้าที่มีการเรียกเก็บเงินลูกค้าเป็นจำนวนเท่าๆ กันทุกเดือน
สามารถใช้งานระบบตัดเงินอัตโนมัติที่เรียกเก็บจากลูกค้าเป็นประจำโดยการตัดเงินจากบัตรเครดิตหรือเดบิตตามที่กำหนดเพื่อให้การใช้สินค้าหรือบริการเป็นไปอย่างต่อเนื่อง
สามารถดาวน์โหลดคู่มื่อได้ที่นี่
ระบบจดจำบัตรเครดิต (Tokenizer)
สำหรับร้านค้าที่มีระบบสมาชิก และ
ต้องการใช้งานระบบจดจำบัตรเครดิตเพื่อความสะดวกในการใช้งานของลูกค้าในครั้งถัดไป
เรามีบริการระบบจดจำบัตรเครดิต โดย ร้านค้าต้องส่ง Parameter เพิ่มเติมมาดังนี้
1. สำหรับลูกค้าที่ยังไม่เคยใช้งานระบบจดจำบัตรเครดิตมาก่อน
พารามิเตอร์ |
ชนิดข้อมูล |
ความยาวสูงสุด |
รายละเอียด |
customerref |
ตัวอักษร และตัวเลข |
10 |
หมายเลขอ้างอิงสมาชิกของร้านค้า |
ตัวอย่างโค้ด HTML สำหรับส่งค่าเข้าระบบ
ด้านล่างนี้เป็นตัวอย่างโค้ด HTML ที่เขียนขึ้นเพื่อใช้ทดสอบการส่งค่า (พารามิเตอร์)
ไปยังระบบ ePayment หากร้านค้าต้องการใช้งานโค้ดนี้ โปรดใส่พารามิเตอร์ merchantid และ
customeremail ของตัวเองลงไปแล้วจึงค่อยดำเนินการทดสอบ
<html>
<head>
<title>TOKENIZER Testing</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="https://www.thaiepay.com/epaylink/payment.aspx">
<input type="hidden" name="refno" value="123456789012">
<input type="hidden" name="merchantid" value="12345678">
<input type="hidden" name="customeremail" value="test@email.com">
<input type="hidden" name="cc" value="00">
<input type="hidden" name="productdetail" value="Testing Product">
<input type="hidden" name="total" value="400">
<input type="hidden" name="customerref" value="1234567890">
<br>
<input type="submit" name="Submit" value="Confirm Order">
</form>
</body>
</html>
<html>
<head>
<title>EPAYLINK Testing</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="https://www.thaiepay.com/epaylink/payment.aspx">
<input type="hidden" name="refno" value="123456789012">
<input type="hidden" name="merchantid" value="12345678">
<input type="hidden" name="customeremail" value="test@email.com">
<input type="hidden" name="cc" value="00">
<input type="hidden" name="productdetail" value="Testing Product">
<input type="hidden" name="total" value="400">
<input type="hidden" name="customerref" value="1234567890">
<br>
<input type="submit" name="Submit" value="Confirm Order">
</form>
</body>
</html>
เมื่อลูกค้าเลือกชำระเงินด้วยบัตรเครดิตหน้าจอจะปรากฏ check box
บันทึกข้อมูลข้อมูลบัตรเครดิตให้ลูกค้าเลือก
เมื่อลูกค้าเลือกจดจำข้อมูลบัตรก็ระบบจะจดจำไว้ให้ร้านค้าสามารถส่งข้อมูลมาเพื่อเรียกใช้ได้ในครั้งถัดไป
2. ข้อมูลลูกค้าที่เคยจดจำบัตรเครดิตไว้แล้ว
หากลูกค้าทำการจดจำบัตรเครดิตในระบบไว้แล้ว ร้านค้าสามารถดึงข้อมูลของลูกค้าได้โดยเรียกใช้ API
ดังตัวอย่าง
- apikey :
ติดต่อเจ้าหน้าที่เพื่อขอ apikey
- secretkey :
ติดต่อเจ้าหน้าที่เพื่อขอ secretkey
- merchantID :
เลข 5 หลักสุดท้ายของ MerchantID 12345678
- customerRef :
หมายเลขอ้างอิงสมาชิกของร้านค้า
curl --location --request POST 'https://apis.paysolutions.asia/tokenizer/getCustomerToken' \
-H 'Content-Type: application/json' \
-H 'apikey: xxxxxxx' \
-H 'secretkey: xxxxxxx' \
-d '{"merchantID":"45678","customerRef":"202101201"}'
curl --location --request POST 'https://apis.paysolutions.asia/tokenizer/getCustomerToken' \
-H 'Content-Type: application/json' \
-H 'apikey: xxxxxxx' \
-H 'secretkey: xxxxxxx' \
-d '{"merchantID":"45678","customerRef":"202101201"}'
ระบบจะตอบกลับ เป็น JSON โดยมีค่าดังนี้
{
"status": 200
"message": "Complete"
"data":
"S2O1eaewrasdlkfnwovh0_23y_wlenf1owneQHewonvoryeryix
GxwJuxjpoawenovpa_awienfo120_owenfo28qlncwyweryewyr"
"card": [{ "id" : "1" , "card_tye" : "M" , "card_no" : "xxxx-xxxx-5678" },
{ "id" : "2" , "card_tye" : "V" , "card_no" : "xxxx-xxxx-1234" }]
}
{
"status": 200
"message": "Complete"
"data":
"S2O1eaewrasdlkfnwovh0_23y_wlenf1owneQHewonvoryeryix
GxwJuxjpoawenovpa_awienfo120_owenfo28qlncwyweryewyr"
"card": [{ "id" : "1" , "card_tye" : "M" , "card_no" : "xxxx-xxxx-5678" },
{ "id" : "2" , "card_tye" : "V" , "card_no" : "xxxx-xxxx-1234" }]
}
2.1 ร้านค้าจดจำบัตรเครดิต
การจดจำบัตรเครดิตไว้แล้วร้านค้าต้องส่งค่า Parameter มาดังนี้
พารามิเตอร์ |
ชนิดข้อมูล |
ความยาวสูงสุด |
รายละเอียด |
customerref |
ตัวอักษร และตัวเลข |
10 |
หมายเลขอ้างอิงสมาชิกของร้านค้า |
customertoken |
ตัวอักษร |
1024 |
เลข Token นะตำตัวของลูกค้าที่ได้ทำการจดจำบัตรเครดิตไว้แล้ว |
ตัวอย่างโค้ด HTML สำหรับส่งค่าเข้าระบบ
<html>
<head>
<title>EPAYLINK Testing</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="https://www.thaiepay.com/epaylink/payment.aspx">
<input type="hidden" name="refno" value="123456789012">
<input type="hidden" name="merchantid" value="12345678">
<input type="hidden" name="customeremail" value="test@email.com">
<input type="hidden" name="cc" value="00">
<input type="hidden" name="productdetail" value="Testing Product">
<input type="hidden" name="total" value="400">
<input type="hidden" name="customerref" value="1234567890">
<input type="hidden" name="customertoken" value="INvowLHVowovoslUE
wobvow8923kjbwknvowLBWEOVow_wkejbf_woenfo123wleosweoiOWNVO_
9vawoeOWONVO_lwenfPIwqon_wlr124lsd_g84p0URnhgowowobn49woowob_">
<br>
<input type="submit" name="Submit" value="Confirm Order">
</form>
</body>
</html>
<html>
<head>
<title>EPAYLINK Testing</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form method="post" action="https://www.thaiepay.com/epaylink/payment.aspx">
<input type="hidden" name="refno" value="123456789012">
<input type="hidden" name="merchantid" value="12345678">
<input type="hidden" name="customeremail" value="test@email.com">
<input type="hidden" name="cc" value="00">
<input type="hidden" name="productdetail" value="Testing Product">
<input type="hidden" name="total" value="400">
<input type="hidden" name="customerref" value="1234567890">
<input type="hidden" name="customertoken" value="INvowLHVowovoslUE
wobvow8923kjbwknvowLBWEOVow_wkejbf_woenfo123wleosweoiOWNVO_
9vawoeOWONVO_lwenfPIwqon_wlr124lsd_g84p0URnhgowowobn49woowob_">
<br>
<input type="submit" name="Submit" value="Confirm Order">
</form>
</body>
</html>
เมื่อลูกค้าทำการชำระเงินระบบจะแสดง
บัตรเครดิตที่ลูกค้าเคยจดจำไว้เพื่อให้ลูกค้าเลือกในการชำระ
3. ลูกค้าที่เคยจดจำบัตรเครดิตไว้แล้ว
และต้องการจะยกเลิกการจดจำบัตรร้านค้าจะต้องเรียก API เพื่อยกเลิกโดยส่งข้อมูลมา ดังนี้
โดยค่าที่ต้องส่งมาคือ
- apikey :
ติดต่อเจ้าหน้าที่เพื่อขอ apikey
- secretkey :
ติดต่อเจ้าหน้าที่เพื่อขอ secretkey
- merchantID :
เลข 5 หลักสุดท้ายของ MerchantID 12345678
- customerRef :
หมายเลขอ้างอิงสมาชิกของร้านค้า
curl -i -X POST 'https://apis.paysolutions.asia/tokenizer/removeCustomerCard' \
-H 'Content-Type: application/json' \
-H 'apikey: xxxxxxx' \
-H 'secretkey: xxxxxxx' \
-d '{"merchantID":"45678","customerRef":"202101201","customerToken":"xxxxxxx","cardID":"1"}'
curl -i -X POST 'https://apis.paysolutions.asia/tokenizer/removeCustomerCard' \
-H 'Content-Type: application/json' \
-H 'apikey: xxxxxxx' \
-H 'secretkey: xxxxxxx' \
-d '{"merchantID":"45678","customerRef":"202101201","customerToken":"xxxxxxx","cardID":"1"}'
ระบบจะตอบกลับ เป็น JSON โดยมีค่าดังนี้
{
"status": 200
"message": "Complete"
"card_no": "xxxx-xxxx-5678"
}
{
"status": 200
"message": "Complete"
"card_no": "xxxx-xxxx-5678"
}
การสร้างลิงก์ปลอดภัยเพื่อเชื่อมต่อผ่าน API (Secure Link API)
ระบบของ Pay Solutions สามารถรองรับให้ออกแบบการเชื่อมต่อ API เป็นลิงก์ปลอดภัยในการเชื่อมต่อ
ทั้งนี้
ทีมงานพัฒนาระบบของเราพร้อมที่จะพูดคุยปรึกษาเพื่อสนับสนุนการเชื่อมต่อระบบรับชำระเงินอัตโนมัติของร้านค้าให้เป็นไปอย่างมีประสิทธิภาพ
ปลั๊กอิน และโมดูล