應用場景
- 特店可使用此API取得單一發票PDF檔
- 同一IP,10秒內最多只可呼叫2次
API介接網址
- 測試環境:https://einvoice-stage.ecpay.com.tw/B2BInvoice/DownloadB2BPdf
- 正式環境:https://einvoice.ecpay.com.tw/B2BInvoice/DownloadB2BPdf
HTTPS傳輸協定
- Content Type :application/json
- HTTP Method :POST
特店傳入參數(Json格式) : 非Json格式時會回傳 "System exception"
PlatformID String(10)
特約合作平台商代號
- 提供特約合作平台商向綠界申請開通後使用,一般廠商介接請放空值。
- 平台商使用時,MerchantID(特店編號)欄位僅限帶入已綁定子廠商的特店編號,以免造成失敗。
MerchantID String(10)
特店編號 必填
RqHeader Object
傳入資料 必填
Timestamp Number
傳入時間 必填
請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。
注意事項:
- 驗證時間區間暫訂為 10 分鐘內有效,若超過此驗證時間則此次訂單將無法建立,參考資料:http://www.epochconverter.com/。
- 合作特店須進行主機「時間校正」,避免主機產生時差,導致API無法正常運作。
Data String
加密資料 必填
回傳相關資料,此為加密過JSON格式的資料。加密方法說明
特店傳入參數範例(Json格式)
{
"MerchantID": "2000132",
"RqHeader": {
"Timestamp": 1525168923
},
"Data": "加密資料"
}
Data參數說明(Json格式)
MerchantID String(10)
特店編號 必填
InvoiceCategory Int
B2B發票種類
- 0:銷項發票(查詢特店開給交易相對人的發票明細)- (預設值)
- 1:進項發票(查詢交易相對人開給特店的發票明細)
InvoiceNo String(10)
發票號碼 必填
2碼字軌+8碼數字
InvoiceDate String(20)
發票開立日期 必填
格式為「yyyy-MM-dd」or 「yyyy/MM/dd」
PrintStyle Int
發票列印格式
- 1:A4列印 (預設值)
- 2:A5列印
Data參數範例(Json格式)
{
"MerchantID": "2000132",
"InvoiceCategory": 0,
"InvoiceNo": "UV11100016",
"InvoiceDate": "2018-10-28",
"InvoiceNo": 1
}
綠界回傳參數格式
- Content Type :application/pdf
- Content-Disposition: attachment; filename=”xxxx.pdf”
當下載成功時,綠界回傳一串PDF文件的二進位檔,接收後可直接存成 .pdf 檔
只有當下載失敗時,綠界才會Response以下參數 (Json格式)
PlatformID String(10)
特約合作平台商代號
MerchantID String(10)
特店編號
RpHeader Object
回傳資料
Timestamp Number
回傳時間
時間戳 Unix timestamp
TransCode Int
回傳代碼
1 代表 API 傳輸資料(MerchantID, RqHeader, Data)接收成功,實際的 API 執行結果狀態請參考 RtnCode。
TransMsg String(200)
回傳訊息
Data String
加密資料
回傳相關資料,此為加密過JSON格式的資料。加密方法說明
綠界Response參數範例 (Json格式)
{
"MerchantID": "2000132",
"RpHeader": {
"Timestamp": "1525169058"
},
"TransCode": 1,
"TransMsg": "",
"Data": "…"
}
Data參數說明(Json格式)
RtnCode Int
回應代碼
RtnMsg String(200)
回應訊息
Data參數範例(Json格式)
{
"RtnCode": 0,
"RtnMsg": "無法下載進項發票"
}