导读
支付流程:
1. 修改微信AppKey 和支付商户号 myApp -> Gerneral -> Headers -> Header-Prefix.pch
支付宝相关的从后台服务器请求即可。
2.微信需添加URLTypes
3.在选择支付方式页面 点击立即支付 根据选择的支付方式调起客户端支付。以微信为例:
[Objective-C] 纯文本查看 复制代码 [PayRequestHandler requestPrePayIdWithMoney:@"1.0" PayType:PayType_WeChat RelationId:5 TradeType:1 TradeDesc:[NSString stringWithFormat:@"本次支付需要%@元",@"1.0"]];
通过该方法向自己后台服务器请求支付订单相关信息,然后将订单信息传给微信,调起微信客户端支付。这里面有一个[Global shareGlobal].payId。payId 是一个全局变量,用于标识单次支付,赋值为订单id,用于向后台请求支付结果。不为空时,表示支付未完成,在支付成功方法里面,需将其置为nil.
4.支付完成返回App回调方法:
[Objective-C] 纯文本查看 复制代码 #pragma mark - 第三方回调 支持所有iOS系统
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if (![url.host isEqualToString:@"safepay"]) {
if ([url.host isEqualToString:@"pay"]) {
//调用微信SDK
// return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
return YES;
}else{
//支付宝支付成功回调
}
return YES;
}
// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
NSLog(@"url host == %@",url.host);
if (![url.host isEqualToString:@"safepay"]) {
if ([url.host isEqualToString:@"pay"]) {
//调用微信SDK
return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
return YES;
}else{
//支付宝支付成功回调
}
return YES;
}
5.微信支付结果:
6.支付结果成功发送通知,在支付页处理成功操作
附件链接:https://pan.baidu.com/s/1RhhwQE_XKdWMUHm5oHlssg 密码:cill
|