iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
自我挑戰組

串接綠界服務的疑難雜症詳解系列 第 26

【綠界發票】電子發票串接-發票列印

  • 分享至 

  • xImage
  •  

今天來說另一種消費者可以取得發票的方式
列印發票

綠界的API也有提供列印發票的功能

但有個前提

就是建立發票時print=1
要設定為「要列印」才可以

也就是說,只要是存入載具的發票就無法進行列印

為什麼呢?

試想,如果已經存入載具,代表已經拿到發票了
這時又拿一張紙本發票,不就等於多拿一次發票嗎?

如果這張發票中獎,那消費者可以重複兌獎?

所以只有print=1的發票才可以使用綠界的發票列印服務喔

這裡我們先試開一張有設定print=1的發票

{
  "MerchantID": "2000132",
  "RelateNumber": "20240920101432",
  "CustomerID": "",
  "CustomerIdentifier": "",
  "CustomerName": "tester",
  "CustomerAddr": " ",
  "CustomerPhone": "0911111111",
  "CustomerEmail": "ren@test.com.tw",
  "Print": "1",
  "Donation": "0",
  "LoveCode": "",
  "CarrierType": "",
  "CarrierNum": "",
  "TaxType": "1",
  "SalesAmount": 400,
  "Items": [
    {
      "ItemName": "toy1",
      "ItemCount": "1",
      "ItemWord": "test",
      "ItemPrice": "100",
      "ItemTaxType": "1",
      "ItemAmount": "100",
      "ItemRemark": ""
    },
    {
      "ItemName": "toy2",
      "ItemCount": "2",
      "ItemWord": "個",
      "ItemPrice": "150",
      "ItemTaxType": "1",
      "ItemAmount": "300",
      "ItemRemark": ""
    }
  ],
  "InvType": "07",
  "vat": "1"
}

成功開立發票

{
  "RtnCode": 1,
  "RtnMsg": "開立發票成功",
  "InvoiceNo": "SK10030017",
  "InvoiceDate": "2024-09-20 10:14:32",
  "RandomNumber": "0118"
}

這時有兩種方式可以將發票列印出來

1. 使用綠界廠商管理後台

可以直接登入綠界後台,進入如下位置進行列印
https://ithelp.ithome.com.tw/upload/images/20240920/20168877z5H7SQC0pj.png

2. 使用「發票列印」API

將要列印的發票帶入參數中
並設定想要列印的格式

{
  "MerchantID": "2000132",
  "InvoiceNo": "SK10030017",
  "InvoiceDate": "2024-09-20",
  "IsShowingDetail": 1,
  "PrintStyle": 1
}

呼叫API成功後可以拿到

{
  "MerchantID": 2000132,
  "RpHeader": {
    "Timestamp": 1726799185
  },
  "TransCode": 1,
  "TransMsg": "Success",
  "Data": "6xafbXXjyQnBuHWKr5nDl3elIhyu1OUPiZsXnreThwQf0919Rla42E4d8PtboHUm7NXY97tY4ywOv8vq6OUdxowT8KVslOdtPcTxQeGWoKXySmztxBINpietYDEqg1kCK9hP4Gk+4e+dr7pJwAfT7MjQhzrn4D8wlsJ5WYozvnNOsI5L3EP0J2h9AWeAKQgeA/67XN3sF+auEquk5mLNSfyUde4GGB4fA1T53Ppi8iyS/buSHWp1LngvHY4SQ1y0MSiSgmqmw5pvcCD9OZhRlV0gw/9FLguERUDkvgEq8+UhEdCqKwocQD33sIj9qvUZ78/mlMykB08aJUuwD4DNfMMCQ7IBej6Q0eOibKO5BqWxH7+7ABWu2N3dEuG+efLvGFYHJUK6YJIvgfqadg3Z9gMOFnjuvIriw57/P59zJpAXKtPEoPY8uOOrWPp/eMkIHrlbG9Md6KLmxbefDcxBgAv7pUNuexzzF7EbFNIs6bhE4o/F/dJoaINmnRgkPFwPNtTG24IL6/sQ8unuwFKFLwcaYpkaVf430TH5RvB8g6oKeOdXnXE0oP++vB++oJzsD77G4IDbN2RNOOennU5w9TOBZnttGcW19ov9SuWTQoPjHQlDfLGXki1+gT/UEIZJ"
}

記得要解密data

{
  "RtnCode": 1,
  "RtnMsg": "成功",
  "InvoiceHtml": "https://vendor-stage.ecpay.com.tw/Einvoice/OfflineAPIInvoicePrint?Data=F4285C8343D826509F93ADEFD496536E2CA7813D9183D5194E881997E0131FCAAC8CFF0A9F40C2FDE5AFEDD2951867055E9604F56A1DC58F243E3C032313A509E1006E27FFD56B4D5BFC6D5661D1AE2C22DD883FDB76B11C2077ACB2C0904DEFBA0A6B20CCF4FEA124B43B916CE21B9B6731D1173D02B4F826CE4DE4F085BD4827C40C1C954348050778CDF5DB5012E5"
}

可以看到,綠界會回傳一組[InvoiceHtml]

自行轉跳至[InvoiceHtml]後就可以拿到發票囉
https://ithelp.ithome.com.tw/upload/images/20240920/20168877ZohL1VD7Uf.png

這裡要注意的是
呼叫API取得的發票列印網址是有期限的
期限為呼叫API後的一小時內
如果超過期限就會失效
這時只能再次呼叫API重新取得發票列印網址


注意事項1:

綠界發票列印功能是不限制列印次數的
所以要自己注意列印次數
每張發票僅能列印一次
如果同一張發票多次列印
而造成重複領獎的問題
是需要由商家自行負責的哦

注意事項2:

只有開立發票時有帶入Print=1的發票可以使用列印功能
如果用的是Print=0
系統會回傳找不到發票哦!


以上就是列印發票的相關功能

有問題都可以下方留言

我們明天見


上一篇
【綠界發票】電子發票串接-發票載具
下一篇
【綠界發票】電子發票串接-驗證API
系列文
串接綠界服務的疑難雜症詳解30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言