弄了这麽久的建立订单、讯息通知,终於要来处理第三个 API 订单查询
(文件写的照贴)
OrderQuery
另外要注意的是时间的要求是不带符号,用 date('YmdHis')
大致上就可以了 (应该吧)
OK,决定一下今日目标,这里单纯追踪单笔
订单状态,
但不免俗的还是用 Postman 测一下,看回传的结果是否要解密,基础只有一个必填 ShopNo
与需要查询的订单编号 OrderNo
{
"ShopNo": "ShopNo",
"OrderNo": "20210927072942"
}
喔对是 Order 的网址,要包 sign 等等的东西,所以解密也要处理,天啊我真的是金鱼脑 T_T,写完就忘了。
那就先写 Controller 的函数吧
// app/Http/Controllers/Controller.php
public function track_order()
{
$sinopac = $this->initSinopac();
$data = $sinopac->requestDataset('OrderQuery', [
'ShopNo' => 'NA0249_001',
'OrderNo' => '20210927072942'
]);
$message = $sinopac->callApi('https://apisbx.sinopac.com/funBIZ/QPay.WebAPI/api/Order', $data);
$decrypt_message = $this->reply_message_decrypt($sinopac, $message);
dd($decrypt_message);
return $decrypt_message;
}
建立 api Route
// routes/api.php
Route::post('/track_order', [\App\Http\Controllers\Controller::class, 'track_order']);
serve 起来後,用 Postmen 看一下结果
这里要注意一下的就是 OrderList
为阵列
而每一笔订单的 PayType 会影响内容
[
'A' => 'ATMParam', // ATM
'C' => 'CardParam', // 信用卡
]
今天就先这样,明天来建立订单查询的 view,针对回覆内容来微调今天建立的 track_order
明天见
<<: 【设计+切版30天实作】|Day15 - 来个完美的简约风Footer结束这回合
今天继续把上一篇文的程序做完,没看过的记得要去看喔! 图片转向 那再来就先来做转向的部分: from...
今天玩玩时下最夯的Tailwind啦~ 把这30天的文章&Demo收集起来变成一个30天的汇整网站!...
许多高级的无线路由器都具有USB孔,不外乎可以达成几个功能:挂载成网路共用资料夹、共享印表机、透过智...
前言 昨天我们用sqlmap突破了防守,取得了一些看起来像是帐号密码的东西 user_id user...
接下来我们要针对复杂度做介绍,首先要说的就是高手们常常说的「Big O」! 但是到底什麽是 big ...