最近让对接连连支付的快捷支付,但是因为暂时没有申请下来所以就先接了网银支付。刚入行不多久,也是第一次接触支付,所以还是挺有意义的,中间也遇到挺多问题,现在就来分享一下。
配置商户站,申请 请求ip 下载连连给的 opssl.exe 来生成 商户公私钥 在安全中心 配置商户公钥。
然后下载官方的SDK 进入到项目,
再将config文件配置好,要特别注意连连给的公钥一定按照它的格式
将自己要使用的支付接口的参数配置好,开始请求支付接口,根据给出的SDK进行修改即可,然后就是回调。
回调会进入到 llpay_notify 中
可以将回调的参数存入到文件中,然后将返回的参数进行验签,需要修改官方给的demo
function verifyNotify() {
//生成签名结果
$is_notify = true;
include_once ('llpay_cls_json.php');
$json = new JSON;
$str = file_get_contents("php://input");
$val = $json->decode($str);
//这里的参数是回调返回的参数
$oid_partner = getJsonVal($val,'oid_partner' );
$sign_type = getJsonVal($val,'sign_type' );
$sign = getJsonVal($val,'sign' );
$dt_order = getJsonVal($val,'dt_order' );
$no_order = getJsonVal($val,'no_order' );
$oid_paybill = getJsonVal($val,'oid_paybill' );
$money_order = getJsonVal($val,'money_order' );
$result_pay = getJsonVal($val,'result_pay' );
$settle_date = getJsonVal($val,'settle_date' );
$info_order = getJsonVal($val,'info_order');
$pay_type = getJsonVal($val,'pay_type' );
$bank_code = getJsonVal($val,'bank_code' );
$no_agree = getJsonVal($val,'no_agree' );
$id_type = getJsonVal($val,'id_type' );
$id_no = getJsonVal($val,'id_no' );
$acct_name = getJsonVal($val,'acct_name' );
//首先对获得的商户号进行比对
if ($oid_partner != $this->llpay_config['oid_partner']) {
//商户号错误
return;
}
$parameter = array (
'oid_partner' => $oid_partner,
'sign_type' => $sign_type,
'dt_order' => $dt_order,
'no_order' => $no_order,
'oid_paybill' => $oid_paybill,
'money_order' => $money_order,
'result_pay' => $result_pay,
'settle_date' => $settle_date,
'info_order' => $info_order,
'pay_type' => $pay_type,
'bank_code' => $bank_code,
'no_agree' => $no_agree,
'id_type' => $id_type,
'id_no' => $id_no,
'acct_name' => $acct_name
);
if (!$this->getSignVeryfy($parameter, $sign)) {
return;
}
$this->notifyResp = $parameter;
$this->result = true;
return true;
}
回调的时候会用到 RSA验签,就需要把llpay_rsa.function.php文件中的Rsaverify方法稍作修改
将这里的引用连连公钥换成 config里的LIANLIAN_PUBLIC_KEY。notify_url 和 url_return 参数都要传给 连连,后面就没什么了
总结下来:配置好后 先请求 lianlianpay 成功会返回一个支付连接 使用 重定向到 此链接,完成付款后 回调进行数据库逻辑操作,同步显示支付结果。