用户登录

用户是在移动端的浏览器上请求使用微信支付,我们可以把交易类型切换成 MWEB .. 就是使用微信的 H5 支付 ..

在这个支付方法类里面 .. 可以添加一个方法返回具体的交易类型 .. 方法的名字是 get_trade_type .. 里面添加一个 $is_mobile .. 它的值用一下 WordPress 提供的 wp_is_mobile 这个函数 .. 如果设备是移动设备,它的值就会是 true ..

判断一下 .. 如果是移动设备 .. 我们让这个方法 return MWEB .. 表示要使用 H5 支付 .. 不是移动设备,可以返回 NATIVE .. 就是扫码支付 ...

再去修改一下 process_payment 方法 .. 添加一个 $trade_type .. 这的值用一下 $this .. get_trade_type ..

下面再用一个 switch .. $trade_type .. 添加一种情况 .. 如果交易类型是 NATIVE .. 这个 $redirect_url 的值就是 $this .. get_return_url 返回的结果 ..

再添加一种情况 .. 如果交易类型是 MWEB .. 把这个 $redirect_url 的值设置成 $this .. mobile_web_pay 这个方法返回的地址 .. 把订单交给这个方法 ..

下面去定义一下这个方法 .. 方法的名字是 mobile_web_pay .. 接收一个 $order 参数 .. 方法里面先添加一个 $input .. 用一下 $this .. pre_pay .. 它需要 $order .. 还有交易类型 .. 这个类型应该是 MWEB ..

再添加一个 $result .. 用一下 WxPayApi 上的 unifiedOrder .. 它需要 config .. $this .. config .. 还需要 $input ..

交易类型如果是 MWEB .. 请求统一下单接口返回来的数据里面,会包含一个 mweb_url .. 把用户重定向到这个地址上就会打开支付用的中间页 .. 它会调起微信手机客户端的支付功能 ..

这个地址里面可以再设置一个返回地址 .. 添加一个 $return_url .. 用一下 $this ... get_return_url .. 把 $order 交给它 ..

下面重新再组织一下要返回的支付地址 .. $mweb_with_redirect .. 它的值是 $mweb_url ... 后面加上一个 redirect_url 参数 .. 参数的值就是支付完成以后重定向到的地址 .. 这个地址要用 urlencode 处理一下 .. 处理的就是 $return_url ..

最后再返回这个 $mweb_with_redirect ...

微信支付:H5 支付《 电商网站案例:微信扫码支付 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点