今天來說另一種消費者可以取得發票的方式
列印發票
綠界的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"
}
這時有兩種方式可以將發票列印出來
可以直接登入綠界後台,進入如下位置進行列印
將要列印的發票帶入參數中
並設定想要列印的格式
{
"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]後就可以拿到發票囉
這裡要注意的是
呼叫API取得的發票列印網址是有期限的
期限為呼叫API後的一小時內
如果超過期限就會失效
這時只能再次呼叫API重新取得發票列印網址
綠界發票列印功能是不限制列印次數的
所以要自己注意列印次數
每張發票僅能列印一次
如果同一張發票多次列印
而造成重複領獎的問題
是需要由商家自行負責的哦
只有開立發票時有帶入Print=1的發票可以使用列印功能
如果用的是Print=0
系統會回傳找不到發票哦!
以上就是列印發票的相關功能
有問題都可以下方留言
我們明天見