應用場景
特店可使用此API查詢已開立發票資訊,綠界會以回傳參數方式回覆該張發票資料。此方式可協助營業人將查詢發票機制整合至營業人網站,提供買受人可於營業人網站快速查詢。
如有多筆大量查詢需求,建議使用查詢特定多筆發票。
API介接網址
- 測試環境:https://einvoice-stage.ecpay.com.tw/B2CInvoice/GetIssue
- 正式環境:https://einvoice.ecpay.com.tw/B2CInvoice/GetIssue
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": "加密資料"
}
情境一:以特店自訂編號[RelateNumber]做查詢
Data參數說明(Json格式) : 請先將Json字串進行urlencode後再進行AES加密
MerchantID String(10)
特店編號 必填
RelateNumber String(30)
特店自訂編號 必填
需為唯一值不可重複使用。
注意事項:
請勿使用特殊符號
Data參數範例(Json格式)
{
"MerchantID": 2000132,
"RelateNumber": "20181028000000020"
}
情境二:以發票號碼[InvoiceNo]與發票開立日期[InvoiceDate]做查詢
Data參數說明(Json格式) : 請先將Json字串進行urlencode後再進行AES加密
MerchantID String(10)
特店編號 必填
InvoiceNo String(10)
發票號碼 必填
InvoiceDate String(10)
發票開立日期 必填
格式為「yyyy-MM-dd」or「yyyy/MM/dd」
Data參數範例(Json格式)
{
"MerchantID": "2000132",
"InvoiceNo": "AA123456",
"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格式) : 請先將Data進行AES解密後再做urldecode
RtnCode Int
回應代碼
1 代表 API 執行成功,其餘代碼均為失敗。
RtnMsg String(200)
回應訊息
IIS_Mer_ID String(10)
特店編號
ChannelPartner String(1)
通路商編號
1:蝦皮
IIS_Number String(10)
發票號碼
IIS_Relate_Number String(30)
特店自訂編號
IIS_Customer_ID String(20)
客戶編號
IIS_Identifier String(10)
買方統編
0000000000代表沒有統編
IIS_Customer_Name String(60)
客戶名稱
IIS_Customer_Addr String(100)
客戶地址
IIS_Customer_Phone String(20)
客戶電話
IIS_Customer_Email String(80)
客戶電子信箱
IIS_Clearance_Mark String(1)
通關方式
注意事項:
只有零稅率才會回傳以下資料
1:非經海關出口
2:經海關出口
IIS_Type String(2)
發票種類
07:一般稅額計算
08:特種稅額
IIS_Category String(10)
發票類別
B2B:表示開立發票時有含統編
B2C:表示開立發票時沒有含統編
IIS_Tax_Type String(1)
課稅別
1:應稅
2:零稅率
3:免稅
4:應稅(特種稅率)
9:若為混合應稅與免稅或零稅率
[預計2025/Q2 正式環境上線]
ZeroTaxRateReason String(2)
零稅率原因
71:第一款 外銷貨物
72:第二款 與外銷有關之勞務,或在國內提供而在國外使用之勞務
73:第三款 依法設立之免稅商店銷售與過境或出境旅客之貨物
74:第四款 銷售與保稅區營業人供營運之貨物或勞務
75:第五款 國際間之運輸。但外國運輸事業在中華民國境內經營國際運輸業務者,應以各該國對中華民國國際運輸事業予以相等待遇或免徵類似稅捐者為限
76:第六款 國際運輸用之船舶、航空器及遠洋漁船
77:第七款 銷售與國際運輸用之船舶、航空器及遠洋漁船所使用之貨物或修繕勞務78:第八款 保稅區營業人銷售與課稅區營業人未輸往課稅區而直接出口之貨物
79:第九款 保稅區營業人銷售與課稅區營業人存入自由港區事業或海關管理之保稅倉庫、物流中心以供外銷之貨物
SpecialTaxType Int
特種稅額類別
- 當課稅類別[TaxType]為1/2/9時,系統將會自動帶入數字【0】
- 當課稅類別[TaxType]為3時,則該參數必填,請填入數字【8】
- 當課稅類別[TaxType]為4時,則該參數必填,可填入數字【1-8】,
- 數字【1-8】並分別代表以下類別與稅率
1:
代表酒家及有陪侍服務之茶室、咖啡廳、酒吧之營業稅稅率,稅率為25%
2:
代表夜總會、有娛樂節目之餐飲店之營業稅稅率,稅率為15%
3:
代表銀行業、保險業、信託投資業、證券業、期貨業、票券業及典當業之專屬本業收入(不含銀行業、保險業經營銀行、保險本業收入)之營業稅稅率,稅率為2%
4:
代表保險業之再保費收入之營業稅稅率,稅率為1%
5:
代表銀行業、保險業、信託投資業、證券業、期貨業、票券業及典當業之非專屬本業收入之營業稅稅率,稅率為5%
6:
代表銀行業、保險業經營銀行、保險本業收入之營業稅稅率(適用於民國103年07月以後銷售額) ,稅率為5%
7:
代表銀行業、保險業經營銀行、保險本業收入之營業稅稅率(適用於民國103年06月以前銷售額) ,稅率為5%
8:
代表空白為免稅或非銷項特種稅額之資料
IIS_Tax_Rate Number
稅率
小數點2位
IIS_Tax_Amount Number
稅金
- 當發票有統編時,才會回傳稅金
- 當發票沒有統編時,稅金包含在發票金額內,不拆算稅金,故回傳值為0
- 支援整數11位
IIS_Sales_Amount Number
發票金額
支援整數12位
IIS_Check_Number String(4)
發票檢查碼
注意事項:此參數已停用,請忽略此參數的回傳值
IIS_Carrier_Type String(1)
載具類別
無載具:為空值
1:為綠界電子發票載具
2:為消費者自然人憑證
3:為消費者手機條碼
IIS_Carrier_Num String(64)
載具編號
- 若無載具為空值
- 綠界電子發票載具時,為客戶電子信箱或客戶手機號碼擇一(以客戶電子信箱優先),請注意,綠界會重新編碼後產出綠界載具編號。
- 消費者使用載具為自然人憑證,格式應為2碼大寫英文字母加上14碼數字(長度共16碼)
- 消費者使用載具為手機條碼時,目前總長度共為8碼,格式應為第1碼「/」加上由7碼數字及大寫英文字母及+-符號所組成。
IIS_Love_Code String(7)
捐款單位捐贈碼
IIS_IP String(20)
發票開立IP
IIS_Create_Date String(20)
發票開立時間
格式為「yyyy-MM-dd HH:mm:ss」
IIS_Issue_Status String(1)
發票開立狀態
1:發票開立
0:發票註銷
IIS_Invalid_Status String(1)
發票作廢狀態
1:已作廢時
0:未作廢
IIS_Upload_Status String(1)
發票上傳狀態
1:已上傳
0:未上傳
IIS_Upload_Date String(20)
發票上傳時間
格式為「yyyy-MM-dd HH:mm:ss」
IIS_Turnkey_Status String(1)
發票上傳後接收狀態
C:成功
E:失敗
G:處理中(待財政部回覆狀態)
P:處理中(上傳財政部中)
IIS_Remain_Allowance_Amt Number
折讓剩餘金額
支援整數12位
IIS_Print_Flag String(1)
列印旗標
1:列印
0:不列印
IIS_Award_Flag String(1)
中獎旗標
空值:未對獎、不可對獎(如:捐贈之發票)
0:未中獎
1:已中獎
X:有統編之發票
IIS_Award_Type String(2)
中獎種類
12:雲端發票獎800元
11:雲端發票獎500元
10:雲端發票獎100萬元
9:雲端發票獎2000元
8:特別獎 一千萬
7:特獎 二百萬元
1:頭獎 二十萬元
2:二獎 四萬元
3:三獎 一萬元
4:四獎 四千元
5:五獎 一千元
6:六獎 二百元
0:未中獎
Items Array[Object]
商品
ItemSeq Int
商品序號
ItemName String(100)
商品名稱
ItemCount Number
商品數量
- 支援整數8位,小數2位
ItemWord String(6)
商品單位
ItemPrice Number
商品單價
- 此為含稅單價金額
- 支援整數10位,小數7位
ItemTaxType String(1)
商品課稅別
1:應稅
2:零稅率
3:免稅
注意事項:
- 預設為空字串,當課稅類別[TaxType] = 9時,此欄位不可為空。
- 課稅類別為混合稅率時,需含二筆或以上的商品課稅別[ItemTaxType],且至少需有一筆商品課稅別為應稅及至少需有一筆商品課稅別為免稅或零稅率,即混稅發票只能
1.應稅+免稅
2.應稅+零稅率,
免稅和零稅率發票不能同時開立。
ItemAmount Number
商品合計
- 此為含稅小計金額
- 支援整數12位,小數7位
ItemRemark String(40)
商品備註說明
若未帶此參數或此參數無值時,預設為空白
IIS_Random_Number String(4)
隨機碼
四碼的隨機數字 (2014-01-01起)
InvoiceRemark String(200)
發票備註
PosBarCode String(Max)
顯示電子發票BARCODE用
- 用於顯示電子發票BARCODE用。(此回傳參數僅供POS廠商專用)。
- POS廠商要自行開發發票版型,請與綠界提出申請方可使用。
QRCode_Left String(Max)
顯示電子發票BARCODE左邊用
- 用於顯示電子發票QRCODE左邊用的,必須先在綠界設定密碼種子才會協助壓碼回傳。(此回傳參數僅供POS廠商專用)。
- 若POS廠商要自行開發發票版型,請與綠界提出申請方可使用。
QRCode_Right String(Max)
顯示電子發票BARCODE右邊用
- 用於顯示電子發票QRCODE右邊用的,必須先在綠界設定密碼種子才會協助壓碼回傳。(此回傳參數僅供POS廠商專用)。
- 若POS廠商要自行開發發票版型,請與綠界提出申請方可使用。
注意事項:
為避免QR Code過於複雜無法辨識,QR Code僅顯示前2個商品品項,完整商品品項請以上傳財政部內容為主
Data參數範例
{
"IIS_Mer_ID": "2000132",
"ChannelPartner": "",
"IIS_Number": "UV11100012",
"IIS_Relate_Number": "20181028000000020",
"IIS_Customer_ID": "",
"IIS_Identifier": "0000000000",
"IIS_Customer_Name": "綠界科技股份有限公司",
"IIS_Customer_Addr": "106台北市南港區發票街1號1樓",
"IIS_Customer_Phone": "",
"IIS_Customer_Email": "test@ecpay.com.tw",
"IIS_Clearance_Mark": "",
"IIS_Type": "07",
"IIS_Category": "B2C",
"IIS_Tax_Type": "1",
"IIS_Tax_Rate":0.050,
"IIS_Tax_Amount": 0,
"IIS_Sales_Amount": 100,
"IIS_Check_Number": "P",
"IIS_Carrier_Type": "",
"IIS_Carrier_Num": "",
"IIS_Love_Code": "0",
"IIS_IP": "0",
"IIS_Create_Date": "2019-09-17 17:17:31",
"IIS_Issue_Status": "1",
"IIS_Invalid_Status": "0",
"IIS_Upload_Status": "0",
"IIS_Upload_Date": "",
"IIS_Turnkey_Status": "",
"IIS_Remain_Allowance_Amt": 0,
"IIS_Print_Flag": "1",
"IIS_Award_Flag": "",
"IIS_Award_Type": "",
"IIS_Random_Number": "6866",
"IIS_Comment": "發票備註",
"QRCode_Left": "UV111000121080917686600000000000000640000000011456006Sxys2hDhHuVVGnbc7XhCOg==:**********:2:3:1:item01:1:50:",
"QRCode_Right": "**item02:1:20",
"PosBarCode": "10810UV111000126866",
"Items": [
{
"ItemSeq": 1,
"ItemName": "item01",
"ItemCount": 1,
"ItemWord": "件",
"ItemPrice": 50,
"ItemTaxType": "1",
"ItemAmount": 50,
"ItemRemark": "item01_desc"
},
{
"ItemSeq": 2,
"ItemName": "item02",
"ItemCount": 1,
"ItemWord": "個",
"ItemPrice": 20,
"ItemTaxType": "1",
"ItemAmount": 20,
"ItemRemark": "item02_desc"
},
{
"ItemSeq": 3,
"ItemName": "item03",
"ItemCount": 3,
"ItemWord": "粒",
"ItemPrice": 10,
"ItemTaxType": "1",
"ItemAmount": 30,
"ItemRemark": "item03_desc"
}
],
"RtnCode": 1,
"RtnMsg": "查詢成功"
}
電子發票QRCODE示意圖說明
YAML
提供的 YAML 文件用於定義 API 的配置、結構、操作和基礎設施管理等資訊,方便開發人員理解和使用 API。
openapi: 3.1.0
info:
title: ECPay Query Invoice Details 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/GetIssue:
post:
summary: Query Invoice Details
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
- RelateNumber
- InvoiceNo
- InvoiceDate
properties:
MerchantID:
type: string
maxLength: 10
description: Merchant ID
InvoiceNo:
type: string
description: Invoice number
InvoiceDate:
type: string
format: date
description: Invoice date (yyyy-MM-dd or yyyy/MM/dd)
RelateNumber:
type: string
maxLength: 30
description: Unique merchant number
responses.Data:
type: object
properties:
RtnCode:
type: integer
description: Response code
RtnMsg:
type: string
maxLength: 200
description: Response message
IIS_Mer_ID:
type: string
maxLength: 10
description: Merchant ID
ChannelPartner:
type: string
maxLength: 1
description: Channel partner ID
IIS_Number:
type: string
maxLength: 10
description: Invoice number
IIS_Relate_Number:
type: string
maxLength: 30
description: Merchant-defined unique number
IIS_Customer_ID:
type: string
maxLength: 20
description: Customer ID
IIS_Identifier:
type: string
maxLength: 10
description: Customer identifier
IIS_Customer_Name:
type: string
maxLength: 60
description: Customer name
IIS_Customer_Addr:
type: string
maxLength: 100
description: Customer address
IIS_Customer_Phone:
type: string
maxLength: 20
description: Customer phone
IIS_Customer_Email:
type: string
maxLength: 80
description: Customer email
IIS_Clearance_Mark:
type: string
maxLength: 1
description: Clearance mark
IIS_Type:
type: string
maxLength: 2
description: Invoice type
IIS_Category:
type: string
maxLength: 10
description: Invoice category
IIS_Tax_Type:
type: string
maxLength: 1
description: Tax type
SpecialTaxType:
type: integer
description: Special tax type
IIS_Tax_Rate:
type: number
description: Tax rate
IIS_Tax_Amount:
type: number
description: Tax amount
IIS_Sales_Amount:
type: number
description: Sales amount
IIS_Check_Number:
type: string
maxLength: 4
description: Check number
IIS_Carrier_Type:
type: string
maxLength: 1
description: Carrier type
IIS_Carrier_Num:
type: string
maxLength: 64
description: Carrier number
IIS_Love_Code:
type: string
maxLength: 7
description: Donation code
IIS_IP:
type: string
maxLength: 20
description: Invoice issuance IP
IIS_Create_Date:
type: string
description: Invoice creation date
IIS_Issue_Status:
type: string
maxLength: 1
description: Invoice issuance status
IIS_Invalid_Status:
type: string
maxLength: 1
description: Invoice invalidation status
IIS_Upload_Status:
type: string
maxLength: 1
description: Invoice upload status
IIS_Upload_Date:
type: string
description: Invoice upload date
IIS_Turnkey_Status:
type: string
maxLength: 1
description: Turnkey status
IIS_Remain_Allowance_Amt:
type: number
description: Remaining allowance amount
IIS_Print_Flag:
type: string
maxLength: 1
description: Print flag
IIS_Award_Flag:
type: string
maxLength: 1
description: Award flag
IIS_Award_Type:
type: string
maxLength: 2
description: Award type
Items:
type: array
items:
type: object
required:
- ItemSeq
- ItemName
- ItemCount
- ItemWord
- ItemPrice
- ItemAmount
properties:
ItemSeq:
type: integer
description: Item sequence number
ItemName:
type: string
maxLength: 100
description: Item name
ItemCount:
type: number
description: Item quantity
ItemWord:
type: string
maxLength: 6
description: Item unit
ItemPrice:
type: number
description: Item unit price
ItemTaxType:
type: string
maxLength: 1
description: Item tax type
ItemAmount:
type: number
description: Item total amount
ItemRemark:
type: string
maxLength: 40
description: Item remark
IIS_Random_Number:
type: string
maxLength: 4
description: Random number
InvoiceRemark:
type: string
maxLength: 200
description: Invoice remark
PosBarCode:
type: string
description: Barcode for electronic invoice
QRCode_Left:
type: string
description: Left QR code for electronic invoice
QRCode_Right:
type: string
description: Right QR code for electronic invoice