uni-app調用支付寶、微信支付


項目中要用到支付功能,現在來看支付寶、微信應該是必選的兩個方式了。

uni-app 文檔中要求:APP端 微信 和 支付寶的 orderInfo 必須是 字符串。

調用支付寶時,支付寶直接返回的 orderInfo 就是拼接好的字符串,拿來用即可。很順利的完成調起,支付。

調用微信遇到了問題。

微信返回的是加密后的 簽名,也就是 sign 這個字段。整體的 orderInfo 字符串是 需要后台自己來拼接的。

1、是拼接的類似 支付寶的 字符串行不通,貌似是 uni-app 微信時 不支持這種格式。

2、然后拼成了 json 通過 JSON.stringify() 這個方法來轉換成字符串。可以成功。后來看到官方  安卓微信支付-100(-1)錯誤排除指導 

看到這樣一句 

'{"appid":"wx0411fa6a39d61297","noncestr":"71maVjWiEAvU85Wk","package":"Sign=WXPay","partnerid":"1230636401","prepayid":"wx03141004900988e2c281e3170042244847","timestamp":1535955004,"sign":"2AE06EF08E54B47659C79149CD9C284C"}'

然后就在想是不是需要 再加個 單引號 ??事實上是不需要的。

3、后台 返回來的是這樣的

"data": "{\"appid\":\"wxd666666666666\",\"noncestr\":\"7yS9jZFgTq5ej6XH\",\"package\":\"Sign=WXPay\",\"partnerid\":\"22222222\",\"prepayid\":\"wx66666666666666666666666\",\"sign\":\"222222222FFFFFFFFAAAA\",\"timestamp\":\"1562838993\"}"

 

直接拿 data 作為orderInfo 就可以了。

 

還有一個問題 重要重要重要重要重要重要

在 微信平台創建應用的時候 有一項填寫 安卓 應用包名和簽名,如下圖:

能在官方找的一定要在官方找。這是 填寫平台信息的 客戶讓我看的 例子,那個應用簽名 不應該是這個 MD5,

而應該是一個加密后的 32 位字符串。

去官方 下載 一個 簽名獲取工具

或者 官方安卓資源下載 最下面有工具下載。

 

每過一個坑,都會漲點兒記性。

這次的就是 多看官方文檔 多看官方文檔 多看官方文檔 多看官方文檔 多看官方文檔 多看官方文檔 多看官方文檔

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM