1、统一下单
1.1、准备参数
接口链接:https://api.mch.weixin.qq.com/pay/unifiedorder
需要参数:
* @param string $appid 小程序ID
* @param string $mch_id 商户号
* @param string $nonce_str 随机字符串 长度要求32位以内
* @param string $sign 签名
* @param string $body 商品描述
* @param string $out_trade_no 商户订单号
* @param string $total_fee 标价金额
* @param string $spbill_create_ip 终端IP
* @param string $notify_url 通知地址
* @param string $trade_type 交易类型
$nonce_str生成代码:
1.2、参数转xml
1.3、返回结果(是xml数据,需转为数组)
return_code和result_code都是SUCCESS表示成功
把返回的结果传给客户端
2、支付再次签名
2.1、接收客户端传来的prepay_id
2.2、准备参数
* @param string $appId 小程序ID
* @param string $timeStamp 时间戳
* @param string $nonceStr 随机字符串 长度要求32位以内
* @param string $package 数据包
* @param string $signType 签名方式
* @param string $paySign 签名
2.3、签名方式同上
2.4、返回数据
3、支付回调
3.1、获取微信通知的数据
3.2、验证签名步骤
1)xml转数组;2)取出返回的签名;3)再次签名算法取出签名后的数据;4)如果取出的签名和再次签名后的数据一致表示支付成功;5)对比返回订单金额和数据库订单金额是否一致
开发步骤:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3
1、统一下单
1.1、准备参数
接口链接:https://api.mch.weixin.qq.com/pay/unifiedorder
需要参数:
* @param string $appid 小程序ID
* @param string $mch_id 商户号
* @param string $nonce_str 随机字符串 长度要求32位以内
* @param string $sign 签名
* @param string $body 商品描述
* @param string $out_trade_no 商户订单号
* @param string $total_fee 标价金额
* @param string $spbill_create_ip 终端IP
* @param string $notify_url 通知地址
* @param string $trade_type 交易类型
$nonce_str生成代码:
$sign生成代码:
1.2、参数转xml
1.3、返回结果(是xml数据,需转为数组)
return_code和result_code都是SUCCESS表示成功
把返回的结果传给客户端
2、H5页面执行js调起支付
3、支付回调
3.1、获取微信通知的数据
$xml = file_get_contents("php://input");
3.2、验证签名步骤
1)xml转数组;2)取出返回的签名;3)再次签名算法取出签名后的数据;4)如果取出的签名和再次签名后的数据一致表示支付成功;5)对比返回订单金额和数据库订单金额是否一致
开发步骤:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3
1、统一下单
1.1、准备参数
接口链接:https://api.mch.weixin.qq.com/pay/unifiedorder
需要参数:
* @param string $appid 小程序ID
* @param string $mch_id 商户号
* @param string $nonce_str 随机字符串 长度要求32位以内
* @param string $sign 签名
* @param string $body 商品描述
* @param string $out_trade_no 商户订单号
* @param string $total_fee 标价金额
* @param string $spbill_create_ip 终端IP
* @param string $notify_url 通知地址
* @param string $trade_type 交易类型
$nonce_str生成代码:
$sign生成代码:
1.2、参数转xml
1.3、返回结果(是xml数据,需转为数组)
1.4、通过返回的mweb_url唤起微信支付页面(如果需要设置支付完后的跳转页面,需要在这个参数后面拼接参数,默认返回发起支付的页面)
2、支付回调
2.1、获取微信通知的数据
$xml = file_get_contents("php://input");
2.2、验证签名步骤
1)xml转数组;2)取出返回的签名;3)再次签名算法取出签名后的数据;4)如果取出的签名和再次签名后的数据一致表示支付成功;5)对比返回订单金额和数据库订单金额是否一致