因为业务需要,搞了一下微信的H5支付,H5支付一般的使用场景是在微信内置浏览器和qq浏览器之外生态要使用的支付方式,一般在的使用场景是在多个不同终端想使用一个支付接口得解决方案,代码为php代码,与微信其他支付相似,但是有些坑需要填一下。
$headers = array();
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
$headers[] = 'Accept-Encoding: gzip, deflate';
$headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0';
$userip = $_SERVER["REMOTE_ADDR"]; //获得用户设备IP
$appid = "***********";//微信公众号、小程序或者开放平台的appid
$mch_id = "*********";//微信商户的商户id
$key = "**********************";//自己设置的微信商家key,商户秘钥
$body = '商家服务费';
$out_trade_no = 'weidongli'+time();
$nonce_str=MD5(mt_rand(1000000, 9999999));//随机字符串
$total_fee = $expense*100; //金额
$spbill_create_ip = $userip; //IP
$notify_url = "**********"; //回调地址,必须是授权域名
$trade_type = 'MWEB';//交易类型 具体看API 里面有详细介绍
$scene_info ='{