昨天提到今天要讲一个交易上特别重要的流程,就是付款状态!
为什麽呢?
因为在交易的过成功前是最重要的,订单建立失败顶多重新建立,
但是付钱後却没有显示付款完成绝对是大忌,使用者绝对暴跳如雷,
所以修改订单状态绝对是订单交易最重要的环节之一。
让我们回忆一下Day8 永丰金API 建立订单交易,
建立订单里面提到的BackendURL付款通知url,
使用者付款完成後,永丰金会传送付款资讯到我们填写的url,
接收到资讯透过「讯息查询服务api」来确认通知讯息内容并修改订单状态,
老样子先上范例
//永丰金传送到BackendURL的参数
{
"ShopNo": "商家编号"
"PayToken": "讯息token"
}
//apIService 可参考Day7 永丰金API 基础流程5 -- 整理
echo apIService("OrderPayQuery", $data);
//response
{
"ShopNo": "商家编号",
"PayToken": "讯息token",
"Date": "202109061735", //讯息日期
"Status": "S", //处理状态 S:成功 F:失败
"Description": "S0000 – 处理成功", //处理代码
"TSResultContent": {
"APType": "PayOut", //讯息类型 PayOut为付款结果
"TSNo": "永丰金流单号",
"OrderNo": "订单编号",
"ShopNo": "商家编号",
"PayType": "A", //付款方式
"Amount": "50000",
"Status": "S", //处理状态 S:成功 F:失败
"Description": "" //处理代码
}
}
整个流程就是接收永丰金通知资料,透过讯息查询服务api核实,
然後在修改订单付款状态,虽然流程不多,但这边也是非常重要的环节,
除了付款资讯要做二次验证之外,也容易发生掉单(掉状态)的情况,
至於为什麽要二次验证是因为,万一BackendURL位置不小心流出,
有心人士又知道的验证流程,即可仿造付款成功讯息,後果不堪设想,
虽然在永丰金里面因为通知的时候已经有透过讯息token封装过了,
应该是不会有该情况发生,不过还是养成好习惯。
另外一样这边只列出必要参数,还有一些详细的设定可以客制化例如自订栏位、
信用卡授权资讯,这边就不多做介绍。
<<: [Day15] Tableau 轻松学 - 地图工作表
遍历字典 Items() 可以取得key跟value Key() 只取得key Values() ...
本篇同步发布於个人Blog: [PoEAA] Data Source Architectural P...
一. 资料准备 这边的code是参考coursera上课程的code,根据自己的需求改成中文的范例 ...
建议搭配之前的 sequence diagram 一起服用! Dry Initializer 在进到...
建议跟Node.js搭配食用--->https://ithelp.ithome.com.tw/...