收藏
回答

微信支付接口requestPayment调用问题

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 requestPayment 客户端 Android 6.6.3 未限制

你想反馈一个 Bug 还是 提一个需求?

反馈一个Bug


如果是 Bug:


* Bug 表现是什么?预期表现是什么?

就是在安卓、三星、微信最新版本上,调用requestPayment接口,支付成功了,但没有走到success条件中。

如下,我的小程序上的函数:

/* 支付   */
 
function paynow(param, callback) {
 
wx.requestPayment({
 
timeStamp: param.timeStamp,
 
nonceStr: param.nonceStr,
 
package: param.package,
 
signType: param.signType,
 
paySign: param.paySign,
 
success: function (res) {
 
// success      
 
callback();
 
 
 
wx.navigateBack({
 
delta: 1, // 回退前 delta(默认为1) 页面
 
success: function (res1) {
 
wx.showToast({
 
title: '支付成功',
 
icon: 'success',
 
duration: 2000
 
});
 
 
 
},
 
fail: function () {
 
// fail
 
 
 
},
 
complete: function () {
 
 
 
}
 
})
 
},
 
fail: function (res) {
 
// fail
 
},
 
complete: function () {
 
// complete
 
}
 
})
 
}

但是支付的确成功了,因为在商户号中看到交易记录了。


* 如何复现?

看一下业务逻辑上是否有这种情况。


* 提供一个最简复现 Demo

这个估计不是很好复现,需要从代码层面看一下是否有异常分支,使得返回的时候,出现事务不一致情况。

最后一次编辑于  2018-02-22  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

9 个回答

  • 陈培彬
    陈培彬
    2018-03-17

    哥们,解决了吗?我这里也出现了和你一样的奇怪问题。也无法重现。

    2018-03-17
    赞同
    回复
  • 唐衡
    唐衡
    2018-03-17

    兄弟,我这里没复现过了,就只出现过这一次。

    官方也没有答复过我。


    估计谁也不好解决,

    只能等下次复现找到规律再联系官方了。

    2018-03-17
    赞同
    回复
  • Simon
    Simon
    2018-04-02

    这是因为支付成功没有点完成返回小程序,直接在支付成功页面把小程序关闭了。

    2018-04-02
    赞同
    回复
  • 唐衡
    唐衡
    2018-04-02

    楼上的重现出来了,这个方式是必现的吗?

    2018-04-02
    赞同
    回复
  • Simon
    Simon
    2018-04-04

    当然必现,支付成功会跳转到新页面,原页面会hide挂起。只要你不返回,就永远不会有回调函数,别说success,fail和complete都不会执行。

    2018-04-04
    赞同
    回复
  • 唐衡
    唐衡
    2018-04-05

    嗯,有道理,那这种情况有没有办法解决了?

    2018-04-05
    赞同
    回复
  • Simon
    Simon
    2018-04-09

    当然有,自己想。

    2018-04-09
    赞同
    回复
  • 冰是沉默的水
    冰是沉默的水
    2018-05-21

    楼主,你这个问题是怎么解决的,我最近也遇到了,大多数是支付网络环境差,支付了有一分钟多,最后扣钱了。

    2018-05-21
    赞同
    回复 1
    • 唐衡
      唐衡
      2018-05-21
      我这个最后不是通过技术解决的,就是让用户把支付信息发过来,我给他开通业务就可以。
      2018-05-21
      赞同
      回复