java 苹果内支付_支付宝APP支付(IOS手机端+java后台)版

0.介绍预览

针对需要在IOS手机上接入原生微信支付场景,调用微信进行支付。如图:

3f4534908f8ef7452e72662b9828cd4e.png

c3b31ee8f55b729f611c61843bb69a6f.png

1.资料准备

1.1 账号注册

打www.cppcns.com开https://openhome.alipay.com,注册支付宝开放平台开发者账号

1.2 开发者认证

登录,进入开发者中心,进行开发者资质认证,并创建移动应用。

1.3 签约应用

创建应用后上传相关资料,上线应用并通过审核。审核通过后点击应用,进行签约,此步骤不能省略,否则或报ISV权限不足。

f41d0670c1d18360b1d5f1cbd357547b.png

1.4 应用配置

打开应用信息,配置一下内容,接口签名可下载支付宝签名验签工具进行生成,生成完成后将公钥复制到平台上。

92aeec7c896c8cda79d6a8d0e4336b3a.png

2.java后台开发

添加依赖

com.pentahohub.nexus

alipay-sdk-java

20170615110434

system

${basedir}/libs/alipay-sdk-java20170615110434.jar

commons-logging

commons-logging

1.1.1

生成统一订单

/**

* account 总金额

* sid 用户id

* desc 节点id

* @param request

* @return

*/

@RequestMapping(value="/pay/alipay/signprams",produces="application/json;charset=utf-8")

异步通知处理

@RequestMapping(value="/pay/alipay/notify",produces="application/json;charset=utf-8")

@ResponseBody

public String notify(HttpServletRequest request){

Map requestParams = request.getParameterMap();

System.out.println("支付宝支付结果通知"+requestParams.toString());

//获取支付宝POST过来反馈信息

Map params = new HashMap();

for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {

String name = (String) iter.next();

String[] values = (String[]) requestParams.get(name);

String valueStr = "";

for (ihttp://www.cppcns.comde_no));

}

}

} catch (AlipayApiException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return "success";

}

3.IOS客户端开发

导入支付宝开发包

69b1f9007d0653d46d82a0949e462249.png

添加URL Types

037e05695bb76c6d5b8074e23a5125a8.png

在需要调用支付宝的地方实现方法

-(void)aliPay

{

[MBProgressHUD showMessage:@"跳转中,请稍候"];

NSString *appScheme = @"alisdkdemo";

NSString *userUrlStr = [NSString stringWithFormat:@"%@?sid=%@&account=%@&desc=%@", ALI_PREPAY_URL, self.student.sid,self.payJinE,self.student.nid];

NSURL *url = [NSURL URLWithString:userUrlStr];

// NSLog(@"userUrlStr = %@", userUrlStr);

NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) {

[MBProgressHUD hideHUD];

// NSLog(@"支付宝支付的response = %@", operation.responseString);

NSData *JSONData = [operation.responseString dataUsingEncoding:NSUTF8StringEncoding];

NSDictionary *userDict = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableLeaves error:nil];

NSString *orderString = [userDict objectForKey:@"orderStr"];

self.sign = [userDict objectForKey:@"sign"];

self.ordnum = [userDict objectForKey:@"out_trade_no"];

[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {

NSLog(@"reslut = %@",resultDic);

[MBProgressHUD hideHUD];

NSString *resultStatus = [resultDic objectForKey:@"resultShttp://www.cppcns.comtatus"];

if([resultStatus isEqualToString:@"9000"]){

// 支付成功,更新用户信息

[self payDidFinish];

}else{

// 支付失败,

[self setupAlertControllerWithTitle:@"支付宝支付结果" messge:@"本次支付未完成,您可以稍后重试!" confirm:@"好的"];

}

}];

}failure:^(AFHTTPRequestOperation *operation, NSError *error) {

[MBProgressHUD hideHUD];

NSLog(@"发生错误!%@",error);

}];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[queue addOperation:operation];

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 支付宝APP支付(IOS手机端+java后台)版

本文地址: http://www.cppcns.com/ruanjian/java/258378.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部