TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | May 2015 |
Maintained by javen macbook air.
pod "MoPaySDK", "~> 1.0.0"
如果使用XCode6以上的项目,可以把framework直接加入到Embedded Binaries。
集成以后工程能够顺利bulid成功,就说明已经集成成功了。
在application:didFinishLaunchingWithOptions:launchOptions中或其他适当时机初始化SDK。
[MoPaySDK setupBaseURL:[NSURL URLWithString:@"http://mopayd.apps.toraysoft.com/"]];
[MoPaySDK registerInAppPurchase];
[MoPaySDK registerWeChatPayWithKey:@"wx3bb7d92700919217"];
[MoPaySDK registerAliPayWithUrlSchema:@"MoPayDemo"];
必须要使用url回调sdk,否则支付完成后不会收到回调。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
[MoPaySDK handleOpenUrl:url];
return YES;
}
配置微信schema Project->Target->Info->URL Types,加入schema 如果需要使用微信支付,加入微信schema,格式是wx+微信AppKey。
配置支付宝schema Project->Target->Info->URL Types,加入schema 如果使用支付宝,加入支付宝schema,格式自定义,与registerAliPayWithUrlSchema传入的schema相同即可。
MoProduct *product = [MoProduct new];
product.id = 1;
product.name = @"测试1";
product.value = 1;
product.code = @"plan1";
这里只是作为演示,实际商品信息应该从服务端获取。
[MoPaySDK payForProduct:product userId:1001 payType:MOPayTypeWeChat handler:^(MOPayType payType, MOPayState state, NSError *error) {
}];
[MoPaySDK payForProduct:product userId:1001 handler:^(MOPayType payType, MOPayState state, NSError *error) {
}];
[MoPaySDK payForProduct:product userId:1001 extraInfo:@{@"test":@"test"} payType:MOPayTypeWeChat|MOPayTypeAliPay|MOPayTypeIAP handler:^(MOPayType payType, MOPayState state, NSError *error) {
}];
答:如果是微信支付,请保证自己的AppKey可用并填写正确。如果是支付宝支付,请保证服务器的ParterID和SellerID配置正确。如果是IAP,请确保项目使用Profile选择正确,并且该Profile已经配置了IAP的商品,确保服务端返回的Product code是正确IAP商品code。
答:请确保服务端的AppKey和AppSecret配置正确。
答:请确保注册SDK的schema与项目中配置的URL type是一致的。
答:如果是客户端没有收到回调,请确保在application:handleOpenURL:中回调了[MoPaySDK handleOpenUrl:url];如果是服务端没有收到回调,请确保服务端的Notify url配置正确。
MoPaySDK错误码
2001 网络请求失败 无法连接网络或网络中断
2002 获取支付签名过程失败 服务获取订单接口或生成签名接口错误
2003 应用内支付被禁用
2004 无法获取商品信息
2005 iap验证失败
微信支付错误码
-1 错误 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。
-2 用户取消 无需处理。发生场景:用户不支付了,点击取消,返回APP。
支付宝错误码
9000 订单支付成功
8000 正在处理中
4000 订单支付失败
6001 用户中途取消
6002 网络连接出错