接入
客户端从服务器端拿到 charge
对象后,调用下面的方法
[Pingpp createPayment:charge viewController:viewController appURLScheme:kUrlScheme withCompletion:^(NSString *result, PingppError *error) { if ([result isEqualToString:@"success"]) { // 支付成功 } else { // 支付失败或取消 NSLog(@"Error: code=%lu msg=%@", error.code, [error getMsg]); } }];
前方高能!!注意!!注意!!一定要注意!!!
接收并处理交易结果
渠道为百度钱包或者渠道为支付宝但未安装支付宝钱包时,交易结果会在调起插件时的 Completion
中返回。渠道为微信、支付宝(安装了支付宝钱包)、银联或者测试模式时,请实现 UIApplicationDelegate
的 - application:openURL:xxxx:
方法:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { BOOL canHandleURL = [Pingpp handleOpenURL:url withCompletion:nil]; return canHandleURL; }
Url Schemes 的设置
不回调的情况一般发生在微信,微信渠道请注意,在设置 Url Schemes 时,Url Schemes 的值需要填入微信平台上注册的应用程序 id(为 wx 开头的 appid ),如果不使用微信,则可以自定义,建议起名稍复杂一些,尽量避免与其他程序冲突。允许英文字母和数字,首字母必须是英文字母,不允许特殊字符。