1.官方文档:产品介绍-H5支付 | 微信支付商户平台文档中心
2.这个申请是需要审核周期的,若有开发的需求,要提前申请开通这项服务。
3.查看接入准备,把需要配置的信息,提前配置好,appid,证书等。
4.在开发指引中,下载官方提供的sdk包,把他集成到你的项目中。
5.打开sdk中的vendor/wechatpay/wechatpay/README.md文件。第一步还是验证秘钥文件等信息。
6.若验证通过,则代入h5需要的信息,生成h5调用链接(下图中total的单位是分,你要是传参单位是元,那这里就要乘以100)。
上图中获取ip和手机系统是我从网上找的方法:
<?php
//获取ip
private function getIp()
{
//strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。
if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$ip = getenv('HTTP_CLIENT_IP');
} elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$ip = getenv('REMOTE_ADDR');
} elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$ip = $_SERVER['REMOTE_ADDR'];
}
$res = preg_match('/[\d\.]{7,15}/', $ip, $matches) ? $matches [0] : '';
return $res;
}
//获取手机系统类型
private function mobileSystem()
{
if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'], 'iPad')){
return 'IOS';
}else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Android')){
return 'Android';
}else{
return 'Wap';
}
}
7.支付成功后的回调和上一篇native支付的代码一致,有需要的去上篇找下,我就不贴代码了。
若有其他什么问题,也可以问他们的技术客服,会耐心帮你解答的。