Search / Searching an Order of a Recurring Payment

Scenario

Merchants request this API to query a single order of supscription plan (recurring payments).

API URLs

  • Stage: https://ecpayment-stage.ecpay.com.tw/1.0.0/Cashier/QueryTrade
  • Production: https://ecpayment.ecpay.com.tw/1.0.0/Cashier/QueryTrade

Message format

  • Content Type:application/json
  • HTTP Method:POST

Request (Json format)

MerchantID String(10)
Required

For platform merchants, the value please populate with the Platform merchant’s MerchantID.

RqHeader Object
Required

Request header

Timestamp Number
Required

Unix timestamp

❗ Special note:

  • ECPay will verify the timestamp.If ECPay receives the request is more 10 minutes late than the timestamp, the transaction will be failed.
  • Merchants are suggested to synchronize the time of a computer on client- or server-side to another server or nearest reference time source.
  • For more details can be seen here; another online tool can be found here.

Data String
Required

Payload of JSON that has been encrypted.

Request Example (Json format)

				
					{
    "MerchantID": "3002607",
    "RqHeader": {
        "Timestamp": 1234567890
    },
    "Data": "enter your data"
}
				
			

Message payload of Data (Json format)

❗ Special note: please urlencode the JSON string firstly and then do AES encryption.

PlatformID String(10)

Platform merchant’s MerchantID.

MerchantID String(10)
Required

MerchantTradeNo String(20)
Required

Merchant’s order ID

Data Example:(Json format)

				
					{
    "MerchantID": "3002607",
    "MerchantTradeNo":"20180914001"
} 

				
			

Response (Json format)

MerchantID String(10)

Merchant ID

RpHeader Object

Timestamp Number

Unix timestamp

TransCode Int

Response codes to indicate whether the payload is successfully accepted.

  • 1: Payload (i.e. MerchantID, RqHeader, and Data) is successfully accepted by ECPay.
  • Others: failed.

TransMsg String(200)

Response message to indicate whether the payload is successfully accepted.

Data String

Payload of JSON that has been encrypted.

Response Example (Json format)

				
					{
    "MerchantID": "3002607",
    "RpHeader": {
        "Timestamp": 1234564848
    },
    "TransCode": 1,
    "TransMsg": "Success",
    "Data": "…"
}
				
			

Message payload of Data (Json format)

RtnCode Int

Response codes to indicate whether the API is successfully executed or not.

  • 1: API is successfully executed.
  • Others: failed.
  • For more details please see error codes.

RtnMsg String(200)

Response messages.

PlatformID String(10)

MerchantID String(10)

OrderInfo Object
 

Order information

MerchantTradeNo String(20)

Merchant’s order ID (a unique identifier).

TradeNo String(20)

ECPay’s order ID

TradeAmt Int

Transaction amount

TradeDate String(20)

Time at which the order.

Format: yyyy/MM/dd HH:mm:ss

PaymentType String(20)

Payment method

PaymentDate String(20)

Date of payment. Format: yyyy/MM/dd HH:mm:ss

ChargeFee Number

ECPay’s service charge

TradeStatus String(8)

Status of transaction. Possible values:

  • 0: the order was created but the payment has not yet been made.
  • 1: the order was created and the payment has been made.

CardInfo Object

Card information

AuthCode String(6)

Authorization code

Gwsr Int

ID of authorization

ProcessDate String(20)

Date of processing authorization. Format: yyyy/MM/dd HH:mm:ss

Amount Int

Transaction/authorization amount

Eci Int

This is a value returned from the Directory Server (Visa, MasterCard, and JCB) to indicate the authentication results of cardholder’s credit card payment on 3D Secure.

Possible values:

5, 6, 2, 1: The value returned (ECI) means that transaction was a 3D secure authentication.

Card6No String(6)

First 6 digits of credit card

Card4No String(4)

Last 4 digits of credit card

PeriodType String(1)

Type of subscription payments. The value will be returned if using subscription plan.

  • D: daily subscription
  • M: monthly subscription
  • Y: yearly subscritpion

Frequency Int

Execution frequency. The value will be returned if using subscription plan. The value indicated how often the authorization is executed.

ExecTimes Int

Number of authorizing recurring payments. The value will be returned if using subscription plan. The value indicated how many times the authorization is executed.

PeriodAmount Int

Amount to be authorized of each period. The value will be returned if using subscription plan.

TotalSuccessTimes Int

Number of total successful authorizations. The value will be returned if using subscription plan. The value indicates how many times the authorization is successfully executed.

TotalSuccessAmount Int

Total amount of all successful authorizations. The value will be returned if using subscription plan.

IssuingBank String(30)

Bank name

IssuingBankCode String(10)

Bank code

ExecStatus String(1)
 

Possible values:

  • 0: cancelled
  • 1: under execution
  • 2: execution completed

ExecLog Object
 

Log of every authorization. For example:

  • If TotalSuccessTimes=3, ExecLog will have 3 authorization records.

RtnCode Int

Response codess to indicate whether the API is successfully called or not. Possible values:

  • 1: API is successfully requested (i.e. the payment is successfully authorized.)
  • Others: failed. For more details please see error codes.

Amount Int

Transaction/authorization amount.

Gwsr Int

ID of authorization.

ProcessDate String(20)

Date of processing authorization. Format: yyyy/MM/dd HH:mm:ss 

AuthCode String(6)

Authorization code

TradeNo String(20)

ECPay’s order ID. Please save this parameter in merchant’s system in order to keep the relation between ECPay’s order ID merchants’ order ID [MerchantTradeNo].

ChargeFee Number

ECPay’s service charge. Format: integer 8 digits, decimal 2 digits

CustomField String(200)

A parameter for merchant to place customized value.

Data Example(Json format)

				
					{
    "RtnCode": 1,
    "RtnMsg": "Success",
    "MerchantID": "3002607",
    "OrderInfo": {
        "MerchantTradeNo": "20180914001",
        "TradeNo": "1809261503338172",
        "PaymentDate" :"2018/09/26 14:59:54",
        "TradeAmt" :"500",
        "PaymentType" :"Credit",
        "TradeDate" :"2018/09/26 14:59:54",
        "ChargeFee" :10,
        "TradeStatus" :"1"
    },
    "CardInfo": {
        "AuthCode": "777777",
        "Gwsr": 10735183,
        "ProcessDate": "2018/09/26 14:59:54",
        "Amount": 100,
        "Eci": 2,
        "Card4No": "2222",
        "Card6No": "491122",
        "PeriodType": "",
        "Frequency": 2,
        "ExecTimes": 1,
        "PeriodAmount":2,
        "TotalSuccessTimes":3,
        "TotalSuccessAmount":5
    },
   "ExecStatus": "1",
   "ExecLog": {
		"RtnCode":"",
        "Amount":500,
        "Gwsr":"12345",
        "ProcessDate":"2020/12/31 15:12:20",
        "AuthCode":"123456",
        "TradeNo":"12345649781"
    }
}
				
			

Copyright © Green World FinTech Service Co., Ltd. All rights reserved.

Green World