iOS开发傻瓜式微信支付的方法教程

2020-01-21 00:05:34于丽

在需要微信支付的地方调用封装的类方法之后会跳转到微信app,如果没有安装则没有任何反应。这里需要注意,因为没有安装微信,必须要提供webview的方式登录微信来支付,否则苹果公司会拒绝应用上架。但是微信又不自带webview的方式,(支付宝是自带的)所以要判断用户有没有安装微信,如果没有安装微信就不显示微信支付这个按钮。


// 判断手机有没有微信
 if ([WXApi isWXAppInstalled]) {
 wechatButton.hidden = NO;
 }else{
 wechatButton.hidden = YES;
 }

跳转到微信客户端支付完成后返回应用,会走appdelegate.m里的


// iOS9.0以前调用此方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
 if ([url.host isEqualToString:@"pay"]) {
 return [WXApi handleOpenURL:url delegate:self];
 }
}

// iOS9.0及9.0以后调用此方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
 // 在此方法中做如下判断,因为还有可能有其他的支付,如支付宝就是@"safepay"
 if ([url.host isEqualToString:@"pay"]) { 
 return [WXApi handleOpenURL:url delegate:self]; 
 } 
 return YES;
}

在appdelegate.m里随便找个地方写上下面的方法,这个方法就是收到的微信消息

pragma mark 收到微信支付后的信息


- (void)onResp:(BaseResp *)resp{ 
if ([resp isKindOfClass:[PayResp class]]) { 
// 微信支付 
 PayResp*response=(PayResp*)resp; 
switch(response.errCode){
 case 0:
  NSLog(@“支付成功!");
  break; 
 case -1:
  NSLog(@"支付失败!");
 break;  
 case -2:
  NSLog(@"支付失败!");
 break;  
 default:
  NSLog(@"支付失败!");
 break; 
 } 
 }
}

还有一点需要注意的是,支付完成后点击右上角的返回可以走回调方法,但是点击左上角的返回应用或者是点击home键再打开应用是无法走回调的。

ios开发微信支付,ios微信支付开发流程,ios开发微信支付demo

付完款后微信服务器会通知后台有没有成功 ,让后台来决定是否发货吧。具体怎么做请和后台沟通。

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。


注:相关教程知识阅读请移步到IOS开发频道。