除了昨天的成立订单流程之外,还有个在处理特殊情况会用到的api,
正常情况所有的订单纪录会纪录在我们自己的资料库,
但金流api的对接有很大的机会会产生所谓的掉单,
也就是其中一方没有接收到或者接收错误另一方发送的资讯,
导致的资讯落差,我们称之为掉单,
最常见是成立订单後没有正确导向付款网址,
以及付款完成後没有修改付款状态的错误。
来人上范例!
{
"ShopNo": "商家名称"
"OrderNo": "订单编号" //option
"PayType": "A" //option 付款方式 A: atm C:信用卡
"OrderDateTimeS": "202109061200" //option 交易开始时间 格式YmdHi
"OrderDateTimeE": "202109061800" //option 交易结束时间 格式YmdHi
"PayDateTimeS": "202109061200" //option 付款开始时间 格式YmdHi
"PayDateTimeE": "202109061800" //option 付款结束时间 格式YmdHi
"PayFlag": "Y" //option 付款状态 Y: 完成付款 N: 未完成付款 O: 逾期 (在atm跟信用卡有不同定义)
}
//apIService 可参考Day7 永丰金API 基础流程5 -- 整理
echo apIService("OrderQuery", $data);
//response
{
"ShopNo": "商店编号",
"Date": "202109061614", //日期
"Status": "S",
"Description": "S0000 – 处理成功",
"OrderList": [
{
"OrderNo": "订单编号",
"TSNo": "永丰金流单号",
"TSDate": "202109061536", //交易日期
"PayDate": "202109061540", //付款日期
"Amount": 50000,
"PayType": "A", //付款方式
"PayStatus": "1A400", //付款状态
"ExpireDate": "202109162359", //atm帐号或者信用卡付款连结有效日期
"RefundFlag": "N", //有无退款
"RefundStatus": "", //退款状态
"RefundDate": "", //退款日期
"PrdtName": "虚拟帐号订单", //订单名称
"ATMParam": {
"AtmPayNo": "收款帐号",
"WebAtmURL": "webAtm url",
"OtpURL": "otp url",
"BankNo": "700", //使用者汇款银行代号
"AcctNo": "012344777" //使用者汇款帐号
},
"RefundAmount": 0 //退款金额
}
]
}
可以看出来就是类似於一般cms会出现的订单查询,有几点要注意
搜寻规则就少要有一种(订单编号、付款方式、交易开始结束、付款状态)
每次资料最多300笔
这边建议使用订单编号作为查询即可,其余的filter应该在自己DB的资料库再做查询,
该api通常是为了确定某笔有意外状况的订单使用,另外这边response只列出atm,
信用卡大致相同,就是多了一些信用卡专有的参数。
查询api的实际应用之後我们会特别说明,这边先简单跟大家介绍api所需参数以及
response,明天我们就会讲到,订单交易一个特别重要的环节,see you。
<<: AI ninja project [day 15] 文字处理--BERT分类
前言 各位早安,书接上回我们将程序码改得更方便阅读,还加上抓取连结的功能,今天我们要来介绍明天实作储...
Hi 铁人赛,这是第二次参加 2021 年又再次参与 IT 铁人赛,去年参加是因为觉得 30 岁前要...
前言 今年算是拖到最後一天最後一刻才开赛... 因为疫情的关系今年实在有点忙不过来, 因此早在两个月...
前情提要 还记得第 16 篇的时候提过下面这个 嗯... 看到标题就知道,没东西写了呢,反正剩三篇就...
今天来介绍很难预约的狗一下居酒食堂 这是去年12月底去吃的 并提前一个月预定 当天的方案是88道菜吃...