Searching Order

Scenario

Merchants can call this API to search a specific single order to check the order status.

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

ProcessFee   Number

ECPay’s transaction processing fee

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

Stage Int

Number of installments

Stast Int

Amount of down payment

Staed Int

Amount of each period (except for down payment).

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

RedDan Int
 

The value will be returned if using the credit card bonus.

RedOkAmt Int

Actual amount charged. The value will be returned if using the credit card bonus.

RedYet Int

Credit card bonus remained. The value will be returned if using the credit card bonus.

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

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",
        "TradeDate" :"2018/09/26 14:59:54"
    },
    "CardInfo": {
        "Gwsr": 10735183,
        "ProcessDate": "2018/09/26 14:59:54",
        "AuthCode": "777777",
        "Amount": 100,
        "Eci": 2,
        "Card4No": "2222",
        "Card6No": "491122",
        "RedDan": 0,
        "RedOkAmt": 0,
        "RedYet": 0
    }
}

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 Query Order API
  version: 1.0.0
servers:
  - url: https://ecpayment-stage.ecpay.com.tw
    description: Testing environment
  - url: https://ecpayment.ecpay.com.tw
    description: Production environment
paths:
  /Cashier/QueryTrade:
    post:
      summary: Query order information
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                MerchantID:
                  type: string
                  maxLength: 10
                  description: Merchant ID
                RqHeader:
                  type: object
                  properties:
                    Timestamp:
                      type: integer
                      description: Transmission timestamp
                Data:
                  type: string
                  description: Encrypted data
              required:
                - MerchantID
                - RqHeader
                - Data
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  MerchantID:
                    type: string
                    maxLength: 10
                    description: Merchant ID
                  RpHeader:
                    type: object
                    properties:
                      Timestamp:
                        type: integer
                        description: Response timestamp
                  TransCode:
                    type: integer
                    description: Transmission code
                  TransMsg:
                    type: string
                    maxLength: 200
                    description: Transmission message
                  Data:
                    type: string
                    description: Encrypted data

components:
  schemas:
    Data:
      type: object
      properties:
        RtnCode:
          type: integer
          description: Transaction status code
        RtnMsg:
          type: string
          maxLength: 200
          description: Response message
        MerchantID:
          type: string
          maxLength: 10
          description: Merchant ID
        MerchantTradeNo:
          type: string
          maxLength: 20
          description: Merchant trade number
        TradeNo:
          type: string
          maxLength: 20
          description: ECPay trade number
        TradeAmt:
          type: integer
          description: Trade amount
        TradeDate:
          type: string
          maxLength: 20
          description: Trade date
        PaymentType:
          type: string
          maxLength: 20
          description: Payment type
        PaymentDate:
          type: string
          maxLength: 20
          description: Payment date
        ChargeFee:
          type: number
          description: Charge fee
        TradeStatus:
          type: string
          maxLength: 8
          description: Trade status
        CardInfo:
          type: object
          properties:
            AuthCode:
              type: string
              maxLength: 6
              description: Authorization code
            Gwsr:
              type: integer
              description: GWSR
            ProcessDate:
              type: string
              maxLength: 20
              description: Process date
            Amount:
              type: integer
              description: Amount
            Stage:
              type: integer
              description: Installment stage
            Stast:
              type: integer
              description: First installment amount
            Staed:
              type: integer
              description: Each installment amount
            Eci:
              type: integer
              description: 3D secure ECI value
            Card6No:
              type: string
              maxLength: 6
              description: First six digits of card number
            Card4No:
              type: string
              maxLength: 4
              description: Last four digits of card number
            RedDan:
              type: integer
              description: Redeem points used
            RedOkAmt:
              type: integer
              description: Actual redeem amount
            RedYet:
              type: integer
              description: Remaining redeem points
            PeriodType:
              type: string
              maxLength: 1
              description: Period type
            Frequency:
              type: integer
              description: Execution frequency
            ExecTimes:
              type: integer
              description: Execution times
            PeriodAmount:
              type: integer
              description: Period amount
            TotalSuccessTimes:
              type: integer
              description: Total successful executions
            TotalSuccessAmount:
              type: integer
              description: Total successful amount
            IssuingBank:
              type: string
              maxLength: 30
              description: Issuing bank name
            IssuingBankCode:
              type: string
              maxLength: 10
              description: Issuing bank code
        CustomField:
          type: string
          maxLength: 200
          description: Custom field

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

Green World