接下来我们要把前几天的内容封装成一个流程,让我们复习一下
前几天已经取得各项api所需要的基本参数了,
1.取得nonce --Day03 永丰金API 基础流程 -- Nonce
2.取得hashId --Day04 永丰金API 基础流程 -- HashID
3.取得sign --Day05 永丰金API 基础流程 -- Sign
4.取的message --Day06 永丰金API 基础流程 -- 讯息内文
接着按照步骤,
$order_api_url = 'https://apisbx.sinopac.com/funBIZ/QPay.WebAPI/api/Order'; //测试网址
public function apiService($service, $data){
//取得 Nonce 值
$Nonce = getNonce($data['ShopNo']);
//取得 HashID
$HashID = getHashID($hash);
//取得 IV
$IV = getIV($Nonce);
//取得 Sign
$Sign = getSign($data, $Nonce, $HashID);
//讯息内文 E2E 加密(先将变数为 null 移除)
$data = array_filter((array) ($data));
$Message = $this->checkMac->EncryptAesCBC(json_encode($data), $HashID, $IV);
//建立 Request
$Request = [
'Version' => '1.0.0',
'ShopNo' => ‘商家代码’,
'APIService' => $service, //服务名称 OrderCreate, OrderPayQuery
'Sign' => $Sign,
'Nonce' => $Nonce,
'Message' => $Message,
];
//取得永丰银行回覆讯息 (Day3 永丰金API 基础流程1 -- Nonce 我们之前封装的)
$Response = WebAPI($order_api_url, $Request);
//取得 Response Nonce
$ResNonce = $Response->Nonce;
//取得 Response IV
$ResIV = getIV($ResNonce);
//取得永丰银行讯息内文
$result = DecryptAesCBC($Response->Message, $HashID, $ResIV);
return $result;
}
这时候要注意的是最後还要做一个解密的流程,
//取得 Response Nonce
$ResNonce = $Response->Nonce;
//取得 Response IV
$ResIV = getIV($ResNonce);
//取得永丰银行讯息内文
$result = DecryptAesCBC($Response->Message, $HashID, $ResIV);
1.取得api回传的Nonce
2.透过该Nonce取得ResIV
3.透过一开始的HashID+ResIV进行解密(解密的函式官方有封装)
最後就会取得call api的结果
{
"OrderNo": "A201804270001",
"ShopNo": "BA0026_001",
"TSNo": "BA002600000037",
"PayType": "A",
"Amount": 50000,
"Status": "S",
"Description": "S0000 – 处理成功",
"ATMParam": {
"AtmPayNo": "atm帐号",
"WebAtmURL": "web atb url",
"OtpURL": "Otp url"
}
}
然後就可以透过ATMParam的内容就是Day2 线上金流再做什麽?,
提到要提供给小明的付款资讯,这边是以atm付款为范例,
详细有哪些项目之後会陆续介绍,以上就是封装整个call api流程的过程,
之後所有永丰金-丰收款api都是这个流程,从建立订单到查询都一样,
因此花了很多篇幅在介绍,基础流程到这里就告一段落了,
接下来就要进入各api服务的内容,下期见。
<<: 【Day13】在Ezyme上装上相对应版本的适配器(Adapter)吧´・ᴗ・`
昨天,我们把分类函数算法算完,那今天,我打算建立决策树: 有了第一个最佳分类点和数值後,接下来就要找...
缘由: 每年到了这时期,iOS开发者一定会遇到要升级的问题,想要使用更新的功能、更新OS版本的模拟器...
嘿~~ 各位好,我是菜市场阿龙! 这集要介绍的是「泡泡排序(Bubble Sort)演算法的原理」 ...
Aloha~又是我少女人妻 Uerica!今天是教师节啊~大家小时候都会写感谢恩师的卡片吗?记得刚上...
在 Web Component 中有些特别的 css styling 可以设定 , ex : 如果我...