微信支付之H5页面WAP端接入

论坛 期权论坛     
选择匿名的用户   2021-5-29 17:18   20   0
<h3>1.前言</h3>
<p>公司是通过支付宝和微信支付那块内容获取收入,app端已经接入成功,现在要做WAP端。需要页面和后台接口一起来实现。</p>
<h3><a name="t1" target="_blank"></a>2.接口接入</h3>
<p>因为微信支付版本更新了,网上下的demo是V2.5版的,用不了了。所以去网上找资料,看到最新版的V3。</p>
<p>这里我找到了一个统一下单接口,<a href="https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter&#61;9_1" rel="noopener noreferrer" target="_blank">文档入口</a>.</p>
<p>他的接口地址为:<a href="https://api.mch.weixin.qq.com/pay/unifiedorder" rel="noopener noreferrer" target="_blank">https://api.mch.weixin.qq.com/pay/unifiedorder</a></p>
<p>因此,开始接入我所需要的wap端参数。</p>
<p>这里需要的参数关键有Appid,mch_id,key。</p>
<p>appid和mch_id是在公众平台那边获取。key值是在商户平台(pay.weixin.qq.com)--&gt;账户设置--&gt;API安全--&gt;密钥设置 这边自己设置的。</p>
<p><strong>坑一:</strong>若key值设置不对,会出现错误“支付权限查询失败” 。这时候请检查 appid,mch_id所在的公众号 对应 商户号的key值是否正确。</p>
<p><strong>坑二:</strong>我在开发中还遇到“您没有WAP支付权限” 这么个错误。百了很久都没人遇到这个坑。于是,发送邮件给微信支付(<a href="mailto:weixinpay&" rel="noopener noreferrer" target="_blank">weixinpay&#64;tencent.com</a>, <a href="mailto:wepayTS&" rel="noopener noreferrer" target="_blank">wepayTS&#64;tencent.com</a>)这两个邮件我都发了,结果还是漫无回应啊。于是,打通了商户平台的客服(0755-86018333),客服是MM,估计不懂技术问题,叫我去提问平台提交问题(<a href="http://kf.qq.com//bills/150821samab01c976f2a.html" rel="noopener noreferrer" target="_blank">http://kf.qq.com//bills/150821samab01c976f2a.html</a>),说是技术人员看到会回复的,我问是不是 马上回复,MM不说,就说会回复的,唉,毕竟人家客服不懂,就没继续问下去了。打开客服给的网址,填写的时候,发现没有WAP端,也没有统一下单这说法,那我只好填写了  网页(JSAPI)支付 ,下面在详细说明,提交后,出现了个提示,说是七天内给个回应。我去,那还不是白忙活,要7天 业务紧急啊。。</p>
<h3><a name="t2" target="_blank"></a>3.代码编写</h3>
<p>(1).获取统一下单参数</p>

<div class="dp-highlighter bg_java">
<div class="bar">
  <div class="tools">
   <strong>[java]</strong>
   <a class="ViewSource" href="http://blog.csdn.net/Libra412/article/details/49021663#" rel="noopener noreferrer" target="_blank" title="view plain"> view plain</a>
   <a class="CopyToClipboard" href="http://blog.csdn.net/Libra412/article/details/49021663#" rel="noopener noreferrer" target="_blank" title="copy">copy</a>
  </div>
</div>
<ol class="dp-j" start="1"><li class="alt"><span class="keyword">public</span> String CreateWapUrl(String outTradeNo, String ip) <span class="keyword">throws</span> SDKRuntimeException {  </li><li>    HashMap&lt;String, Object&gt; param &#61; <span class="keyword">new</span> HashMap&lt;String, Object&gt;();  </li><li class="alt">    param.put(<span class="string">&#34;appid&#34;</span>, WxPayConfig.APPID);  </li><li>    param.put(<span class="string">&#34;mch_id&#34;</span>, WxPayConfig.MCHID);  </li><li class="alt">    param.put(<span class="string">&#34;nonce_str&#34;</span>, CommonUtil.CreateNoncestr());  </li><li>    param.put(<span class="string">&#34;body&#34;</span>, <span class="string">&#34;产品测试&#34;</span>);  </li><li class="alt">    param.put(<span class="string">&#34;out_trade_no&#34;</span>, outTradeNo);  </li><li>    param.put(<span class="string">&#34;total_fee&#34;</span>, <span class="number">1</span>);  </li><li class="alt">    param.put(<span class="string">&#34;spbill_create_ip&#34;</span>, ip);  </li><li>    param.put(<span class="string">&#34;notify_url&#34;</span>, WxPayConfig.NOTIFYURL);  </li><li class="alt">    param.put(<span class="string">&#34;trade_type&#34;</span>, <span class="string">&#34;WAP&#34;</span>);  </li><li>    param.put(<span class="string">&#34;sign&#34;</span>, getSign(param));  </li><li class="alt">    <span class="keyword">return</span> CommonUtil.MapToXml(param);  </li><li>}  </li></ol>
</div>
<p>(2).获取签名值</p>
<div class="dp-highlighter bg_java">
<div class="bar">
  <div class="tools">
   <strong>[java]</strong>
   <a class="ViewSource" href="http://blog.csdn.net/Libra412/article/details/49021663#" rel="noopener noreferrer" target="_blank" title="view plain"> view plain</a>
   <a class="CopyToClipboard" href="http://blog.csdn.net/Libra412/article/details/49021663#" rel="noopener noreferrer" target="_blank" title="copy">copy</a>
  </div>
</div>
<ol class="dp-j" start="1"><li class="alt"><span class="keyword">public</span> String getSign(HashMap&lt;String, Object&gt; param) <span class="keyword">throws</span> SDKRuntimeException {  </li><li>    String sign&#61;<span class="string">&#34;&#34;<
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP