Transaction

Search Payment Transaction

Service Name:Search Payment Transaction
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/payment/search
[PROD] https://api-transaction.chillpay.co/api/v1/payment/search
Method:POST
Description:เป็นเซอร์วิสในการค้นหารายการชำระเงิน (Payment Transactions)
– ร้านค้าหลักสามารถค้นหาข้อมูลของร้านค้าย่อยได้
– ร้านค้าย่อยสามารถค้นหาได้เฉพาะร้านค้าตนเองเท่านั้น

ตารางที่ 1.1 Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 1.2 Request Body Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1OrderByString20Oเรียงตามคอลัมน์- TransactionId- TransactionDate- Merchant- Customer- OrderNo- PaymentChannel- PaymentDate- Amount- Fee- Discount- TotalAmount- RouteNo- Status- Settled* หากไม่ได้ส่งมาค่าเริ่มต้นคือ ” TransactionId”
2OrderDirString4OการเรียงลำดับASC : เรียงจากน้อยไปมากDESC : เรียงจากมากไปน้อย* หากไม่ได้ส่งมาค่าเริ่มต้นคือ DESC
3PageSizeNumberOจำนวนรายการต่อหน้า (1-100)* หากไม่ได้ส่งมาค่าเริ่มต้นคือ 10
4PageNumberNumberOเลขหน้า* หากไม่ได้ส่งมาค่าเริ่มต้นคือ 1
5SearchKeywordString255Oคำหรือข้อความที่ต้องการค้นหา
6MerchantCodeString15Oรหัสร้านค้าที่ต้องการค้นหา* หากไม่ได้ส่งมาค่าเริ่มต้นคือ ร้านค้าทั้งหมด
7PaymentChannelString30Oช่องทางการชำระเงิน ภาคผนวก ข.
8RouteNoNumberOเส้นทางชำระเงิน
9OrderNoString20Oเลขที่อ้างอิงรายการของทางร้านค้า
10StatusString20Oสถานะการชำระเงิน ภาคผนวก ก.
11TransactionDateFromString19Oวันที่ทำรายการ (จาก) [dd/MM/yyyy HH:mm:ss]
12TransactionDateToString19Oวันที่ทำรายการ (ถึง) [dd/MM/yyyy HH:mm:ss]
13PaymentDateFromString19Oวันที่ชำระเงิน (จาก) [dd/MM/yyyy HH:mm:ss]
14PaymentDateToString19Oวันที่ชำระเงิน (ถึง) [dd/MM/yyyy HH:mm:ss]
15ChecksumString32Mผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส

ตัวอย่าง การเรียก Request Search Payment Transaction (Code ภาษา C# .NET)

var client = new RestClient("https://api-transaction.chillpay.co/api/v1/payment/search");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""OrderBy"": ""TransactionId"", ""OrderDir"": ""DESC"", ""PageSize"": null, ""PageNumber"": null, ""SearchKeyword"": null, ""MerchantCode"": null, ""PaymentChannel"": ""Credit Card"", ""RouteNo"": null, ""OrderNo"": null, ""Status"": null, ""TransactionDateFrom"": ""01/02/2021 00:00:00"", ""TransactionDateTo"": null, ""PaymentDateFrom"": null, ""PaymentDateTo"": null, ""Checksum"": ""c3b4619ec90e3d8c09da69262e398d7e""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ตามตารางที่ 1.2 (ข้อ 1-14) มาเรียงต่อกัน แล้วต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • OrderBy + OrderDir + PageSize + PageNumber + SearchKeyword + MerchantCode + PaymentChannel + RouteNo + OrderNo + Status + TransactionDateFrom + TransactionDateTo + PaymentDateFrom + PaymentDateTo + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5TransactionIdDESCCredit
  • Card01/02/2021 00:00:00AAABBBCCCDDD

ตารางที่ 1.3 Response Message Parameters

No.Parameters NameData TypeDescription
1totalRecordNumberจำนวนรายการทั้งหมด
2pageSizeNumberจำนวนรายการต่อหน้า
3pageNumberNumberเลขหน้า
4filteredRecordNumberจำนวนรายการในหน้าปัจจุบัน
5statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
6messageStringคำอธิบายสถานะการทำรายการ
7data[].transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
8data[].transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
9data[].merchantStringชื่อร้านค้า
10data[].customerStringรหัสอ้างอิงหรือชื่อลูกค้า
11data[].orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
12data[].paymentChannelStringช่องทางการชำระเงิน
13data[].paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
14data[].amountStringค่าสินค้าหรือบริการ [#,##0.00]
15data[].feeStringค่าธรรมเนียม [#,##0.00]
16data[].discountStringส่วนลด [#,##0.00]
17data[].totalAmountStringราคารวม [#,##0.00]
18data[].currencyStringสกุลเงิน
19data[].routeNoNumberเส้นทางชำระเงิน
20data[].statusStringสถานะการชำระเงิน
21data[].settledBooleanสถานะการโอนเงินให้ร้านค้า [True, False]

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "totalRecord": 264,
    "pageSize": 10,
    "pageNumber": 1,
    "filteredRecord": 10,
    "status": 200,
    "message": "Success",
    "data": [
        {
            "transactionId": 115309,
            "transactionDate": "03/03/2022 15:27:53",
            "merchant": "Bank Industries",
            "customer": "AA",
            "orderNo": "O1",
            "paymentChannel": "Credit Card",
            "paymentDate": "03/03/2022 15:28:11",
            "amount": "5,000.00",
            "fee": "15.00",
            "discount": "0.00",
            "totalAmount": "5,015.00",
            "currency": "THB",
            "routeNo": 3,
            "status": "Fail",
            "settled": false
        },
        ...
    ]
}

Search Settlement Transaction

Service Name:Search Settlement Transaction
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/settlement/search
[PROD] https://api-transaction.chillpay.co/api/v1/settlement/search
Method:POST
Description:เป็นเซอร์วิสในการค้นหารายการโอนเงินคืนร้านค้า (Settlement Transactions) 
– รายการที่จะแสดงสูงสุดคือรายการของวันปัจจุบัน -1
– ร้านค้าหลักสามารถค้นหาข้อมูลของร้านค้าย่อยได้ 
– ร้านค้าย่อยสามารถค้นหาได้เฉพาะร้านค้าตนเองเท่านั้น

ตารางที่ 2.1 Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 2.2 Request Body Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1OrderByString20Oเรียงตามคอลัมน์- TransactionId- TransactionDate- PaymentDate- Merchant- Customer- OrderNo- PaymentChannel- Amount- Fee- NetAmount- ExchangeRate- Settled- Discount- RouteNo* หากไม่ได้ส่งมาค่าเริ่มต้นคือ TransactionId
2OrderDirString4OการเรียงลำดับASC : เรียงจากน้อยไปมากDESC : เรียงจากมากไปน้อย* หากไม่ได้ส่งมาค่าเริ่มต้นคือ DESC
3PageSizeNumberOจำนวนรายการต่อหน้า (1-100)* หากไม่ได้ส่งมาค่าเริ่มต้นคือ 10
4PageNumberNumberOเลขหน้า* หากไม่ได้ส่งมาค่าเริ่มต้นคือ 1
5SearchKeywordString255Oคำหรือข้อความที่ต้องการค้นหา
6MerchantCodeString15Oรหัสร้านค้าที่ต้องการค้นหา* หากไม่ได้ส่งมาค่าเริ่มต้นคือ ร้านค้าทั้งหมด
7PaymentChannelString30Oช่องทางการชำระเงิน ภาคผนวก ข.
8RouteNoNumberOเส้นทางชำระเงิน
9OrderNoString20Oเลขที่อ้างอิงรายการของทางร้านค้า
10SettledBooleanOสถานะการโอนเงินให้ร้านค้า [True, False]
11TransactionDateFromString19Oวันที่ทำรายการ (จาก) [dd/MM/yyyy HH:mm:ss]
12TransactionDateToString19Oวันที่ทำรายการ (ถึง) [dd/MM/yyyy HH:mm:ss]
13PaymentDateFromString19Oวันที่ชำระเงิน (จาก) [dd/MM/yyyy HH:mm:ss]
14PaymentDateToString19Oวันที่ชำระเงิน (ถึง) [dd/MM/yyyy HH:mm:ss]
15ChecksumString32Mผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส

ตัวอย่าง การเรียก Request Search Settlement Transaction (Code ภาษา C# .NET)

var client = new RestClient("https://api-transaction.chillpay.co/api/v1/settlement/search");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""OrderBy"": ""TransactionId"", ""OrderDir"": ""DESC"", ""PageSize"": null, ""PageNumber"": null, ""SearchKeyword"": null, ""MerchantCode"": null, ""PaymentChannel"": null, ""RouteNo"": null, ""OrderNo"": null, ""Settled"": true, ""TransactionDateFrom"": null, ""TransactionDateTo"": null, ""PaymentDateFrom"": null, ""PaymentDateTo"": null, ""Checksum"": ""380eb9dff5f97b1c705030ee922959e6""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ตามตารางที่ 2.2 (ข้อ 1-14) มาเรียงต่อกัน แล้วต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • OrderBy + OrderDir + PageSize + PageNumber + SearchKeyword + MerchantCode + PaymentChannel + RouteNo + OrderNo + Settled + TransactionDateFrom + TransactionDateTo + PaymentDateFrom + PaymentDateTo + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5
  • TransactionIdDESCTrueAAABBBCCCDDD
  • กรณีร้านค้าต้องการส่งค่า Settled จะมีเงื่อนไขดังนี้
  • – หากเป็น True ให้กำหนดค่าตอนหา Checksum เป็น “True”
  • – หากเป็น False ให้กำหนดค่าตอนหา Checksum เป็น “False”

ตารางที่ 2.3 Response Message Parameters

No.Parameters NameData TypeDescription
1totalRecordNumberจำนวนรายการทั้งหมด
2pageSizeNumberจำนวนรายการต่อหน้า
3pageNumberNumberเลขหน้า
4filteredRecordNumberจำนวนรายการในหน้าปัจจุบัน
5statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
6messageStringคำอธิบายสถานะการทำรายการ
7data[].transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
8data[].transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
9data[].paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
10data[].merchantStringชื่อร้านค้า
11data[].customerStringรหัสอ้างอิงหรือชื่อลูกค้า
12data[].orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
13data[].paymentChannelStringช่องทางการชำระเงิน
14data[].routeNoNumberเส้นทางชำระเงิน
15data[].amountStringค่าสินค้าหรือบริการ [#,##0.00]
16data[].feeStringค่าธรรมเนียม [#,##0.00]
17data[].totalAmountStringราคารวม [#,##0.00]
18data[].currencyStringสกุลเงิน
19data[].exchangeRateStringอัตราแลกเปลี่ยน [#,##0.00]
20data[].discountStringส่วนลด [#,##0.00]
21data[].netAmountStringราคาสุทธิ [#,##0.00]
22data[].serviceAmountStringค่าบริการ [#,##0.00]
23data[].serviceVATStringภาษีค่าบริการ [#,##0.00]
24data[].serviceWHTStringภาษีหัก ณ ที่จ่าย [#,##0.00]
25data[].settleAmountStringยอดเงินโอนให้ร้านค้า [#,##0.00]
26data[].settledBooleanสถานะการโอนเงินให้ร้านค้า [True, False]

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "totalRecord": 106,
    "pageSize": 10,
    "pageNumber": 1,
    "filteredRecord": 10,
    "status": 200,
    "message": "Success",
    "data": [
        {
            "transactionId": 114705,
            "transactionDate": "17/01/2022 15:00:46",
            "paymentDate": "17/01/2022 15:01:44",
            "merchant": "Bank Industries",
            "customer": "cus100005",
            "orderNo": "order20211216101345",
            "paymentChannel": "Credit Card",
            "routeNo": 3,
            "amount": "3,500.00",
            "fee": "15.00",
            "totalAmount": "3,515.00",
            "currency": "THB",
            "exchangeRate": "1.00",
            "discount": "0.00",
            "netAmount": "3,515.00",
            "serviceAmount": "113.75",
            "serviceVAT": "7.96",
            "serviceWHT": "3.41",
            "settleAmount": "3,381.70",
            "settled": false
        },
        ...
    ]
}

Search Void Transaction

Service Name:Search Void Transaction
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/void/search
[PROD] https://api-transaction.chillpay.co/api/v1/void/search
Method:POST
Description:เป็นเซอร์วิสในการค้นหารายการยกเลิก (Void Transactions)
– ร้านค้าหลักสามารถค้นหาข้อมูลของร้านค้าย่อยได้
– ร้านค้าย่อยสามารถค้นหาได้เฉพาะร้านค้าตนเองเท่านั้น

ตารางที่ 3.1 Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 3.2 Request Body Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
OrderBy String 20  เรียงตามคอลัมน์- TransactionId- TransactionDate- Merchant- Customer- OrderNo- PaymentChannel- PaymentDate- Amount- Fee- TotalAmount- RouteNo- Status* หากไม่ได้ส่งมาค่าเริ่มต้นคือ TransactionId
OrderDir String การเรียงลำดับASC : เรียงจากน้อยไปมาก DESC : เรียงจากมากไปน้อย * หากไม่ได้ส่งมาค่าเริ่มต้นคือ DESC  
PageSize Number  จำนวนรายการต่อหน้า (1-100) * หากไม่ได้ส่งมาค่าเริ่มต้นคือ 10 
PageNumber Number  เลขหน้า * หากไม่ได้ส่งมาค่าเริ่มต้นคือ 1 
SearchKeyword String 255 คำหรือข้อความที่ต้องการค้นหา 
MerchantCode String  15 รหัสร้านค้าที่ต้องการค้นหา 
OrderNo String 20 เลขที่อ้างอิงรายการของทางร้านค้า 
Status String 20 สถานะการชำระเงิน ภาคผนวก ก.
TransactionDateFrom String 19 วันที่ทำรายการ (จาก) [dd/MM/yyyy HH:mm:ss] 
10 TransactionDateTo String 19 วันที่ทำรายการ (ถึง) [dd/MM/yyyy HH:mm:ss] 
11 Checksum String 32 ผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส 

ตัวอย่าง การเรียก Request Search Void Transaction (Code ภาษา C# .NET)

var client = new RestClient("https://api-transaction.chillpay.co/api/v1/void/search");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""OrderBy"": ""TransactionId"", ""OrderDir"": ""DESC"", ""PageSize"": null, ""PageNumber"": null, ""SearchKeyword"": null, ""MerchantCode"": null, ""OrderNo"": null, ""Status"": null, ""TransactionDateFrom"": null, ""TransactionDateTo"": null, ""Checksum"": ""380eb9dff5f97b1c705030ee922959e6""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ตามตารางที่ 3.2 (ข้อ 1-10) มาเรียงต่อกัน แล้วต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • OrderBy + OrderDir + PageSize + PageNumber + SearchKeyword + MerchantCode + OrderNo + Status + TransactionDateFrom + TransactionDateTo + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5
  • TransactionIdDESCAAABBBCCCDDD

ตารางที่ 3.3 Response Message Parameters

No.Parameters NameData TypeDescription
1totalRecordNumberจำนวนรายการทั้งหมด
2pageSizeNumberจำนวนรายการต่อหน้า
3pageNumberNumberเลขหน้า
4filteredRecordNumberจำนวนรายการในหน้าปัจจุบัน
5statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
6messageStringคำอธิบายสถานะการทำรายการ
7data[].transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
8data[].transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
9data[].merchantStringชื่อร้านค้า
10data[].customerStringรหัสอ้างอิงหรือชื่อลูกค้า
11data[].orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
12data[].paymentChannelStringช่องทางการชำระเงิน
13data[].paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
14data[].amountStringค่าสินค้าหรือบริการ [#,##0.00]
15data[].feeStringค่าธรรมเนียม [#,##0.00]
16data[].totalAmountStringราคารวม [#,##0.00]
17data[].currencyStringสกุลเงิน
18data[].routeNoNumberเส้นทางชำระเงิน
19data[].serviceFeeStringค่าบริการ [#,##0.00]
20data[].statusStringสถานะการชำระเงิน

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "totalRecord": 1,
    "pageSize": 10,
    "pageNumber": 1,
    "filteredRecord": 1,
    "status": 200,
    "message": "Success",
    "data": [
        {
            "transactionId": 115006,
            "transactionDate": "03/02/2022 11:50:39",
            "merchant": "Bank Industries",
            "customer": "cus100005",
            "orderNo": "order20211216101345",
            "paymentChannel": "Credit Card",
            "paymentDate": "04/03/2022 16:10:31",
            "amount": "3,500.00",
            "fee": "15.00",
            "totalAmount": "3,515.00",
            "currency": "THB",
            "routeNo": 3,
            "serviceFee": "0.00",
            "status": "Void Requested"
        }
    ]
}

Search Refund Transaction

Service Name:Search Refund Transaction
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/refund/search
[PROD] https://api-transaction.chillpay.co/api/v1/refund/search
Method:POST
Description:เป็นเซอร์วิสในการค้นหารายการขอคืนเงิน (Refund Transactions)- ร้านค้าหลักสามารถค้นหาข้อมูลของร้านค้าย่อยได้- ร้านค้าย่อยสามารถค้นหาได้เฉพาะร้านค้าตนเองเท่านั้น


ตารางที่ 4.1
Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 4.2 Request Body Parameters

No.Parameters NameData TypeData TypeMandatory / OptionalDescription
1OrderByString20Oเรียงตามคอลัมน์- TransactionId- TransactionDate- Merchant- Customer- OrderNo- PaymentChannel- PaymentDate- Amount- Fee- TotalAmount- RouteNo- Status* หากไม่ได้ส่งมาค่าเริ่มต้นคือ TransactionId
2OrderDirString4OการเรียงลำดับASC : เรียงจากน้อยไปมากDESC : เรียงจากมากไปน้อย* หากไม่ได้ส่งมาค่าเริ่มต้นคือ DESC
3PageSizeNumberOจำนวนรายการต่อหน้า (1-100)* หากไม่ได้ส่งมาค่าเริ่มต้นคือ 10
4PageNumberNumberOเลขหน้า* หากไม่ได้ส่งมาค่าเริ่มต้นคือ 1
5SearchKeywordString255Oคำหรือข้อความที่ต้องการค้นหา
6MerchantCodeString 15Oรหัสร้านค้าที่ต้องการค้นหา
7OrderNoString20Oเลขที่อ้างอิงรายการของทางร้านค้า
8StatusString20Oสถานะการชำระเงิน ภาคผนวก ก.
9TransactionDateFromString19Oวันที่ทำรายการ (จาก) [dd/MM/yyyy HH:mm:ss]
10TransactionDateToString19Oวันที่ทำรายการ (ถึง) [dd/MM/yyyy HH:mm:ss]
11ChecksumString32Mผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส

ตัวอย่าง การเรียก Request Search Refund Transaction (Code ภาษา C# .NET)

var client = new RestClient("https://api-transaction.chillpay.co/api/v1/refund/search");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""OrderBy"": ""TransactionId"", ""OrderDir"": ""DESC"", ""PageSize"": null, ""PageNumber"": null, ""SearchKeyword"": null, ""MerchantCode"": null, ""OrderNo"": null, ""Status"": null, ""TransactionDateFrom"": null, ""TransactionDateTo"": null, ""Checksum"": ""3ca662ef331497e7cce6b00dc3f783c1""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ต่าง ๆ ตามตารางที่ 4.2 (ข้อ 1 –10) มาเรียงต่อกัน แล้วต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • OrderBy + OrderDir + PageSize + PageNumber + SearchKeyword + MerchantCode + OrderNo + Status + TransactionDateFrom + TransactionDateTo + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5
  • TransactionIdDESCAAABBBCCCDDD

ตารางที่ 4.3 Response Message Parameters

No.Parameters NameData TypeDescription
1totalRecordNumberจำนวนรายการทั้งหมด
2pageSizeNumberจำนวนรายการต่อหน้า
3pageNumberNumberเลขหน้า
4filteredRecordNumberจำนวนรายการในหน้าปัจจุบัน
5statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
6messageStringคำอธิบายสถานะการทำรายการ
7data[].transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
8data[].transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
9data[].merchantStringชื่อร้านค้า
10data[].customerStringรหัสอ้างอิงหรือชื่อลูกค้า
11data[].orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
12data[].paymentChannelStringช่องทางการชำระเงิน
13data[].paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
14data[].amountStringค่าสินค้าหรือบริการ [#,##0.00]
15data[].feeStringค่าธรรมเนียม [#,##0.00]
16data[].totalAmountStringราคารวม [#,##0.00]
17data[].currencyStringสกุลเงิน
18data[].routeNoNumberเส้นทางชำระเงิน
19data[].serviceFeeStringค่าบริการ [#,##0.00]
20data[].statusStringสถานะการชำระเงิน

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "totalRecord": 6,
    "pageSize": 10,
    "pageNumber": 1,
    "filteredRecord": 6,
    "status": 200,
    "message": "Success",
    "data": [
        {
            "transactionId": 41613,
            "transactionDate": "24/09/2020 19:58:01",
            "merchant": "Bank Industries",
            "customer": "TEST",
            "orderNo": "21",
            "paymentChannel": "Credit Card",
            "paymentDate": "24/09/2020 19:58:55",
            "amount": "20,000.00",
            "fee": "650.00",
            "totalAmount": "20,650.00",
            "currency": "THB",
            "routeNo": 1,
            "serviceFee": "650.00",
            "status": "Refund Requested"
        },
        ...
    ]
}

Get Payment Transaction Details

Service Name:Get Payment Transaction Details
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/payment/details
[PROD] https://api-transaction.chillpay.co/api/v1/payment/details
Method:POST
Description:เป็นเซอร์วิสในการเรียกดูรายละเอียดรายการชำระเงิน (Payment Transaction)
– ร้านค้าหลักสามารถดูข้อมูลของร้านค้าย่อยได้
– ร้านค้าย่อยสามารถค้นหาได้เฉพาะร้านค้าตนเองเท่านั้น


ตารางที่ 5.1 Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 5.2 Request Body Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1TransactionIdNumberMเลขที่อ้างอิงรายการของทางชิวเพย์
2ChecksumString32Mผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส

ตัวอย่าง การเรียก Request Get Payment Transaction Details (Code ภาษา C# .NET)

var client = new RestClient("https://api-transaction.chillpay.co/api/v1/payment/details");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""TransactionId"": 115006, ""Checksum"": ""75db12ab69411c40e74ff40ae09fcca8""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ตามตารางที่ 5.2 (ข้อ 1) มาต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • TransactionId + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5
  • 115006AAABBBCCCDDD

ตารางที่ 5.3 Response Message Parameters

No.Parameters NameData TypeDescription
1statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
2messageStringคำอธิบายสถานะการทำรายการ
3data[].transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
4data[].merchantStringชื่อร้านค้า
5data[].paymentChannelStringช่องทางการชำระเงิน
6data[].amountStringค่าสินค้าหรือบริการ [#,##0.00]
7data[].feeStringค่าธรรมเนียม [#,##0.00]
8data[].discountStringส่วนลด [#,##0.00]
9data[].totalAmountStringราคารวม [#,##0.00]
10data[].orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
11data[].customerStringรหัสอ้างอิงหรือชื่อลูกค้า
12data[].phoneNumberStringเบอร์โทรศัพท์มือถือของลูกค้า
13data[].languageCodeStringรหัสภาษา
14data[].statusStringสถานะการชำระเงิน
15data[].currencyStringสกุลเงิน
16data[].ipAddressStringข้อมูลไอพีของลูกค้า
17data[].merchantResponseCodeStringรหัสตอบกลับจากทางร้านค้า
18data[].merchantResponseMessageStringข้อความตอบกลับจากทางร้านค้า
19data[].paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
20data[].transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
21data[].descriptionStringรายละเอียดการชำระเงิน
22data[].settledBooleanสถานะการโอนเงินให้ร้านค้า [True, False]

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "status": 200,
    "message": "Success",
    "data": {
        "transactionId": 115006,
        "merchant": "Bank Industries",
        "paymentChannel": "Credit Card",
        "amount": "3,500.00",
        "fee": "15.00",
        "discount": "0.00",
        "totalAmount": "3,515.00",
        "orderNo": "order20211216101345",
        "customer": "cus100005",
        "phoneNumber": "0822318917",
        "languageCode": "TH",
        "status": "Void Requested",
        "currency": "THB",
        "ipAddress": "171.103.196.214",
        "merchantResponseCode": "200",
        "merchantResponseMessage": "Send data to merchant completed",
        "paymentDate": "04/03/2022 16:10:31",
        "transactionDate": "03/02/2022 11:50:39",
        "description": " ",
        "settled": false
    }
}

Request Void Transaction

Service Name:Request Void Transaction
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/void/request
[PROD] https://api-transaction.chillpay.co/api/v1/void/request
Method:POST
Description:เป็นเซอร์วิสสำหรับร้องขอยกเลิกรายการชำระเงิน กรณีที่รายการนั้นยังไม่ Settled
– ร้านค้าหลักสามารถร้องขอยกเลิกรายการชำระเงินของร้านค้าย่อยได้
– ร้านค้าย่อยสามารถร้องขอยกเลิกรายการชำระเงินได้เฉพาะร้านค้าตนเองเท่านั้น


ตารางที่ 6.1 Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 6.2 Request Body Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1TransactionIdNumberMเลขที่อ้างอิงรายการของทางชิวเพย์
2ChecksumString32Mผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส

ตัวอย่าง การเรียก Request Request Void Transaction (Code ภาษา C# .NET)

var client = new RestClient("https://api-transaction.chillpay.co/api/v1/void/request");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""TransactionId"": 115006, ""Checksum"": ""75db12ab69411c40e74ff40ae09fcca8""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ต่าง ๆ ตามตารางที่ 6.2 (ข้อ 1) มาเรียงต่อกัน แล้วต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • TransactionId + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5
  • 115006AAABBBCCCDDD

ตารางที่ 6.3 Response Message Parameters

No.Parameters NameData TypeDescription
1statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
2messageStringคำอธิบายสถานะการทำรายการ
3data.transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
4data.transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
5data.merchantStringชื่อร้านค้า
6data.customerStringรหัสอ้างอิงหรือชื่อลูกค้า
7data.orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
8data.paymentChannelStringช่องทางการชำระเงิน
9data.paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
10data.amountStringค่าสินค้าหรือบริการ [#,##0.00]
11data.feeStringค่าธรรมเนียม [#,##0.00]
12data.totalAmountStringราคารวม [#,##0.00]
13data.currencyStringสกุลเงิน
14data.routeNoNumberเส้นทางชำระเงิน
15data.serviceFeeStringค่าบริการ [#,##0.00]
16data.statusStringสถานะการชำระเงิน

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "status": 200,
    "message": "Success",
    "data": {
        "transactionId": 115006,
        "transactionDate": "03/02/2022 11:50:39",
        "merchant": "Bank Industries",
        "customer": "cus100005",
        "orderNo": "order20211216101345",
        "paymentChannel": "Credit Card",
        "paymentDate": "10/03/2022 12:22:54",
        "amount": "3,500.00",
        "fee": "15.00",
        "totalAmount": "3,515.00",
        "currency": "THB",
        "routeNo": 3,
        "serviceFee": "0.00",
        "status": "Void Requested"
    }
}

Request Refund Transaction

Service Name:Request Refund Transaction
URL:[SANDBOX] https://sandbox-api-transaction.chillpay.co/api/v1/refund/request
[PROD] https://api-transaction.chillpay.co/api/v1/refund/request
Method:POST
Description:เป็นเซอร์วิสสำหรับร้องขอการคืนเงิน กรณีที่รายการนั้นถูก Settled แล้ว
– ร้านค้าหลักสามารถร้องขอยกเลิกรายการชำระเงินของร้านค้าย่อยได้
– ร้านค้าย่อยสามารถร้องขอยกเลิกรายการชำระเงินได้เฉพาะร้านค้าตนเองเท่านั้น

ตารางที่ 7.1 Request Header Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1Content-TypeString16Mapplication/json
2CHILLPAY-MerchantCodeString15Mรหัสร้านค้าที่ออกให้โดยชิวเพย์
3CHILLPAY-ApiKeyString100Mรหัสอ้างอิงที่ออกให้โดยชิวเพย์ ใช้ในการเชื่อมต่อระบบ

ตารางที่ 7.2 Request Body Parameters

No.Parameters NameData TypeLengthMandatory / OptionalDescription
1TransactionIdNumberMเลขที่อ้างอิงรายการของทางชิวเพย์
2ChecksumString32Mผลลัพธ์ที่ได้จากการนำค่าทั้งหมดไปเข้ารหัส

ตัวอย่าง การเรียก Request Request Refund Transaction (Code ภาษา C# .NET)

var client = new RestClient("https://sandbox-api-transaction.chillpay.co/api/v1/refund/request");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("CHILLPAY-MerchantCode", "xxx");
request.AddHeader("CHILLPAY-ApiKey", "xxx");
request.AddHeader("Content-Type", "application/json");
var body = @"{""TransactionId"": 115007, ""Checksum"": ""75db12ab69411c40e74ff40ae09fcca8""}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

หมายเหตุ

  • ค่า Checksum เป็นการนำค่าจาก Parameter ตามตารางที่ 7.2 (ข้อ 1) มาต่อท้ายด้วย MD5 Secret Key (ที่ได้รับจากทางชิวเพย์) ดังนี้
  • TransactionId + MD5 Secret Key 
  • จากนั้นนำข้อมูลที่เรียงกันทั้งหมดนี้ไปเข้ารหัสด้วยฟังก์ชั่น MD5 Hashing จึงจะได้เป็นค่า Checksum
  • ตัวอย่าง การนำข้อมูลมาเรียงต่อกันเพื่อเข้าฟังก์ชั่น MD5
  • 115007AAABBBCCCDDD

ตารางที่ 7.3 Response Message Parameters

No.Parameters NameData TypeDescription
1statusStringรหัสสถานะการทำรายการ ภาคผนวก ค.
2messageStringคำอธิบายสถานะการทำรายการ
3data.transactionIdNumberเลขที่อ้างอิงรายการของทางชิวเพย์
4data.transactionDateStringวันที่ทำรายการ [dd/MM/yyyy HH:mm:ss]
5data.merchantStringชื่อร้านค้า
6data.customerStringรหัสอ้างอิงหรือชื่อลูกค้า
7data.orderNoStringเลขที่อ้างอิงรายการของทางร้านค้า
8data.paymentChannelStringช่องทางการชำระเงิน
9data.paymentDateStringวันที่ชำระเงิน [dd/MM/yyyy HH:mm:ss]
10data.amountStringค่าสินค้าหรือบริการ [#,##0.00]
11data.feeStringค่าธรรมเนียม [#,##0.00]
12data.totalAmountStringราคารวม [#,##0.00]
13data.currencyStringสกุลเงิน
14data.routeNoNumberเส้นทางชำระเงิน
15data.serviceFeeStringค่าบริการ [#,##0.00]
16data.statusStringสถานะการชำระเงิน

ตัวอย่าง ข้อมูล JSON Response Message ที่ได้รับจากการเรียก API

{
    "status": 200,
    "message": "Success",
    "data": {
        "transactionId": 115007,
        "transactionDate": "03/02/2022 11:50:39",
        "merchant": "Bank Industries",
        "customer": "cus100005",
        "orderNo": "order20211216101345",
        "paymentChannel": "Credit Card",
        "paymentDate": "04/03/2022 16:10:31",
        "amount": "3,500.00",
        "fee": "15.00",
        "totalAmount": "3,515.00",
        "currency": "THB",
        "routeNo": 3,
        "serviceFee": "113.75",
        "status": "Refund Requested"
    }
}

ภาคผนวก

ภาคผนวก ก. Payment Transaction Status

No.TextDescription
1Successทำรายการชำระเงินสำเร็จ
2Failทำรายการชำระเงินไม่สำเร็จ
3Cancelลูกค้ายกเลิกการชำระเงิน
4Errorเกิดข้อผิดพลาดระหว่างทำรายการชำระเงิน
5Requestรอการชำระค่าสินค้า/บริการ
6Void Requestedทำรายการร้องขอการยกเลิกรายการสำเร็จ
7Voidedทำรายการยกเลิกรายการสำเร็จ
8Refund Requestedทำรายการร้องขอการคืนเงินสำเร็จ
9Refundedทำรายการคืนเงินสำเร็จ

ภาคผนวก ข. Payment Channel

No.TextDescription
1CREDIT CARDบัตรเครดิตและเดบิต
2INSTALLMENT KBANKผ่อนชำระบัตรธนาคารกสิกร
3KTC FLEXIผ่อนชำระบัตรกรุงไทย
4INSTALLMENT KRUNGSRIผ่อนชำระบัตรในเครือธนาคารกรุงศรีฯ
5INSTALLMENT SCBผ่อนชำระบัตรธนาคารไทยพาณิชย์
6FIRST CHOICEผ่อนชำระบัตรกรุงศรีเฟิร์สช้อยส์
7KTC FOREVERแลกคะแนนบัตรกรุงไทย
8BAYธนาคารกรุงศรีอยุธยา
9BBLธนาคารกรุงเทพ
10SCBธนาคารไทยพาณิชย์
11KTBธนาคารกรุงไทย
12TBANKธนาคารธนชาต
13TTBธนาคารทหารไทยธนชาต
14KPLUSธนาคารกสิกร (K PLUS)
15SCB EASY APPธนาคารไทยพาณิชย์ (SCB Easy App)
16KMA APPธนาคารกรุงศรีอยุธยา (KMA App)
17QRCODEคิวอาร์ พร้อมเพย์
18ALIPAYอาลีเพย์
19WECHATPAYวีแชทเพย์
20LINEPAYแรบบิท ไลน์ เพย์
21TRUEMONEYทรูมันนี่ วอลเล็ท
22SHOPEEPAYช้อปปี้เพย์
23CENPAYเซ็นเพย์
24BIGCบิ๊กซี
25BOONTERMบุญเติม

ภาคผนวก ค. Response Message

CodeStatus MessageDescription
200Successทำรายการสำเร็จ
1001InvalidParameterพารามิเตอร์ไม่ถูกต้อง
1002InvalidMerchantCodeรหัสร้านค้าไม่ถูกต้อง
1003InvalidApiKeyรหัสอ้างอิงร้านค้าไม่ถูกต้อง
1004InvalidChecksumรหัส Checksum ไม่ถูกต้อง
2001InvalidMerchantCodeDataข้อมูลรหัสร้านค้าไม่ถูกต้อง
2002InvalidApiKeyDataข้อมูลรหัสอ้างอิงร้านค้าไม่ถูกต้อง
2003InvalidOrderByDataข้อมูลสำหรับเรียงตามคอลัมน์ไม่ถูกต้อง
2004InvalidOrderDirDataข้อมูลสำหรับทิศทางการเรียงไม่ถูกต้อง
2005InvalidPageSizeDataข้อมูลจำนวนรายการต่อหน้าไม่ถูกต้อง
2006InvalidPageNumberDataข้อมูลเลขหน้าไม่ถูกต้อง
2007InvalidSearchKeywordDataข้อมูลคำหรือข้อความที่ต้องการค้นหาไม่ถูกต้อง
2008InvalidPaymentChannelDataข้อมูลช่องทางการชำระเงินไม่ถูกต้อง
2009InvalidOrderNoDataข้อมูลเลขที่อ้างอิงรายการของทางร้านค้าไม่ถูกต้อง
2010InvalidStatusDataข้อมูลสถานะการชำระเงินไม่ถูกต้อง
2011InvalidTransactionDateDataข้อมูลวันที่ทำรายการไม่ถูกต้อง
2012InvalidPaymentDateDataข้อมูลวันที่ชำระเงินไม่ถูกต้อง
2013InvalidTransactionIdDataข้อมูลเลขที่อ้างอิงรายการไม่ถูกต้อง
2014InvalidChecksumDataข้อมูลรหัส Checksum ไม่ถูกต้อง
3001SearchFailedการค้นหาล้มเหลว
3002TransactionNotFoundไม่เจอรายการชำระเงิน
3003VoidFailedไม่สามารถทำการยกเลิกรายการได้
3004RefundFailedไม่สามารถทำรายการขอคืนเงินได้
4001AccountUnauthorizedบัญชีร้านค้ายังไม่ได้รับการอนุมัติ
4002SystemErrorระบบเกิดข้อผิดพลาดไม่สามารถทำรายการได้
4003SystemMaintenanceTimeอยู่ในระยะเวลาปรับปรุงระบบ
4004RequestExceededLimitการร้องขอเกินจำนวนที่กำหนด
Updated on January 30, 2024

Was this article helpful?

Related Articles

Leave a Comment