项目中要用到支付功能,现在来看支付宝、微信应该是必选的两个方式了。

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 位字符串。

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

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

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

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

uni-app调用支付宝、微信支付的更多相关文章

  1. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  2. App对接支付宝移动支付功能

    前段时间看了下app对接支付宝移动支付的功能,并自己总结了下支付宝移动支付的实现流程 一.申请流程          前提是已有现成的应用. 1.  申请地址            https://b ...

  3. iOS开发集成支付宝支付、支付宝&微信支付

    支付宝支付: 参考链接:https://www.jianshu.com/p/60175e525c0e https://blog.csdn.net/zhonggaorong/article/detail ...

  4. ThinkPHP 5 整合支付宝微信支付(支付宝H5,微信H5、APP支付、公众号支付)

    因项目没有PC站所以没有写电脑网站支付. Pay.php支付控制器 <?php // +----------------------------------------------------- ...

  5. easyswoole对接支付宝,微信支付

    在easyswoole中,已经开发好了相关的支付组件,只需要引入即可: composer require easyswoole/pay pay组件支持协程 支付宝 支付方法 支付宝支付目前支持 7 种 ...

  6. Android 支付宝/微信支付结果判断

    微信支付结果码 private static final int PAY_OK = 0; //交易成功 private static final int PAY_ERR = -1; //交易失败 pr ...

  7. 微信支付报错:app没有获取微信支付权限

    调试微信支付的时候报错: Array( [return_code] => FAIL [return_msg] => 您没有APP支付权限) 查询了,发现自己将之前的公众号支付的APPID一 ...

  8. app调用支付宝支付 笔记

    1.提交各种申请 2.通过后进入支付宝开放平台  --> 管理中心 -->创建应用  --> 填写相关信息 提交等待审核通过(1,2天)   3.下载集成包(https://doc. ...

  9. uni-app 调用支付宝支付

    本文讲解  uni-app如何调用支付宝进行支付,服务端为 .net编写. 客户端:uni-app 编写  1.根据服务端生成的订单信息发起支付. 服务端:.net 编写 1.生成订单信息.2.接收支 ...

  10. iOS三方支付--微信支付/支付宝支付

    一.微信支付 1.注册账号并申请app支付功能 公司需要到微信开放品台进行申请app支付功能 , 获得appid和微信支付商户号(mch_id)和API秘钥(key) . Appsecret(secr ...

随机推荐

  1. 明解C语言 中级篇 第四章答案

    练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...

  2. hdu-6071 Lazy Running

    In HDU, you have to run along the campus for 24 times, or you will fail in PE. According to the rule ...

  3. CSS的基础学习

    CSS学习 --------学习资源 http://www.csszengarden.com/ CSS语法检查http://jigsaw.w3.org/css-validator/ 配置CSS的方法: ...

  4. ts缓存批量下载合并

    批量下载 curl -O https://cdn-host.media.yunxi.tv/recordM3u8/195820b37cec499da7a4b1b28269c7d0/tranbox/195 ...

  5. Windows Server 2008 R2 install Visual Studio 2015 failed

    Please download and install Windows Server 2008 R2 Service Pack 1 (KB976932) . https://www.microsoft ...

  6. 通俗的讲,就是高层模块定义接口,低层模块负责实现。 Bob Martins对DIP的定义: 高层模块不应依赖于低层模块,两者应该依赖于抽象。 抽象不不应该依赖于实现,实现应该依赖于抽象。

    通俗的讲,就是高层模块定义接口,低层模块负责实现. Bob Martins对DIP的定义: 高层模块不应依赖于低层模块,两者应该依赖于抽象. 抽象不不应该依赖于实现,实现应该依赖于抽象. 总结出使用D ...

  7. CentOS7 vsftp 安装与配置(视频教程)

    (双击全屏播放) 1.安装vsftpd yum install -y vsftpd 2.编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO ...

  8. rabbitmq 实现多个消费队列

    1.将消费程序复制重新生成一个. 2.channel.BasicQos(0, 1, false); 空闲的先消费

  9. 消息服务dubbo接口性能压测性能优化案例

    最近项目中的消息服务做了运营商的改动,导致这个服务做了重新开发 压测脚本如下: 开启200线程压测: tps只有200-300之间,平均耗时在700ms左右 开启500线程压测 500并发压测,发现平 ...

  10. maven 学习---使用Maven清理项目

    在基于Maven的项目中,很多缓存输出在“target”文件夹中.如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署. 要清理项目缓存的输出,发出以下命令: mvn clean ...