AndroidApp接入支付功能——支付宝篇
AndroidApp接⼊⽀付功能——⽀付宝篇⽀付,请参考我另⼀篇:Android App接⼊⽀付功能——篇
因为项⽬中⽤到⽀付功能,⽽且⽀付宝⽂档和⽂档写的很简洁,不仔细研究,真的⽆法集成成功⽼样⼦,上效果图由于涉及到输⼊密码,我分开了:
调⽤⽀付⽀付宝⽀付1.gif
调⽤⽀付⽀付宝⽀付2.gif小学数学教师年度工作总结
⼤概说下实现思路:
①、⾸先在官⽅注册成为开发者,创建应⽤(创建应⽤时,为您⽣成应⽤唯⼀标识(APPID)保存appid,下⽂要⽤到),并给应⽤添加App⽀付功能;(已是开发者请忽略)
②、导⼊官⽅的sdk,下载官⽅sdk;
克罗地亚摩洛哥③、配置相关的权限;
④、进⾏⽀付接⼝的调⽤;
⑤、⽀付结果获取和处理。(请注意:下⾯代码把⑤的步骤直接放在④⾥⾯了)
步骤
1.登录官⽹,也就是蚂蚁⾦服的开放平台,填写相关信息,进⾏注册账号进⾏登录,注册成为开发者(已是开发者请忽略)
2.下载官⽅sdk,将sdk放⼊⾃⼰⼯程libs⽂件中:
下载的sdk.png
⼯程中的sdk.png
⼤家注意sdk包,可以看出该sdk包后缀是20170922,说明是此jar包发布的⽇期。
3.配置清单⽂件l:
①添加Activity声明:
具体类代码:
代码图.png
如果仔细看上⾯的⼯程结构图就知道,PaymentHelper是⼯具类,我把⽀付宝和⽀付都封装在⼀个⼯具类⾥⾯,这样可以不⽤每个页⾯都需要重写⽀付⽅法,很简单,很⽅便。
PaymentHelper.java:
/**
* Created by zjp on 2017/12/21 10:46.
* ⽀付宝和⽀付⼯具类
*/
public class PaymentHelper {
private static final int SDK_PAY_FLAG = 1;
private Activity mthis;
private Map<String, String> result;
/**
* ⽀付宝⽀付
端午节的诗句古诗
*/
public void  startAliPay(Activity activity, PayReponse payReponse, String payRMB) {
if (activity == null || payReponse == null) {
return;
最早的轮胎是什么颜}
if (TextUtils.isEmpty(AlipayConfig.PARTNER) || TextUtils.isEmpty(AlipayConfig.RSA2_PRIVATE) || TextUtils.isEmpty(AlipayConfig.SELLER)) {
return;
}
/**
apple id密码怎么改
* 这⾥只是为了⽅便直接向商户展⽰⽀付宝的整个⽀付流程;所以Demo中加签过程直接放在客户端完成;
* 真实App⾥,privateKey等数据严禁放在客户端,加签过程务必要放在服务端完成;
* 防⽌商户私密数据泄露,造成不必要的资⾦损失,及⾯临各种安全风险;
* 点击⽀付按钮出现的错误码,请查看:tech.open.alipay/support/knowledge/index.htm?categoryId=24120&scrollcheck=1#/?_k=d783mj
* orderInfo的获取必须来⾃服务端;
*/
boolean rsa2 = (AlipayConfig.RSA2_PRIVATE.length() > 0);
Map<String, String> params = OrderInfoUtil2_0.buildOrderParamMap(AlipayConfig.APPID, rsa2, payRMB);
String orderParam = OrderInfoUtil2_0.buildOrderParam(params); //拼接订单信息
String privateKey = rsa2 ? AlipayConfig.RSA2_PRIVATE : AlipayConfig.RSA_PRIVATE;
String sign = Sign(params, privateKey, rsa2); //然后并对订单信息使⽤私钥进⾏RSA加密
String orderInfo = orderParam + "&" + sign;
new AliPayThread(orderInfo).start();  //⽀付⾏为需要在独⽴的⾮ui线程中执⾏
人世间结局是什么
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。