我用Python Django框架开发H5支付,V2版本文档。
域名已经授权,跳转域名与回调域名一致,都是授权域名的子域名
接口地址:https://api.mch.weixin.qq.com/pay/unifiedorder
请求参数:appid=xxxxxx&body=姓名详批&mch_id=xxxxxx&nonce_str=f2b502e7d7ca48cc820b34027dc37¬ify_url=http://devht.chengdufeixi.com/wx/wx_pay_notify&out_trade_no=4991001472603966280&scene_info={'h5_info': {'type': 'Wap', 'wap_url': 'http://devht.chengdufeixi.com/wx/wx_pay_notify', 'wap_name': '姓名详批'}}&spbill_create_ip=112.94109&total_fee=1&trade_type=MWEB
请求结果:<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<mch_id><![CDATA[xxxxx]]></mch_id>
<appid><![CDATA[xxxxxx]]></appid>
<nonce_str><![CDATA[uCWHqBf7M53nAa9E]]></nonce_str>
<sign><![CDATA[E6AFA9B6C773DAF7BEAE45991FDB7E17]]></sign>
<prepay_id><![CDATA[wx1817451062347571805943fdc8a2280000]]></prepay_id>
<trade_type><![CDATA[MWEB]]></trade_type>
<mweb_url><![CDATA[https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx1817451062347571805943fdc8a2280000&package=4211973378]]></mweb_url></xml>
然后在mweb_url后拼接了回调地址,拼接后的地址:
通过这个地址跳转后,页面提示 “商家存在未配置的参数,请联系商家解决”
为什么呢?
请检查下当前调起H5支付的referer是否为空,具体可点击https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4查看详情。
https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx1817451062347571805943fdc8a2280000&package=4211973378&redirect_url=http%3A//devht.chengdufeixi.com/xmys/xm_ys_result/16424991001472603966280
1. 当前调起H5支付的referer为空导致,一般是因为直接访问页面调起H5支付,请按正常流程进行页面跳转后发起支付,或自行抓包确认referer值是否为空
2. 如果是APP里调起H5支付,需要在webview中手动设置referer,如(
Map extraHeaders = new HashMap();
extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 http://www.baidu.com )
https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx1817451062347571805943fdc8a2280000&package=4211973378&redirect_url=http%3A//devht.chengdufeixi.com/xmys/xm_ys_result/16424991001472603966280
报错文案错了,是:“商家参数格式有误,请联系商家解决”,请问怎么解决