tp3 微信h5支付
TP3 微信H5支付解决方案
移动支付已经成为了当今世界的主流支付方式,而微信支付具有安全、便捷的特点,在中国市场得到了迅速发展。而H5支付是微信支付在移动端网页上的支付方式,也是一种付款方式比较方便,适用于各种触屏版的手机浏览器,方便用户在第三方页面上轻松支付。现在,很多电商平台、在线预定、私人服务等都需要微信在线支付功能,那么如何应用TP3中的微信H5支付呢?
一、开通微信商户
在使用TP3的微信H5支付前,首先需要开通微信商户,在微信商户上进行登录,在产品中心选择“H5支付”,点击开通,进入H5支付的开通申请主页。在该页面中需要填写和提供以下的信息:
1.支付域名
填写已备案的域名,如果没有备案的话,需要在相关站点上进行ICP备案,或者向豫虫科技申请授权。
2.售卖产品/使用场景的描述
填写能够表明在什么场景下使用支付的说明,以及相关售卖产品的描述,授权说明等。
3.所售卖产品对应的官方网站域名或详情页网址
填写官方的网站域名或在第三方平台上显示的产品详情页面-url等。
在申请开通后,TP3中会出现微信H5支付功能接口,可以开始支付相关开发。
二、使用TP3中的微信H5支付封装
在开发支付时,我们可以直接使用官方提供的TP3中的微信H5支付接口,快速进行封装。以下是代码示例:
use think\\payment\\driver\\Wechat;
$options = [
'appid' => 'wxxxx', //微信appid
'mch_id' => '123456', //微信商户id
'key' => 'xxxxx', //微信支付密钥
'notify_url' => 'http://xxxxx', //接收微信支付异步通知回调地址
];
$trade_no = 'xxxxx'; //商户订单号
$total_fee = 100; //金额:元
$openid = 'xxxx'; //用户openid
$weObj = new Wechat($options);
$pay = $weObj->gateway('mp')->apply([
'body' => '支付标题',
'out_trade_no' => $trade_no,
'total_fee' => $total_fee * 100, //微信支付单位为分
'openid' => $openid,
]);
三、支付结果回调
支付完成后,微信支付会将异步通知你设置的回调地址,所以需要完成异步通知的处理。TP3中的回调可以使用TP3自带的回调函数进行处理。以下是代码示例:
use think\\payment\\listener\\Notify;
use think\\payment\\event\\ChargePaid;
class NotifyController extends Notify
{
public function chargePaidHandle(ChargePaid $event)
{
//更新数据库或者完成其他逻辑操作
}
}
四、常见问题
1.支付金额为什么需要乘以100的?
微信支付是以元为单位,所以我们在构造参数发送请求的时候,需要将金额进行换算。1元=100分,所以在支付时将金额乘以100即可。
2.微信H5支付有没有功能限制?
微信H5支付功能和其他的微信支付功能一样,除了H5页面无法打开微信原生支付页外,其它功能都非常完善,需要开发相应的页面加以实现。
总结:
简单地介绍了如何在TP3中使用微信H5支付功能。微信H5支付是在移动浏览器上显示商品或服务的支付方式,为消费者带来了更加方便快捷的消费体验。我们仍需多加注意,保证商户资质的真实性,以及支付数据的正确性和安全性,以保证更好的用户体验。