judoNative iOS库可以让您将安全的_in-app_卡支付集成到您的iOS应用程序中。Judo的SDK使您的应用程序中的支付体验更快、更简单、更安全。
judopayments iOS SDK包括头文件和一个静态库。
将这些框架添加到您的项目中。
将JudoPay.framework和JudoPay.bundle拖到Xcode项目并将其添加到链接器标志的-ObjC和-all_load。
将judopayments开源许可致谢添加到应用程序的致谢中。
在您想使用SDK的文件顶部添加。#import <JudoPay/JudoPay.h>
要指示SDK与沙盒通信,请包含以下行 [[JudoAPIManager sharedSession] setSandboxMode]
当您准备上线时,可以删除此行。我们建议将其放在AppDelegate的didFinishLaunchingWithOptions
方法中。
您也可以在此处设置密钥和秘密,如果您不希望将其包含在所有后续调用中:[[JudoSDKManager sharedSession] setToken:和Secret:]
可以使用JudoSDKManager上的以下静态方法实现单行集成。
- (void)judoPaymentWithAmount:(nonnull JPAmount *)amount
judoID:(nonnull NSString *)judoID
consumerRef:(nonnull NSString *)consumerRef
metaData:(nullable NSDictionary *)metaData
parentViewController:(nonnull id)viewController
success:(nullable void(^)(id __nullable JSON))successBlock
failure:(nullable void(^)(NSError * __nullable error))failureBlock;
解析和检查返回的JSON数据对象以获取交易详情。
{
"amount": 4,
"appearsOnStatementAs": "JudoPay/judoPayD",
"cardDetails": {
"cardLastfour": 3436,
"cardToken": "9CE128956DB34ED0902AC3E155EBC299",
"cardType": 1,
"endDate": 1215
},
"consumer": {
"yourConsumerReference": "yourconsumerref"
},
"createdAt": "2013-07-18T11:39:03.6000+01:00",
"judoId": 100016,
"merchantName": "judoPay Dev",
"netAmount": 4,
"originalAmount": 4,
"receiptId": 33712,
"result": "Success",
"type": "Payment"
}
- (void)judoPaymentWithAmount:(nonnull JPAmount *)amount
cardDetails:(nonnull NSDictionary *)cardDetails
judoID:(nonnull NSString *)judoID
consumerRef:(nonnull NSString *)consumerRef
metaData:(nullable NSDictionary *)metaData
parentViewController:(nonnull id)viewController
success:(nullable void (^)(id __nullable JSON))successBlock
failure:(nullable void (^)(NSError * __nullable error))failureBlock;
// SomeViewController.h
#import <JudoPay/JudoPay.h>
[JudoSDKManager judoPaymentWithAmount:4.0
judoID:@"100016"
consumerRef:@"yourConsumerRef"
metaData:nil
parentViewController:self
success:^(id responseObject) {
id object = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
NSLog(@"parsed response: %@", object);
// store these for later use
NSDictionary *cardDetails = [object valueForKey:@"cardDetails"];
NSString *consumerRef = [[object valueForKey:@"consumer"] valueForKey:@"yourConsumerReference"];
} withFailure:^(NSError *error) {
NSLog(@"Failure: %@", error);
}];
- (void)judoRegisterCard:(nonnull Card *)card
consumerRef:(nonnull NSString *)consumerRef
deviceID:(nullable NSString *)deviceID
parentViewController:(nonnull id)viewController
success:(nullable void(^)(id __nullable JSON))successBlock
failure:(nullable void(^)(NSError * __nullable error))failureBlock;
您可能希望包括适当的付款引用和消费者引用,JudoPay SDK提供辅助类以简化这一过程,并使用如NSDictionary和NSString之类的简单对象。
此存储库中包含的Swift和Objective-C示例应用是用Xcode 7编写的。截至本beta版本发布时,Xcode 7仍然处于Beta测试阶段。某些功能可能无法按预期工作,所以请耐心等待,并希望9月能快速发布最终版本。