應用場景
API介接網址
- 正式環境:https://einvoice.ecpay.com.tw/B2CInvoice/GetOfflineInvoiceWordSettingNumber
- 測試環境:https://einvoice-stage.ecpay.com.tw/B2CInvoice/GetOfflineInvoiceWordSettingNumber
HTTPS 傳輸協定
- Content Type :application/json
- HTTP Method :POST
特店傳入參數(Json格式)
PlatformID String(10)
特約合作平台商代號
- PlatformID為與綠界有合作專案的特約平台商身分使用。一般特店或賣家身分(Merchant),或平台商本身,此參數請帶放空值。
- 若隸屬於特約平台商的一般特店,此參數請帶放平台商的MerchantID。
RqHeader Object
傳入資料 必填
Timestamp String(10)
傳入時間
請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。
注意事項:
- 驗證時間區間為 10 分鐘內有效,若超過此驗證時間則此次API request將無法建立,參考資料:http://www.epochconverter.com/。
- 特店需進行主機「時間校正」,避免主機產生時差,造成API request失敗。
Data String
加密資料 必填
特店傳入參數範例(Json格式)
{
"MerchantID": "2000132",
"RqHeader": {
"Timestamp": "1525168923",
"Revision": "1.0.0"
},
"Data": "加密資料"
}
Data參數說明(Json格式)
MerchantID String(10)
特店編號 必填
InvoiceYear String(3)
發票年度 必填
InvoiceTerm Int
發票期別 必填
不可帶入小於當年期別
- 1: 1-2月
- 2: 3-4月
- 3: 5-6月
- 4: 7-8月
- 5: 9-10月
- 6: 11-12月
InvoiceStatus Int
發票字軌狀態 必填
- 1:啟用
- 2:備用字軌
MachineID String(10)
發票機台ID 必填
Data參數範例(Json格式)
{
"MerchantID": "2000132",
"InvoiceYear": "109",
"InvoiceTerm": 1,
"InvoiceStatus": 1,
"MachineID": "A123456"
}
綠界回傳參數(Json格式)
PlatformID String(10)
特約合作平台商代號
MerchantID String(10)
特店編號
RpHeader Object
傳入資料
Timestamp String(10)
傳入時間
請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。
TransCode Int
回傳代碼
1 代表 API 傳輸資料(MerchantID, RqHeader, Data)接收成功,實際的 API 執行結果狀態請參考 RtnCode。
TransMsg String(200)
回傳訊息
Data String
加密資料
綠界回傳參數範例
{
"MerchantID": "2000132",
"RpHeader": {
"Timestamp": "1525169058"
},
"TransCode": 1,
"TransMsg": "",
"Data": "加密資料"
}
Data參數(Json格式)
RtnCode Int
回應代碼
1 代表 API 執行成功,其餘代碼均為失敗,失敗代碼請參考交易訊息代碼表。
RtnMsg String(200)
回應訊息
InvoiceInfo Array[Object]
發票字軌號碼清單
InvoiceNo String(10)
發票號碼
RandomNumber String(4)
隨機碼
電子發票證明聯內的4碼隨機碼。
相同的發票字軌如果重覆取號,會回傳不同的隨機碼。
EncryptData String(24)
加密驗證資料
發票號碼10碼+隨機碼4碼以字串方式合併後使用AES加密並採用Base64編碼轉換
Times Int
已取次數
回傳Data參數範例
{
"RtnCode": 1,
"RtnMsg": "成功",
"InvoiceInfo": {
"InvoiceNo": "TW12345678",
"RandomNumber": "1095",
"EncryptData": "encrypt data"
},{
"InvoiceNo": "TW12345677",
"RandomNumber": "1125",
"EncryptData": "encrypt data"
},
"Times": 1
}