Scenarios
- When Merchant(Business Entity) receives the notification of the rejected invoice message due to an error in the content of the invoice message (e.g., wrong quantity, unit price or name), it sends the confirmation parameters of the rejected E-invoice to Green World Technology Value-Added Center (hereinafter referred to as Green World)and Green World will store the relevant information.
- Green World uploads this rejected invoice confirmation message to The E-Invoice Platform of Ministry of Finance the next day to complete the exchange of rejected invoices. The transaction Counterparty(Business Entity) will be notified that the rejected E-invoice has been confirmed according to the Send E-invoices Status Notices API.
API URLs:
- Stage: https://einvoice-stage.ecpay.com.tw/B2BInvoice/RejectConfirm
- Production: https://einvoice.ecpay.com.tw/B2BInvoice/RejectConfirm
HTTPS format
- Content Type :application/json
- HTTP Method :POST
Request by Merchant (Json format)
PlatformID String(10)
- Platform merchant ID
- This parameter is provided by ECPAY to the platform vendor for project cooperation, please bring in the MerchantID bound with the platform vendor.
- Please leave empty for general vendor.
- When the platform vendor uses the MerchantID field, it can only bring in the MerchantID that has been bound as a sub-store, otherwise it will cause a failure.
MerchantID String(10)
Required
RqHeader
Required
Request header
Timestamp Number
Required
- Please convert the transmission time to a timestamp (GMT+8).
- ECPay will use this parameter to convert the current time to Unix TimeStamp to verify the time interval of this connection.
Special Notes:
- If ECPay receives the API call is more 10 minutes late than the timestamp sent by merchants, this request will be failed. Reference information is as follows:http://www.epochconverter.com/。
- Merchants are suggested to frequently synchronize the time zone of server to another server of the nearest time zone.
Data String
Required
- Message payload
- This is the encrypted data in JSON format.
AES Encryption Description
Example
{
"MerchantID": "2000132",
"RqHeader": {
"Timestamp": 1525168923
},
"Data": "..."
}
Message payload of Data(Json format) : please urlencode the JSON string firstly and then do AES encryption
MerchantID String(10)
Required
InvoiceNumber String(10)
Required
Invoice Number
InvoiceDate String(20)
Required
Invoice Issue date
- The format is yyyy-mm-dd
Remark String(200)
Required
Example
{
"MerchantID": "2000132",
"InvoiceNumber": " VG11000002",
"InvoiceDate": "2019/09/22",
"Remark": ""
}
Response format
- Content Type :application/json
- HTTP Method :POST
Response by ECPay (Json format)
PlatformID String(10)
MerchantID String(10)
RpHeader
Response header
Timestamp Number
Unix timestamp(GMT+8)
TransCode Int
- Response code to indicate whether the payload is successfully accepted
- Possible values:
- 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
- Message payload
- Responde relevant data, this is the encrypted JSON format data。
AES Encryption Description
Example
{
"MerchantID": "2000132",
"RpHeader": {
"Timestamp": 1525169058
},
"TransCode": 1,
"TransMsg": "",
"Data": "..."
}
Message payload of Data(Json format) : please do AES decryption to the Data firstly and then do urldecode.
RtnCode Int
- Return codes to indicate whether the API is successfully executed or not.
- Possible values:
- 1: API is successfully executed.
- Others: failed.
RtnMsg String(200)
Return messages to indicate whether the API is successfully executed or not.
Example
{
"RtnCode": 1,
"RtnMsg": "Success"
}