Android开发获取支付宝授权

首先我想说的支付宝开放平台也就是蚂蚁金服开放平台,对于移动端开发者的相关文档以及主页导航太少,不是很友好。我开发要用到用户芝麻分认证(普惠版),但是根本找不到移动端的相关开发配置文档(可能没开放就什么也没说)。找支付宝技术支持聊了一下,首先有个需求就是获取支付宝用户信息,给了我一个连接,看了一下,就是要在开放平台有获取用户信息的权限。但是相关的移动端文档,开发步骤没找到。

 有一个关键点就是,文档中说支付宝第三方登录和支付的SDK是融合的,所以我就去下载了支付宝支付的SDK&Demo,示例代码中还真有拉去授权的方法:

/**
* 支付宝账户授权业务

* @param v
*/
public void authV2(View v) {


if (TextUtils.isEmpty(PID) || TextUtils.isEmpty(APPID)
|| (TextUtils.isEmpty(RSA2_PRIVATE) && TextUtils.isEmpty(RSA_PRIVATE))
|| TextUtils.isEmpty(TARGET_ID)) {
new AlertDialog.Builder(this).setTitle("警告").setMessage("需要配置PARTNER |APP_ID| RSA_PRIVATE| TARGET_ID")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface, int i) {
}
}).show();
return;
}


/**
* 这里只是为了方便直接向商户展示支付宝的整个支付流程;所以Demo中加签过程直接放在客户端完成;
* 真实App里,privateKey等数据严禁放在客户端,加签过程务必要放在服务端完成;
* 防止商户私密数据泄露,造成不必要的资金损失,及面临各种安全风险; 

* authInfo的获取必须来自服务端;
*/
boolean rsa2 = (RSA2_PRIVATE.length() > 0);
Map<String, String> authInfoMap = OrderInfoUtil2_0.buildAuthInfoMap(PID, APPID, TARGET_ID, rsa2);
String info = OrderInfoUtil2_0.buildOrderParam(authInfoMap);

String privateKey = rsa2 ? RSA2_PRIVATE : RSA_PRIVATE;
String sign = OrderInfoUtil2_0.getSign(authInfoMap, privateKey, rsa2);
final String authInfo = info + "&" + sign;
Runnable authRunnable = new Runnable() {


@Override
public void run() {
// 构造AuthTask 对象
AuthTask authTask = new AuthTask(PayDemoActivity.this);
// 调用授权接口,获取授权结果
Map<String, String> result = authTask.authV2(authInfo, true);


Message msg = new Message();
msg.what = SDK_AUTH_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};


// 必须异步调用
Thread authThread = new Thread(authRunnable);
authThread.start();

}

这里面要有APPID,PID,商户秘钥,这些代码中都有解释,文档中的介绍在这里https://docs.open.alipay.com/218/105327。

按照文档所给的参数配置好以后,我成功的进入到支付宝的授权页,但是,但是,只有这样的结果:


而不是这样色滴:


变换了各种参数,就是搞不出来,只能找技术支持。技术支持直接说获取不到,现在不能获取用户的私密信息。不死心在论坛上问,也是同样的答复。无语了,搞了半天人家就是没给,结果我还搞不懂,在那瞎搞了一天。

提醒一下,找支付宝技术客服有几点:1、开放平台账户要有 2、一直提问你的问题

这样就会出现请联系人工客服了。

猜你喜欢

转载自blog.csdn.net/weixin_36888674/article/details/80539153