應用場景
特店可使用此API取得發票列印網址
API介接網址
- 測試環境:https://einvoice-stage.ecpay.com.tw/B2CInvoice/InvoicePrint
- 正式環境:https://einvoice.ecpay.com.tw/B2CInvoice/InvoicePrint
HTTPS傳輸協定
- Content Type :application/json
- HTTP Method :POST
特店傳入參數(Json格式)
PlatformID String(10)
特約合作平台商代號
- 這個參數是專為與綠界簽約的指定平台商所設計,只有在申請開通後才能使用。
- 如果您是一般廠商,請在介接時將此參數欄位保留為空。
- 對於平台商,在使用時需要在MerchantID(特店編號)欄位中填入與您已經完成綁定子廠商的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)
特店編號 必填
InvoiceNo String(10)
發票號碼 必填
2碼字軌+8碼數字
InvoiceDate String(20)
發票開立日期 必填
格式為「yyyy-MM-dd」或 「yyyy/MM/dd」
PrintStyle Int
發票列印格式
1:一般列印(單面),預設
2:一般列印(雙面)
3:熱感應紙列印
4:B2B A4(僅限帶有統編的發票才能使用)
5:B2B A5(僅限帶有統編的發票才能使用)
IsReprintInvoice String(1)
是否顯示補印發票
Y:顯示為”電子發票證明聯補印”
注意事項:
- 只有當參數[PrintStyle]發票列印格式,為
1:一般列印(單面),預設
2:一般列印(雙面)
3:熱感應紙列印
此參數才有效,B2B發票格式沒有補印 - 如果未帶此參數 或 [PrintStyle]發票列印格式為4或5,一律顯示為”電子發票證明聯”
- 帶入其他非Y的值視同未帶此參數
IsShowingDetail Int
是否顯示明細
1:顯示明細
2:隱藏明細
注意事項:
- 帶統編的發票,一律顯示明細,不會參照此參數設定
- 如果未帶此參數,“帶統編”的發票會預設“顯示”明細,“不帶統編”的發票會預設“不顯示”明細
- 發票列印格式[PrintStyle]為B2B A4 或 B2B A5時,一律顯示明細,不會參照此參數設定
Data參數範例(Json格式)
{
"MerchantID": "2000132",
"InvoiceNo": "UV11100016",
"InvoiceDate": "2018-10-28"
}
綠界回傳參數格式
- Content Type :application/json
- HTTP Method :POST
綠界回傳參數(Json格式)
PlatformID String(10)
特約合作平台商代號
MerchantID String(10)
特店編號
RpHeader Object
回傳資料
Timestamp Number
回傳時間
Unix timestamp(GMT+8)
TransCode Int
回傳代碼
1 代表 API 傳輸資料(MerchantID, RqHeader, Data)接收成功,實際的 API 執行結果狀態請參考 RtnCode。
TransMsg String(200)
回傳訊息
Data String
加密資料
回傳相關資料,此為加密過JSON格式的資料。加密方法說明
綠界回傳參數範例
{
"MerchantID": "2000132",
"RpHeader": {
"Timestamp": 1525169058
},
"TransCode": 1,
"TransMsg": "",
"Data": "加密資料"
}
回傳Data參數說明(Json格式)
RtnCode Int
回應代碼
1 代表 API 執行成功,其餘代碼均為失敗。
RtnMsg String(200)
回應訊息
InvoiceHtml String
發票列印網址
該網址有效時間為,從呼叫此列印API開始計算 1小時內有效
回傳Data參數範例
{
"RtnCode": 1,
"RtnMsg": "成功",
"InvoiceHtml": "https://aa.aa.aa"
}
YAML
提供的 YAML 文件用於定義 API 的配置、結構、操作和基礎設施管理等資訊,方便開發人員理解和使用 API。
openapi: 3.1.0
info:
title: ECPay Invoice Print API
version: 1.0.0
servers:
- url: https://einvoice-stage.ecpay.com.tw
description: Testing Environment
- url: https://einvoice.ecpay.com.tw
description: Production Environment
paths:
/B2CInvoice/InvoicePrint:
post:
summary: Invoice Print
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- MerchantID
- RqHeader
- Data
properties:
PlatformID:
type: string
maxLength: 10
description: Platform ID for partnered platforms
MerchantID:
type: string
maxLength: 10
description: Merchant ID
RqHeader:
type: object
required:
- Timestamp
properties:
Timestamp:
type: integer
description: Unix timestamp (GMT+8)
Data:
type: string
description: Encrypted data containing request details
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
properties:
PlatformID:
type: string
maxLength: 10
description: Platform ID for partnered platforms
MerchantID:
type: string
maxLength: 10
description: Merchant ID
RpHeader:
type: object
properties:
Timestamp:
type: integer
description: Unix timestamp (GMT+8)
TransCode:
type: integer
description: Transmission code
TransMsg:
type: string
maxLength: 200
description: Transmission message
Data:
type: string
description: Encrypted data containing response details
components:
schemas:
requestBody.Data:
type: object
required:
- MerchantID
- InvoiceNo
- InvoiceDate
properties:
MerchantID:
type: string
maxLength: 10
description: Merchant ID
InvoiceNo:
type: string
maxLength: 10
description: Invoice number
InvoiceDate:
type: string
description: Invoice issue date in 'yyyy-MM-dd' or 'yyyy/MM/dd' format
PrintStyle:
type: integer
description: Print style (1 is single-sided, 2 is double-sided, 3 is thermal, 4 is B2B A4, 5 is B2B A5)
IsShowingDetail:
type: integer
description: Show details (1 is Yes, 2 is No)
IsReprintInvoice:
type: string
description: Reprinting of invoices (Y is show)
responses.Data:
type: object
properties:
RtnCode:
type: integer
description: Response code
RtnMsg:
type: string
maxLength: 200
description: Response message
InvoiceHtml:
type: string
description: URL for invoice print (valid for 1 hour)