應用場景
特店開立發票後,需將發票上傳至綠界並由綠界代為上傳至財政部電子發票平台。
注意事項:
- 依據財政部之規定,請於開立發票48小時內上傳發票。
- 發票資料內容主要由廠商傳送,請確認發票資料的正確性之後再進行上傳。
API介接網址
- 正式環境:https://einvoice.ecpay.com.tw/B2CInvoice/OfflineIssue
- 測試環境:https://einvoice-stage.ecpay.com.tw/B2CInvoice/OfflineIssue
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)
特店編號 必填
MachineID String(10)
發票機台ID 必填
InvoiceNo String(10)
發票號碼 必填
InvoiceDate String(20)
發票開立日期 必填
RelateNumber String(30)
特店自訂編號 必填
TaxType String(1)
課稅類別 必填
- 1:應稅
- 2:零稅率
- 3:免稅
- 4:應稅(特種稅率)
- 9:混合應稅與免稅或零稅率時(限收銀機發票無法分辨時使用,且需通過申請核可)。
SalesAmount Int
發票總金額(含稅) 必填
InvType String(2)
字軌類別 必填
- 07:一般稅額發票
- 08:特種稅額發票
RandomNumber String(4)
隨機碼 必填
注意事項:
- 隨機碼只限使用數字,不可使用流水號。
- 請上傳實際開立發票的隨機碼,取得發票字軌號碼API提供的隨機碼僅供參考使用。
Items Array[Object]
商品
ItemSeq Int
商品序號
ItemName Stinrg(100)
商品名稱 必填
ItemCount Number
商品數量 必填
ItemWord String(6)
商品單位 必填
ItemPrice Number
商品單價 必填
ItemTaxType String(1)
商品課稅別
當課稅類別[TaxType] = 9時,此欄位不可為空。
- 1:應稅
- 2:零稅率
- 3:免稅
注意事項
當課稅類別 TaxType = 9時,免稅和零稅率發票不能同時開立。商品課稅類別只能為以下:
- 應稅+免稅
- 應稅+零稅率
ItemAmount Number
商品合計
ItemRemark String(40)
商品備註
CustomerIdentifier String(8)
統一編號
CustomerID String(20)
客戶編號
CustomerAddr String(100)
客戶地址
CustomerPhone String(20)
客戶手機號碼
CustomerEmail String(80)
客戶信箱
ClearanceMark String(1)
通關方式
當課稅類別[TaxType]=2(零稅率)時,為必填
- 1:非經海關出口
- 2:經海關出口
SpecialTaxType String(1)
特種稅額類別
- 當課稅類別[TaxType]為 1/2/9 時,請帶入【0】。
- 當課稅類別[TaxType]為 3 時,則該參數必填,請填入數字【8】。
- 當課稅類別[TaxType]為 4 時,則該參數必填,可填入數字【1-8】, 並分別代表以下類別與稅率:
1:代表酒家及有陪侍服務之茶室、咖啡廳、酒吧之營業稅稅率,稅率為25%。
2:代表夜總會、有娛樂節目之餐飲店之營業稅稅率,稅率為15%。
3:代表銀行業、保險業、信託投資業、證券業、期貨業、票券業及典當業之專屬本業收入(不含銀行業、保險業經營銀行、保險本業收入)之營業稅稅率,稅率為2%。
4:代表保險業之再保費收入之營業稅稅率,稅率為 1%。
5:代表銀行業、保險業、信託投資業、證券業、期貨業、票券業及典當業之非專屬本業收入之營業稅稅率,稅率為 5%。
6:代表銀行業、保險業經營銀行、保險本業收入之營業稅稅率(適用於民國103年07月以後銷售額),稅率為5%。
7:代表銀行業、保險業經營銀行、保險本業收入之營業稅稅率(適用於民國103年06月以前銷售額),稅率為5%。
8:代表空白為免稅或非銷項特種稅額之資料。
vat String(1)
商品單價是否含稅
InvoiceRemark String(200)
發票備註
CustomerName String(60)
客戶名稱
Print String(1)
列印註記 必填
- 0:不列印
捐贈註記[Donation]=1(捐贈)時
載具類別[CarrierType]有值時 - 1:要列印
統一編號[CustomerIdentifier]有值時
Donation String(1)
捐贈註記 必填
- 0:不捐贈 統一編號[CustomerIdentifier]有值時 載具類別[CarrierType] 有值時
- 1:要捐贈
LoveCode String(7)
捐贈碼
CarrierType String(1)
載具類別
- 空字串:
無載具
列印註記[Print] =1(列印發票) 時
統一編號[CustomerIdentifier]有值時 - 1:綠界電子發票載具
- 2:自然人憑證號碼
- 3:手機條碼載具
CarrierNum String(64)
載具編號
Data參數範例(Json格式)
{
"MerchantID": "2000132",
"MachineID": "12345678",
"InvoiceNo": "KK12345678",
"InvoiceDate": "2021-01-01 11:12:35",
"RelateNumber": "20181028000000001",
"CustomerID": "",
"CustomerIdentifier": "",
"CustomerName": "綠界科技股份有限公司",
"CustomerAddr": "106台北市南港區發票一街1號1樓",
"CustomerPhone": "",
"CustomerEmail": "test@ecpay.com.tw",
"ClearanceMark": "1",
"Print": "1",
"Donation": "0",
"LoveCode": "",
"CarrierType": "",
"CarrierNum": "",
"TaxType": "1",
"SalesAmount": 100,
"InvoiceRemark": "發票備註",
"InvType": "07",
"vat": "1",
"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"
}
]
}
綠界回傳參數(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)
回應訊息
InvoiceNo String(10)
發票號碼
RelateNumber String(30)
特店自訂編號
回傳Data參數範例
{
"RtnCode": 1,
"RtnMsg": "成功",
"InvoiceNo": "KK12345678",
"RelateNumber": "1234567890"
}