特約商店可用支付工具查詢API
PayPage金流交易可查詢目前特約商店所支援的支付工具有哪些,請分別依【經銷商】或【特約商店】身分進行串接。
開發者文件(詳細說明及範例碼)
- 經銷商:https://doc.usecase.cc/Payment/Agent/#d45930806e
- 特約商店:https://doc.usecase.cc/Payment/Store/#d45930806e
- 【經銷商】商務代號,尾碼 4 碼 1XXX。
- 【特約商店】商務代號,尾碼 4 碼 0XXX。
交易查詢API
PayPage金流交易訂單的交易查詢API,請分別依【經銷商】或【特約商店】身分進行串接。
開發者文件(詳細說明及範例碼)
- 經銷商:https://doc.usecase.cc/Payment/Agent/#paypage-2
- 特約商店:https://doc.usecase.cc/Payment/Store/#ca077b7e19
- 【經銷商】商務代號,尾碼 4 碼 1XXX。
- 【特約商店】商務代號,尾碼 4 碼 0XXX。
發票折讓串接
發票折讓(部分退貨/退款的電子發票折讓)操作,需走「交易退款」API 模式,並透過適當資料欄位組合來指定折讓明細。折讓的重點是針對原訂單部分金額進行退款並註記折讓,系統將自動處理電子發票折讓流程。
發票折讓串接流程
- 串接路徑:特約商店 Store 模式用 https://ka.usecase.cc/api/init,經銷商 Agent 模式用 https://ka.usecase.cc/api/agent。
- 條件:必須基於原交易訂單,發送「api/refund」命令。
POST資料結構
- 帶入原訂單的 uid(MYPAY 交易流水號)、key(交易驗證碼)。
- 設定 refund 金額(cost,為折讓金額)。
- 設定 invoice_state = 6(代表折讓處理)。
- 在 items 欄位中明確列出本次折讓的商品明細(如部分退款時僅列部分商品或數量)。
工作流程與注意事項
系統接收到退款申請後,判斷 invoice_state=6,將自動執行電子發票折讓作業。若折讓部分商品或金額,items必須僅列出折讓內容(部分退貨時不宜全部商品都列)。折讓紀錄會同步於查詢API中顯示,並可於管理後台查驗折讓結果。如何作廢發票?
發票作廢操作(即「發票折讓」與「發票註銷」),流程需依照訂單建立後的退款或折讓動作完成。作廢發票的正確步驟是利用「交易退款」API,並在資料結構中設定發票處理參數。
發票作廢操作說明
- 必須針對原交易訂單發動退款,API 路徑特約商店 Store 模式為 https://ka.usecase.cc/api/init,經銷商 Agent 模式為 https://ka.usecase.cc/api/agent,並呼叫 cmd = "api/refund"。
- 在 postData 欄位中,帶入原訂單的「uid」(MYPAY交易流水號)以及「key」(交易驗證碼),並且在退款資料裏設定 invoice_state 或相關欄位,表明此次退款屬於「發票作廢」情境。
- 退款單內容必須包含原發票明細(商品資訊、售價等),否則作廢流程無法完整,目前參考範例可設定成:
- invoice_state = 6(代表作廢或折讓狀態)
- 退款商品資訊於 items 內正確標明。
注意事項
- 只有成功完成退款動作,才會觸發發票作廢(折讓)流程。
- 若原發票有折讓或其他特殊處理,需依照 API 文件的「發票作廢/折讓」設定所有必要參數,否則系統不會正確註記作廢。
- 作廢僅對「未作廢」發票有效,不得重複註銷同一張發票。
如何發動發票折讓?
發動發票折讓的方式本質上類似,都是透過「交易退款(api/refund)」API發起折讓請求,但特約商店、經銷商兩模式在使用身分、API介接端點、必要參數等細節上有差異:
發票折讓發動方法(共通點)
- 折讓由「交易退款 API」發起,帶入折讓相關參數(invoice_state 指定為折讓狀態,退款商品明細 items 須與原發票相符)
- 送出資料前需以 AES 256 加密,並以 HTTPS POST 送出
- 發票折讓資料由系統送至財政部電子發票平台完成折讓作業
- 折讓金額與商品明細需與交易、發票一致,支持部分折讓
特約商店 vs 經銷商差異點
項目 | 特約商店串接 | 經銷商串接 |
---|---|---|
API介接網址 | https://ka.mypay.tw/api/init | https://ka.mypay.tw/api/agent |
證書授權及金鑰 | 特約商店專屬 | 經銷商專屬,可代特約商店作業 |
交易欄位中 | store_uid 等特約商店資訊 | 需有 agent_uid(經銷商商務代號)及 store_uid |
API請求格式 | POST x-www-form-urlencoded 加密資料 | POST x-www-form-urlencoded 加密資料 |
系統身份與權限 | 以特約商店直接發動 | 以經銷商身分代發特約商店訂單交易 |
發票折讓細節帶入 | invoice_state、items 等折讓欄位 | 同上,必須指定正確身分參數 |
回報與監控 | 交易回報及發票狀態連動通知 | 同上,並可透過經銷商後台管理 |
結論
- 兩者發動折讓流程原理一致,均透過「交易退款 API」帶入折讓資料發起請求,且均需要加密與 HTTPS 連線安全保護
- 經銷商串接多了 agent_uid 欄位,需要使用經銷商身份金鑰與介接端點,且可代替特約商店執行折讓
- 特約商店則直接使用 store_uid 及其金鑰介接官方 API 端點
- 開發時需根據串接身分取用正確API端點與認證資訊,折讓參數與資料格式本質無異
總之,特約商店與經銷商在技術發動發票折讓的方式上是同源的流程,差別在於 API 介接身分與端點配置,發票折讓參數使用方式是一致的。
如何知道剩下幾張電子發票號碼?
可以透過 MYPAY 交易查詢 API,查詢剩餘可用電子發票號碼數量。實際操作是在呼叫「交易查詢」時,系統回傳結果中會包含 invoice_count 欄位,其值即代表目前專戶剩下的可用電子發票張數。
查詢方式與必備欄位
- 特約商店(Store 模式)需以交易查詢 API(api/queryorder)發送查詢,必要參數為「uid」(交易流水號)與「key」(驗證碼)。
- 經銷商(Agent 模式)同樣以交易查詢 API(api/queryorder)查詢,必須帶入「uid」及「key」參數。
回傳資料解析
- 查詢回傳資料中,invoice_count 字段會回傳剩餘電子發票號碼,文件說明:「發票剩餘張數,只有打 ka.usecase.cc 和 ka.mypay.tw 才有」。
- 若發票庫存不足,系統將拒絕開立交易,需確保此欄位值大於零方可順利開立新發票。
注意事項
- invoice_count 僅於指定 MYPAY 交易查詢介面 (ka.usecase.cc 和 ka.mypay.tw) 才會有此欄位。
- 不同帳戶發票庫存獨立管理,請根據歸屬查詢。
只要透過交易查詢 API,解析回傳中的 invoice_count 欄位,即可隨時掌握剩餘電子發票號碼數量。
能只使用電子發票功能不使用金流嗎?
電子發票僅能在有 MYPAY 金流交易的前提下開立,無法只單獨使用電子發票功能。
更多 MYPAY 提供之服務與格式,應用情境請參閱:
- 經銷商:https://doc.usecase.cc/Payment/Agent/#mypay-link
- 特約商店:https://doc.usecase.cc/Payment/Store/#mypay-link
- 【經銷商】商務代號,尾碼 4 碼 1XXX。
- 【特約商店】商務代號,尾碼 4 碼 0XXX。
如何申請串接測試帳號?
device_name(設備名稱),是什麼用途?
- 主要是判別交易是有哪一台設備發出,在系統有問題時方便排查。
- 設備名稱需要對應設備的序號(SN),當設備故障時,需要重新綁定一次才能交易。
當接收MYPAY API發動交易結果,系統需要回應什麼?
請程式直接回應8888,即可。
若貴司程式沒有回應8888,MYPAY系統每間隔5分鐘持續五次。
五次後還是沒有回應,系統會寄發信件通知貴司至商家的技術人員以及附錄三額外設定的人員。
如何將金鑰發送給負責的技術人員?
當店家想要提供金鑰給委外技術人員時,可上後台到金鑰後方功能區點選重送,利用系統發送致負責的技術窗口
路徑:系統設定→金鑰管理→點選"重送"
出現重送金鑰的提醒視窗,提醒店家確認發送對象是否正確。
※系統預設發送給基本資料內的技術人員信箱,店家無法另外指定接收信箱。
該位技術人員將會收到通知信,需使用店家的商務代號解壓縮才能查看。