Closed tal007 closed 6 years ago
4000是操作失败吧?
文档上面写的确实是操作失败。但是支付宝返回的4000是“重复请求”。而且有时使用 Alipay.pay()不返回东西。之前没有遇到,最近两天遇到的。没有返回东西就没法判断,然后支付成功了后台那边却没有保存
现在这样 let orderStr =signString; console.log(orderStr); let response = await Alipay.pay(orderStr); alert(1) console.log(response); let { resultStatus, result, memo } = response; if(resultStatus==6001){ 调用Alipay.pay之后 response 没有数据。后面的代码没有执行
@Anthony-Wilson 请提供一下运行环境等信息,另外如果是iOS的话麻烦试一下react-native-alipay 0.2.2,帮忙验证下是否为iOS SDK的一个回调问题
@0x5e @0x5e/react-native-alipay": "^0.2.2", "react": "16.0.0", "react-native": "0.51.0",
这个是这几个的版本。就是0.2.2的版本。今天找朋友看了一下,确实是 在RCTAlipay.m里面
RCT_EXPORT_METHOD(pay:(NSString )orderInfo resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { NSLog(@"调用支付宝前"); [AlipaySDK.defaultService payOrder:orderInfo fromScheme:self.appScheme callback:^(NSDictionary resultDic) { resolve(resultDic); }]; NSLog(@"调用支付宝后"); } 上面代码中的回调没有执行
(void)handleOpenURL:(NSNotification )notification { NSString urlString = notification.userInfo[@"url"]; NSURL url = [NSURL URLWithString:urlString]; if ([url.host isEqualToString:@"safepay"]) { [AlipaySDK.defaultService processOrderWithPaymentResult:url standbyCallback:^(NSDictionary resultDic) { NSLog(@"processOrderWithPaymentResult = %@", resultDic); }];
[AlipaySDK.defaultService processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"processAuth_V2Result = %@", resultDic);
}];
} }
但是这里又确实能打印出resultDic,能看到状态。上面添加了一点打印
还有就是之前这里都没有问题,现在出问题了。其次就是如果没有安装支付宝,使用web嵌套的形式,他是可以返回状态的
SDK有两个回调,一个是支付方法里的,一个是全局的,按道理两个回调都应该执行。。我在0.2.3也碰到这个问题,然后在0.2.4改为使用全局回调了,如果你是0.2.2有问题的话麻烦再试下0.2.4,谢了:-)
@0x5e 0.24的就可以了。谢谢了
今天用的时候 0.2.4的在ios app页面支付的时候没有回调。是 支付宝 skd的问题么?
支付调用支付宝一直返回订单支付成功。状态为4000,重复提交,但实际上并没有支付,还没有输入密码呢