Scenario
Server Site Post (PaymentInfoURL)
After creating an order to a user using the BNPL payment method, the merchant receives the order result from ECPay and replies with the parameter details.
Step 1 ECPay: The application information will be sent to the merchant’s server URL [PaymentInfoURL] via ServerPost.
Step 2. Merchant: Upon receiving the request message from ECPay, check and verify that the checksum value is correct.
Step 3. Merchant: If the checksum value is correct, reply 1|OK on the web side.
Client Site Post (ClientRedirectURL)
After the user creates an order, ECPay will request the result information and redirect the page to the merchant’s designated page.
- Step 1. ECPay: transmits the application result information to the merchant and redirects the page to the merchant’s designated page.
- Step 2. Merchant: After receiving the application result message from ECPay, checks and verifies that the checksum value is correct.
HTTPS Transfer Protocol
- Accept :text/html
- Content Type :application/x-www-form-urlencoded
- HTTP Method :POST
Return Parameters Description
MerchantID String(10)
MerchantTradeNo String(20)
Merchant transaction ID.
- Merchant Transaction ID transmitted to ecpay when order was created.
Merchant store ID.
- The parameter allows merchants to enter specific store ID.
- This parameter only allows a combination of upper and lower case alphanumeric characters.
RtnCode Int
Transaction status.
RtnMsg String(200)
TradeNo String(20)
transaction ID.
- Please save the link between the ECPay transaction ID and the merchant transaction ID [MerchantTradeNo].
TradeAmt Int
PaymentType String(20)
TradeDate String(20)
Transaction time.
- The format is yyyy/MM/dd HH:mm:ss
CheckMacValue String
Checksum.
- The merchant must check the checksum [CheckMacValue] to verify.
When ChoosePayment parameter is BNPL payment method return parameters:
BNPL Application Transaction Number
Cardless Instalment Installment
Special Note:The message will be sent back when the cardless installment application is successful, it does not mean that the application is successful or the payment is successful.
Merchant parameter transmission details:
The value returned is a text string and does not have parameter names
- If the first digit returned is 1, it is success.
- If the first digit returned is 0, it is failure. 0|ErrorMessage refers (error code – error message).
- The value only means whether the merchant receives the return message from ECPay and parameters are correct.The value does not affect the status of order.
Special Note:
When receiving code retrieval results notifications, please confirm the following details in order to receive the code retrieved notification sent by ECPay .
- (1) Please make sure that parameter for the return URL [PaymentInfoURL] used to confirm the order creation parameter has been developed and completed.
- (2) Please confirm that the return URL [PaymentInfoURL] for payment is available externally.
For example:
BNPLTrandeNo=12345678&BNPLInstallment=12&MerchantID=2000132&MerchantTradeNo=Test1513787899&PaymentNo=LLL17355880822&PaymentType=CVS_CVS&RtnCode=2&RtnMsg=&TradeAmt=2000&TradeDate=2017/12/21 00:39:03&TradeNo=17122100383415923452&StoreID=&CustomField1=&CustomField2=&CustomField3=&CustomField4=&CheckMacValue=C25373CE6379BB6116FAE8398F4A8E60B71B289D955F6B8A9D9F53FDCC97F571
YAML
The provided YAML file is used to define information such as the configuration, structure, operations, and infrastructure management of the API, making it easier for developers to understand and use the API.
openapi: 3.1.0
info:
title: ECPay Bankless Installment Application Result Notification API
version: 1.0.0
servers:
- url: PaymentInfoURL
description: Production Environment
- url: PaymentInfoURL
description: Testing Environment
paths:
/payment/number/notification:
post:
summary: Bankless Installment Application Result Notification
description: Notify the merchant of the bankless installment application result.
requestBody:
required: true
content:
html/text:
schema:
type: object
required:
- MerchantID
- MerchantTradeNo
- RtnCode
properties:
MerchantID:
type: string
maxLength: 10
description: Merchant ID
MerchantTradeNo:
type: string
description: Merchant's trade number
StoreID:
type: string
description: Store identifier
RtnCode:
type: integer
description: Return code
RtnMsg:
type: string
description: Return message
TradeNo:
type: string
description: ECPay trade number
TradeAmt:
type: integer
description: Trade amount
PaymentType:
type: string
description: Payment type
TradeDate:
type: string
format: date-time
description: Trade date
CustomField1:
type: string
description: Custom field 1
CustomField2:
type: string
description: Custom field 2
CustomField3:
type: string
description: Custom field 3
CustomField4:
type: string
description: Custom field 4
CheckMacValue:
type: string
description: Check MAC value
BNPLTradeNo:
type: string
description: Bankless installment application transaction number
BNPLInstallment:
type: string
description: Bankless installment installment period
responses:
'200':
description: Success
content:
text/plain:
schema:
type: string
example: 1|OK
'400':
description: Invalid request
'500':
description: Server error