Scenarios
- Merchant receives an invoice message and discovers an error in the content (e.g., wrong quantity, unit price, or name) and refuses to confirm this invoice message.
- Merchant(Business Entity) sends the rejected invoice parameters to Green World Technology Value-Added Center (hereinafter referred to as Green World) and Green World temporarily stores the relevant information.
- Green World uploads the invoice rejected information to The E-Invoice Platform of Ministry of Finance on the next day, and notifies the Counterparty (Business Entity) that the E-invoice has been rejected according to the Send E-invoices Status Notices API setting.
API URLs:
- Stage: https://einvoice-stage.ecpay.com.tw/B2BInvoice/Reject
- Production: https://einvoice.ecpay.com.tw/B2BInvoice/Reject
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
- Number of e-invoice
InvoiceDate String(20)
Required
- The format is yyyy-mm-dd
Reason String(20)
Required
Cancel Reason
Remark String(200)
Example
{
"MerchantID": "2000132",
"InvoiceNumber": "VG11000001",
"InvoiceDate": "2019-09-22",
"Reason": "Reject_Reason",
"Remark": " Buyer_Reject_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.
- 1 is success, others are failure.
RtnMsg String(200)
Return messages to indicate whether the API is successfully executed or not.
Example
{
"RtnCode": 1,
"RtnMsg": "Success"
}