是你陈哥哥吖 發表於 2019-7-11 18:59:00

uni-app调用支付宝、微信支付

<p>项目中要用到支付功能,现在来看支付宝、微信应该是必选的两个方式了。</p>
<p>uni-app 文档中要求:APP端 微信 和 支付宝的 orderInfo 必须是 字符串。</p>
<p>调用支付宝时,支付宝直接返回的 orderInfo 就是拼接好的字符串,拿来用即可。很顺利的完成调起,支付。</p>
<p>调用微信遇到了问题。</p>
<p>微信返回的是加密后的 签名,也就是 sign 这个字段。整体的 orderInfo 字符串是 需要后台自己来拼接的。</p>
<p>1、是拼接的类似 支付宝的 字符串行不通,貌似是 uni-app 微信时 不支持这种格式。</p>
<p>2、然后拼成了 json 通过&nbsp;JSON.stringify() 这个方法来转换成字符串。可以成功。后来看到官方&nbsp; 安卓微信支付-100(-1)错误排除指导&nbsp;</p>
<p>看到这样一句&nbsp;</p>
<pre><code class="language-javascript hljs"><span class="hljs-string">'{"appid":"wx0411fa6a39d61297","noncestr":"71maVjWiEAvU85Wk","package":"Sign=WXPay","partnerid":"1230636401","prepayid":"wx03141004900988e2c281e3170042244847","timestamp":1535955004,"sign":"2AE06EF08E54B47659C79149CD9C284C"}'</span></code></pre>
<p>然后就在想是不是需要 再加个 单引号 ??事实上是不需要的。</p>
<p>3、后台 返回来的是这样的</p>
<style>p.p1 { margin: 0; font: 13px "Helvetica Neue"; color: rgba(0, 0, 0, 1) }</style>
<p class="p1">"data": "{\"appid\":\"wxd666666666666\",\"noncestr\":\"7yS9jZFgTq5ej6XH\",\"package\":\"Sign=WXPay\",\"partnerid\":\"22222222\",\"prepayid\":\"wx66666666666666666666666\",\"sign\":\"222222222FFFFFFFFAAAA\",\"timestamp\":\"1562838993\"}"</p>
<p class="p1">&nbsp;</p>
<p class="p1">直接拿 data 作为orderInfo 就可以了。</p>
<p class="p1">&nbsp;</p>
<p>还有一个问题&nbsp;<em><strong>重要</strong></em><em><strong>重要</strong></em><em><strong>重要</strong></em><em><strong>重要</strong></em><em><strong>重要</strong></em><em><strong>重要</strong></em></p>
<p>在 微信平台创建应用的时候 有一项填写 安卓 应用包名和签名,如下图:</p>
<p><img src="https://img2018.cnblogs.com/blog/1364978/201907/1364978-20190711185112512-1651949751.png"></p>
<p>能在官方找的一定要在官方找。这是 填写平台信息的 客户让我看的 例子,那个应用签名 不应该是这个 MD5,</p>
<p>而应该是一个加密后的 32 位字符串。</p>
<p>去官方 下载 一个 签名获取工具。</p>
<p>或者 官方安卓资源下载&nbsp;最下面有工具下载。</p>
<p>&nbsp;</p>
<p>每过一个坑,都会涨点儿记性。</p>
<p>这次的就是&nbsp;<span style="color: rgba(255, 0, 0, 1)">多看<strong>官方</strong>文档&nbsp;多看<strong>官方</strong>文档&nbsp;多看<strong>官方</strong>文档&nbsp;多看<strong>官方</strong>文档&nbsp;多看<strong>官方</strong>文档&nbsp;多看<strong>官方</strong>文档&nbsp;多看<strong>官方</strong>文档</span></p>
<p>&nbsp;</p>
<p><img src="https://img2018.cnblogs.com/blog/1364978/201907/1364978-20190711185054814-1494379063.png"></p>
<style>p.p1 { margin: 0; font: 13px "Helvetica Neue"; color: rgba(0, 0, 0, 1) }</style><br><br>
来源:https://www.cnblogs.com/xguoz/p/11171983.html
頁: [1]
查看完整版本: uni-app调用支付宝、微信支付