第三方支付开发

我遇到的ping++支付问题总结

2016-10-18  本文已影响1863人  鸽z1陰蘭

鉴于项目中遇到的ping++(支付宝,微信,银联)支付遇到的问题,写了这篇文章,一方面帮助自己巩固一下,另一方面也真心的希望可以给大家提供一点自己的经验。

安装,导入过程不在一一详细的叙述,官方有详细的文档。按照一步一步来,一般不会出现问题,这里,只是总结一下自己遇到的问题。


1.接入支付的代码如下:

[PingppcreatePayment:json

viewController:self

appURLScheme:kUrlScheme

withCompletion:^(NSString*result,PingppError*error) {

//支付结果的输出,在这里根据结果的成功和失败做出响应的处理,我的处理在方法zhifuJump:和zhifuNojump:中,此处不在写出。

NSLog(@"%@----------%@",result,error);

if([typeisEqualToString:@"buy"]) {

[selfzhifuJump:result];

}else{

[selfzhifuNojump:result];

}

}

];

注:json及请求到的charge,后台集成ping++之后,会给前端一个接口,传入相应的参数调用此接口酒会返回charge对象,然后根据charge对象就可以调用上面的方法即成支付。

         kUrlScheme这个是你定义的URL Scheme,支付宝、微信支付、银联和测试模式需要

2.调用哪种类型的支付,需要在info.plist将此应用设置为白名单,没有用到的支付方式可以不设置:

info.plist设置白名单

<key>LSApplicationQueriesSchemes</key>

<array>

<string>weixin</string>

<string>wechat</string>

<string>alipay</string>

</array>

需要注意的是,微信支付需要在info.plist中添加URL Schemes

info-URL Types中添加

3.解决支付宝不能返回应用的问题,在info.plist中进行如下图所示的配置:

info.plist设置

4.delegate中一定要写方法的回调:

// iOS 8及以下请用这个

- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation {

return[PingpphandleOpenURL:urlwithCompletion:nil];

}

// iOS 9以上请用这个

- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary*)options {

return[PingpphandleOpenURL:urlwithCompletion:nil];

}

上一篇下一篇

猜你喜欢

热点阅读