如果需要为系统增加新的支付能力,可以将支付插件放到\plugins\payments目录中。
首先新增一个目录,名称最好为新支付插件的名称,该目录中至少需要包含两个文件,{支付插件名称}.php以及payment.info.php。{支付插件名称}.php的名称需要与它的上级目录名称一致。
payment.info.php用数组保存支付插件信息,payment_code为{支付插件名称},payment_name为支付插件的展示名称,payment_desc为支付插件的介绍,payment_is_online表示是否是线上支付方式,payment_platform为支付插件应用的场景,值有pc(电脑端)、h5(手机端)、app(app端),payment_author为作者名称,payment_website为支付插件官网链接,payment_version为支付插件的版本信息,payment_config为支付插件需要用到的配置参数,其中的name为配置参数名,type为配置参数的输入类型,有text(文本型)、textarea(多行文本型)、file(文件型)。
return array( 'payment_code' => 'wxpay_h5', 'payment_name' => '微信H5支付', 'payment_desc' => '微信H5支付', 'payment_is_online' => '1', 'payment_platform' => 'h5', #支付平台 pc h5 app 'payment_author' => '长沙德尚', 'payment_website' => 'http://www.alipay.com', 'payment_version' => '1.0', 'payment_config' => array( array('name' => 'wx_appid', 'type' => 'text', 'value' => '', 'desc' => '描述'), array('name' => 'wx_appsecret', 'type' => 'text', 'value' => '', 'desc' => '描述'), array('name' => 'wx_mch_id', 'type' => 'text', 'value' => '', 'desc' => '描述'), array('name' => 'wx_key', 'type' => 'text', 'value' => '', 'desc' => '描述'), ), );
在{支付插件名称}.php文件中,需要实现get_payform、return_verify、verify_notify方法。
系统调用get_payform生成支付单,其中$order_info参数为待支付订单信息,含有pay_sn(商户订单号)、api_pay_amount(交易金额)、order_type(订单类型)、subject(订单描述)。
//构造参数 $payRequestBuilder = new AlipayTradePagePayContentBuilder(); $payRequestBuilder->setBody($order_info['order_type']); $payRequestBuilder->setSubject($order_info['subject']); $payRequestBuilder->setTotalAmount($order_info['api_pay_amount']); $payRequestBuilder->setOutTradeNo($order_info['order_type'] . '-' . $order_info['pay_sn']);
verify_notify和return_verify都要返回结果数组,其中trade_status表示支付验证状态,0为失败1为成功,out_trade_no为商户订单号,trade_no交易凭证单号,total_fee为交易金额,order_type为订单类型。
$return_result = array( 'trade_status' => '0', );
$return_result = array( 'out_trade_no' => $out_trade_no, #商户订单号 'trade_no' => input('param.trade_no'), #交易凭据单号 'total_fee' => input('param.total_amount'), #涉及金额 'order_type' => $order_type, 'trade_status' => '1', );
QQ:858761000
联系电话:15364080101(微信同号)
Copyright@2010-2024 长沙德尚网络科技有限公司 版权所有
湘ICP备14007737号-2