[android]支付宝红包集成,从前到后
2018-03-13 本文已影响0人
黑森林中的小木屋
首先,申请appid,签约“收发现金红包接口”,配置公私钥啥的,就不说了。
1、支付宝收发现金红包的文档连接,
发红包,无线红包支付接口
坑点:
1)、请求示例跟响应示例不对应。
简单的说,响应示例并不是请求示例的响应。
请求示例是放在服务端,用来生成请求参数的,然后用这个请求参数来调起支付宝,支付成功后。支付宝异步返回响应示例
把请求示例生成的请求参数放到
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(activity);
Map<String, String> result = alipay.payV2(order, true);
Message msg = new Message();
Map<String, Object> res = new HashMap<>();
res.put("res", result);
res.put("activity", activity);
res.put("bless", bless);
res.put("outOrderNo", outOrderNo);
msg.what = SDK_PAY_FLAG;
msg.obj = res;
mHandler.sendMessage(msg);
}
};
// 必须异步调用
Thread payThread = new Thread(payRunnable);
payThread.start();
中的order中
2、支付宝回调要能访问到你设置的回调地址,我们因为内网测试,支付宝回调一直不成功,摔!!
授权,获取领红包用户的支付宝用户id(用于后面打款)
这个坑点较少,主要的坑点就是不知道用什么接口!!
我们使用[APP支付宝登陆](https://docs.open.alipay.com/218)
这个接口没有类似发红包时生成参数的方法,需要我们自己来弄。具体我参考支付宝demo中PayDemoActivity
中的authV2(str)
方法,只不过将authV2(str)
中的str
从服务器获得
成功后不会通过异步回调,会直接返回到我们的APP内,返回结果中的result
里面有我们需要的
支付宝用户id,然后把这个id上传到服务端绑定
领取红包,红包打款
调用红包打款接口,来打款。这个参考了发红包的接口,所以没遇到什么坑点