相关文章推荐
有腹肌的围巾  ·  史占中:AI已学会“读心术”还会伪装,再不管 ...·  1 年前    · 
骑白马的毛巾  ·  使用BufferedImage对象的高内存消 ...·  2 年前    · 
健壮的猴子  ·  for循环中使用break,continue ...·  2 年前    · 
帅呆的金鱼  ·  ES5、ES6和ES2015有什么区别?_e ...·  2 年前    · 
体贴的牛腩  ·  jquery获取焦点和失去焦点-掘金·  3 年前    · 
Code  ›  微信支付 JSAPI WeixinJSBridge.invoke 支付成功 IOS 不返回 ? | 微信开放社区
时间戳 alert 移动支付 weixinjsbridge
https://developers.weixin.qq.com/community/develop/article/doc/00026cd8728970558e5d253335b413
想发财的镜子
1 年前

交流专区
服务市场
微信学堂
文档
小程序
  • 常用主页

    小程序

    小游戏

    企业微信

    微信支付

  • 服务市场
    微信学堂
    文档
登录
评论

置顶 微信支付 JSAPI WeixinJSBridge.invoke 支付成功 IOS 不返回 ? 精选 热门

IT姑凉 2022-01-14
2632 浏览
0 评论

微信支付 JSAPI WeixinJSBridge.invoke 支付成功 IOS 不返回 ?

客户端 JSAPI 调起支付

官方文档

开发指引 : https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_3.shtml

步骤说明 :通过 JSAPI 下单 API 成功获取预支付交易会话标识( prepay_id )后,需要通过 JSAPI 调起支付 API 来调起微信支付收银台

注意 :

1、 WeixinJSBridge 内置对象在其他浏览器中无效

2、此 API 需要将请求参数进行签名(参与签名的参数为: appId 、 timeStamp 、 nonceStr 、 package ,参数区分大小写)

按文档的示例代码加上了些 alert 提示:

WeixinJSBridge.invoke('getBrandWCPayRequest', {
      "appId": "appId",   //公众号ID,由商户传入    
      "timeStamp": "timeStamp",   //时间戳,自1970年以来的秒数    
      "nonceStr": "nonceStr",      //随机串    
      "package": "prepay_id=prepay_id",
      "signType": "RSA",     //微信签名方式:    
      "paySign": "paySign" //微信签名
}, function (res) {
      //android:支付成功、支付失败、取消支付  都能执行这个回调
      //ios:支付失败、取消支付  能执行这个回调, 支付成功不执行这个回调
      alert('支付结果:' + res.err_msg);
      if (res.err_msg == "get_brand_wcpay_request:ok") {
        // 使用以上方式判断前端返回,微信团队郑重提示:
        //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
        alert('支付成功!');
      if (res.err_msg == "get_brand_wcpay_request:cancel") {
        alert('你已经取消支付了!');
      } if (res.err_msg == "get_brand_wcpay_request:fail") {
        alert('支付失败了!');

遇到的问题

Q :支付成功后, ios 弹不出支付结果的信息,但是安卓可以正常弹出;取消支付, android 和 ios 又都能 alert 出来,误以为是支付成功的回调不执行

A :支付成功后, ios 的 alert 无法弹出,不是回调不执行,而是 alert 没弹出来。 换种提示方式:

alert("支付结果:" + res.err_msg) //ios 不执行
message.success("支付结果:" + res.err_msg,5) //可以正常提示

可以了……

import {Toast} from 'antd-mobile';
Toast.success('支付成功', 2);
 
推荐文章
有腹肌的围巾  ·  史占中:AI已学会“读心术”还会伪装,再不管就晚了?-教授观点-上海交通大学中银科技金融学院
1 年前
骑白马的毛巾  ·  使用BufferedImage对象的高内存消耗-腾讯云开发者社区-腾讯云
2 年前
健壮的猴子  ·  for循环中使用break,continue,return_for 循环break-CSDN博客
2 年前
帅呆的金鱼  ·  ES5、ES6和ES2015有什么区别?_es5 es2015-CSDN博客
2 年前
体贴的牛腩  ·  jquery获取焦点和失去焦点-掘金
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号