instamojo 支付网关与 ios objective c 集成
instamojo payment gateway integration with ios objective c
如何在 iOS Objective C 中集成 instamojo 支付网关?可能没有直接的方法。那么通过WebView,如何在iOS中集成支付网关呢? long URL 已被添加,但是在重定向 link 中应该放置什么以及发送 header 和参数的键是什么。
为了将 Instamojo 与 ios 应用程序集成,唯一可能的方法是 webview。但是对于打开 webview 首先我们必须发送数据,如支付金额和 payment.Redirect url 的信息,用于在成功 transaction.I 给出网站之一后重定向到页面 Url 作为重定向 url 和来自 webview 的委托方法,如果我得到相同的 url 我关闭了 webview 作为参数 payment.one 成功的指示 send_email 是true 是将电子邮件发送到 notify.This 键值对根据 instamojo guidance.Api key 和身份验证令牌是您在 instamojo 中创建帐户时获得的凭据,该凭据将在 header 字段中传递给验证 credential.In 响应,我们得到长 url 并且 url 应该打开 webview
在按钮上单击调用下面的函数
-(void)func_proceedCheckout
{
NSError *error;
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
NSString *post = [NSString stringWithFormat:@"amount=10&purpose=dummy&redirect_url=http://url to be redirected&buyer_name=Aashi&phone=123456789&email=demo@gmail.com&send_email=true&Name=Aashi"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSURL * url=[NSURL URLWithString:[NSString stringWithFormat:@"https://www.instamojo.com/api/1.1/payment-requests/"]];//Url to be called
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
[request addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"0" forHTTPHeaderField:@"Content-Length"];
[request addValue:@"123456789" forHTTPHeaderField:@"X-Api-Key"];//Get from Instamojo Account
[request addValue:@"123456789" forHTTPHeaderField:@"X-Auth-Token"];//Get from Instamojo Account
if (!error) {
NSURLSessionDataTask *downloadTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (!error) {
NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
if (httpResp.statusCode == 201) {
NSLog(@"%@",httpResp);
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&error];
NSLog(@"%@",json);
NSDictionary * dic = [json objectForKey:@"payment_request"];
NSLog(@"%@",dic);
NSString * longurl = dic[@"longurl"];
NSURL *url = [NSURL URLWithString:longurl];
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
if (success) {
NSLog(@"Opened url");
}
}];
}
}
}];
[downloadTask resume];
}
}
长 Url 我们得到并且支付选项可以由 webview.longurl 处理是一个 url 在其上加载了 webview
如何在 iOS Objective C 中集成 instamojo 支付网关?可能没有直接的方法。那么通过WebView,如何在iOS中集成支付网关呢? long URL 已被添加,但是在重定向 link 中应该放置什么以及发送 header 和参数的键是什么。
为了将 Instamojo 与 ios 应用程序集成,唯一可能的方法是 webview。但是对于打开 webview 首先我们必须发送数据,如支付金额和 payment.Redirect url 的信息,用于在成功 transaction.I 给出网站之一后重定向到页面 Url 作为重定向 url 和来自 webview 的委托方法,如果我得到相同的 url 我关闭了 webview 作为参数 payment.one 成功的指示 send_email 是true 是将电子邮件发送到 notify.This 键值对根据 instamojo guidance.Api key 和身份验证令牌是您在 instamojo 中创建帐户时获得的凭据,该凭据将在 header 字段中传递给验证 credential.In 响应,我们得到长 url 并且 url 应该打开 webview
在按钮上单击调用下面的函数
-(void)func_proceedCheckout
{
NSError *error;
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
NSString *post = [NSString stringWithFormat:@"amount=10&purpose=dummy&redirect_url=http://url to be redirected&buyer_name=Aashi&phone=123456789&email=demo@gmail.com&send_email=true&Name=Aashi"];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSURL * url=[NSURL URLWithString:[NSString stringWithFormat:@"https://www.instamojo.com/api/1.1/payment-requests/"]];//Url to be called
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
[request addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"0" forHTTPHeaderField:@"Content-Length"];
[request addValue:@"123456789" forHTTPHeaderField:@"X-Api-Key"];//Get from Instamojo Account
[request addValue:@"123456789" forHTTPHeaderField:@"X-Auth-Token"];//Get from Instamojo Account
if (!error) {
NSURLSessionDataTask *downloadTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (!error) {
NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
if (httpResp.statusCode == 201) {
NSLog(@"%@",httpResp);
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&error];
NSLog(@"%@",json);
NSDictionary * dic = [json objectForKey:@"payment_request"];
NSLog(@"%@",dic);
NSString * longurl = dic[@"longurl"];
NSURL *url = [NSURL URLWithString:longurl];
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
if (success) {
NSLog(@"Opened url");
}
}];
}
}
}];
[downloadTask resume];
}
}
长 Url 我们得到并且支付选项可以由 webview.longurl 处理是一个 url 在其上加载了 webview