React-native-wechat: 微信支付,调起微信支付时屏幕闪一下就没任何反映了?

Created on 7 Jun 2017  ·  15Comments  ·  Source: yorkie/react-native-wechat

async function onPressPay2(res) {
  const currentTimestamp = new Date().getTime().toString();

  let isInstalled = await WeChat.isWXAppInstalled();
  if (isInstalled) {
    try {
      let result = await WeChat.pay(
          {
            partnerId: res.appid,  // 商家向财付通申请的商家id,备注:此处appid就是接口返回的商家id
            prepayId: res.prepayId,   // 预支付订单
            timeStamp: res.timeStamp.toString(),  // 时间戳,防重发
            nonceStr: res.nonceStr,   // 随机串,防重发
            package: res.package,    // 商家根据财付通文档填写的数据和签名
            sign: res.sign        // 商家根据微信开放平台文档对数据做的签名
          }
      );
      Toast.show(JSON.stringify(result), {position: -110, animation: true, duration: 3200});
      Toast.show(result.errStr, {duration: 4200});
    } catch (e) {
      Alert.alert("出粗啦");
    }
  } else {
    Alert.alert("还没有安装微信");
  }
}

现在在安卓设备上,点击支付时,屏幕闪了一下,就没有任何反应,也没有任何错误被捕获到。
打印的日志如下:

06-07 15:29:20.271 23974-23974/com.jnexpert.jnexpertapp D/ViewRootImpl: ViewPostImeInputStage processPointer 0
06-07 15:29:20.381 23974-23974/com.jnexpert.jnexpertapp D/ViewRootImpl: ViewPostImeInputStage processPointer 1
06-07 15:29:20.761 23974-24099/com.jnexpert.jnexpertapp I/Timeline: Timeline: Activity_launch_request id:com.tencent.mm time:51685366

                                                                    --------- beginning of system
06-07 15:29:21.211 23974-23974/com.jnexpert.jnexpertapp W/ResourcesManager: getTopLevelResources: /data/app/com.jnexpert.jnexpertapp-1/base.apk / 1.0 running in com.jnexpert.jnexpertapp rsrc of package com.jnexpert.jnexpertapp
06-07 15:29:21.221 23974-24599/com.jnexpert.jnexpertapp D/u.aly.bw: 771:    request: http://oc.umeng.com/check_config_update
                                                                    {"type":"online_config","appkey":"55d59b1367e58ecc0400187a","version_code":"402","package":"com.jnexpert.jnexpertapp","sdk_version":"5.4.1","idmd5":"f44aff7669c2f8a3998f66433f69f3","channel":"_360","report_policy":1,"last_config_time":"Wed Jun 07 15:29:18 CST 2017"}
06-07 15:29:21.221 23974-24599/com.jnexpert.jnexpertapp I/System.out: Thread-1393(ApacheHTTPLog):isSBSettingEnabled false
06-07 15:29:21.221 23974-24599/com.jnexpert.jnexpertapp I/System.out: Thread-1393(ApacheHTTPLog):isShipBuild true
06-07 15:29:21.221 23974-24599/com.jnexpert.jnexpertapp I/System.out: Thread-1393(ApacheHTTPLog):getDebugLevel 0x4f4c
06-07 15:29:21.221 23974-24599/com.jnexpert.jnexpertapp I/System.out: Thread-1393(ApacheHTTPLog):Smart Bonding Setting is false
06-07 15:29:21.221 23974-24599/com.jnexpert.jnexpertapp I/System.out: Thread-1393(ApacheHTTPLog):SmartBonding Setting is false, SHIP_BUILD is true, log to file is false, DBG is false, DEBUG_LEVEL (1-LOW, 2-MID, 3-HIGH) is 1
06-07 15:29:21.251 23974-23974/com.jnexpert.jnexpertapp D/Activity: performCreate Call Injection manager
06-07 15:29:21.261 23974-23974/com.jnexpert.jnexpertapp V/ActivityThread: updateVisibility : ActivityRecord{55e3077 token=android.os.BinderProxy@cde5b9e {com.jnexpert.jnexpertapp/com.reactnativenavigation.controllers.NavigationActivity}} show : false
06-07 15:29:21.301 23974-23974/com.jnexpert.jnexpertapp W/ActivityThread: AppLock checkAppLockState isAppLocked = false pkgName = com.jnexpert.jnexpertapp showWhenLocked = false
06-07 15:29:21.331 23974-24599/com.jnexpert.jnexpertapp I/System.out: Thread-1393 calls detatch()
06-07 15:29:21.331 23974-24599/com.jnexpert.jnexpertapp I/u.aly.bw: 771:    response: 
                                                                    {"config_update":"Yes","report_policy":1,"last_config_time":"Wed Jun 07 15:29:22 CST 2017","ad_request":1,"online_params":{},"oc_interval":10}
06-07 15:29:21.351 23974-23974/com.jnexpert.jnexpertapp I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@cde5b9e time:51685958

谁知道怎么回事呢,帮帮我啦。谢各位。

Most helpful comment

闪一下的,注意 timeStamp: '' + data.timeStamp + '', /时间戳,防重发/

在安卓下,这个地方要字符串,可以打catch的错误信息,更好的定位错误

All 15 comments

我也遇到同样的问题,你解决了吗?

+1

没解决,换别的插件了。

+1 真的只是闪一下

我前几天还好好的,这两天突然就就支付不了, 一直报 -1 错误, 也是一闪而过。服务端数据和签名没错。求解!!!!!!!!!

闪一下的,注意 timeStamp: '' + data.timeStamp + '', /时间戳,防重发/

在安卓下,这个地方要字符串,可以打catch的错误信息,更好的定位错误

@luojinghui 你好,请问你更换了哪一个插件?

@zzzeee 你好,我也是这种情况,你解决了吗?

@TonyDandelion 我的是应用签名的问题

你在微信端申请的ID对了吗

我也是闪了一下就没然后了,重点catch到的错误很模糊

Error: -1
at new WechatError (index.js:262)
at EventEmitter. (index.js:252)
at EventEmitter.g (events.js:169)
at EventEmitter.emit (events.js:77)
at index.js:13
at RCTDeviceEventEmitter.emit (EventEmitter.js:181)
at MessageQueue.__callFunction (MessageQueue.js:260)
at MessageQueue.js:101
at MessageQueue.__guard (MessageQueue.js:228)
at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:100)

同样问题!!!求解决!!!

同样的问题,你们解决了吗?SOS 谢谢 @zzzeee @luojinghui @cq0702 @chookg @ss7247

@nickychenqin 一种情况是字段不一样,看清楚他穿的参数和官方的有差别,大小写。还有一个是签名的问题,安卓版的release和debug下的签名是不一样的。就这2个原因

嗯,知道原因了,谢谢@cq0702

Was this page helpful?
0 / 5 - 0 ratings