zoukankan      html  css  js  c++  java
  • 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 位字符串。

    去官方 下载 一个 签名获取工具

    或者 官方安卓资源下载 最下面有工具下载。

    每过一个坑,都会涨点儿记性。

    这次的就是 多看官方文档 多看官方文档 多看官方文档 多看官方文档 多看官方文档 多看官方文档 多看官方文档

  • 相关阅读:
    Nextcloud报 PHP zip 模块未安装
    mac修改hosts文件
    mamp
    mac自定义文件夹图标
    数据结构与算法(一)线性表顺序存储
    数据结构与算法(四)栈的链式存储
    数据结构与算法(三)栈的顺序存储
    数据结构与算法(五)循环队列实现
    力扣刷题计划
    数据结构与算法(二)线性表链式存储
  • 原文地址:https://www.cnblogs.com/xguoz/p/11171983.html
Copyright © 2011-2022 走看看