如何使用沙箱测试芝麻认证(java版)

来自    芝麻信用 | 
作者:王兰玉  |  更新于:2017-08-11 17:26:22     
说明:
本帖是利用支付宝沙箱测试“芝麻认证,demo中会配置个人的沙箱账号信息,方便大家测试。
测试环境:Eclipse+JDK1.6及以上+Tomcat6.0及以上


测试流程(
声明:本demo仅做参考测试使用

1.下载demo,导入java运行环境:芝麻认证demo.zip

2.在AlipayConfig文件中配置基本信息





2.zhima.customer.certification.initialize(认证初始化)


a).transaction_id:必须唯一,否者会报"sub_code":"INVALID_PARAMETER","sub_msg":"参数有误。参数[transaction_id]不是有效的入
b).product_code=w1010100000000002978是固定值


3.zhima.customer.certification.certify(芝麻认证开始认证)
将2中的biz_no获取传值


  注意点:
    1)填写认证初始化返回的biz_no的值进行请求
    2)调用pageExecute方法并且要在手机中打开连接进行验证
   3)return_url 说明:
    alipays://方式(带s方式)您的网站必须支持https方式才可以跳转 例: alipays://www.taobao.com
    alipay://方式你的网站支持http方式就可以跳转 例: alipay://www.taobao.com

注:以上步骤可以用沙箱跑流程进行测试,但是,想要用生成认证请求URL进行认证,是必须使用正式环境的生成的url,沙箱环境生成的url是无法进行认证的!!!

4.开始认证
 a).商户有自己的APP,使用native的方式唤起支付宝客户端(可选)。
    在商户APP使用如下示例代码(传入认证URL)使用native代码唤起支付宝客户端进行认证。


 b):商户没有自己的APP,使用H5页面的方式唤起支付宝客户端(可选)。
  在商户的H5页面跳转到认证URL,进入芝麻认证引导页,芝麻认证引导页会唤起支付宝客户端。

 c). 根据认证URL生成二维码,让用户打开支付宝客户端扫码(可选)。
   商户根据认证URL生成二维码,然后提供二维码让用户使用支付宝客户端扫码进入认证引导页。



详细配置可参照我们的文档进行认证:https://docs.open.alipay.com/271/105914/#dqnvv

5.芝麻认证查询接口zhima.customer.certification.query
由于我没有操作第三步进行认证,所以"报请返回重新认证",不过代码是运行成功的







如果大家遇到芝麻认证的问题欢迎大家在帖子下面追问,注意一定要提供详细的错误等相关信息方便解答疑问
aishow | 2017-08-14 14:45:28
你好,请问有没有PHP版的芝麻认证啊
王兰玉 | 2017-08-14 15:57:04
aishow:你好,请问有没有PHP版的芝麻认证啊回到原帖
正在写,写好了会发出了的
aishow | 2017-08-14 17:04:04
王兰玉:正在写,写好了会发出了的回到原帖
在PHP里面也需要写下面代码吗?
String bizContent = "{"
        + "    \"transaction_id\":\""+temp+"\","
        + "    \"product_code\":\"w1010100000000002978\","
        + "    \"biz_code\":\"FACE\","
        + "    \"identity_param\":\"{}\","
        + "    \"ext_biz_param\":\"{}\"" + "  }";
        requestInit.setBizContent(bizContent);
我是个导演 | 2017-08-14 18:53:09
aishow:在PHP里面也需要写下面代码吗?String bizContent = "{"
        + "    \"transaction_id\":\""+temp+"\","
        + "    \"product_code...
回到原帖
已经分享:https://openclub.alipay.com/read.php?tid=1777&fid=25&page=1
aishow | 2017-08-15 09:37:29
我是个导演:已经分享:https://openclub.alipay.com/read.php?tid=1777&fid=25&page=1回到原帖
是不是写成"    \"identity_param\":\"{}\,默认获取当前登陆者的信息?
我是个导演 | 2017-08-15 09:45:51
aishow:是不是写成"    \"identity_param\":\"{}\,默认获取当前登陆者的信息?回到原帖
是的,这个是传当前用户的信息的
aishow | 2017-08-15 10:44:26
我是个导演:是的,这个是传当前用户的信息的回到原帖
//根据返回的auth_code换取access_token
 //vendor("Alipay.AlipaySystemOauthTokenRequest");
include "AlipaySystemOauthTokenRequest.php";
    $request = new AlipaySystemOauthTokenRequest();
    $request->setGrantType("authorization_code");
    $request->setCode($auth_code);
    $result = $aop->execute($request);
    $access_token = $result->alipay_system_oauth_token_response->access_token;
include  "ZhimaCustomerCertificationInitializeRequest.php"
$request = new ZhimaCustomerCertificationInitializeRequest ();
$request->setBizContent("{" .
    "\"transaction_id\":\"zhima201708140000000000002\"," .//保持唯一性
    "\"product_code\":\"w1010100000000002978\"," .//默认值请勿修改
    "\"biz_code\":\"FACE\"," .
    //沙箱测试cert_name填写沙箱账号名称,cert_no填写沙箱身份证号
    "\"identity_param\":\"{}\"}");
$result = $aop->execute ($request,$access_token); 
var_dump($result);



Notice
: Undefined variable: alipay_system_oauth_token_response in C:\phpStudy\WWW\zhima\initialize.php on line 8
Fatal error: Cannot access empty property in C:\phpStudy\WWW\zhima\initialize.php on line 8
aishow | 2017-08-15 10:45:04
aishow://根据返回的auth_code换取access_token
 //vendor("Alipay.AlipaySystemOauthTokenRequest");
include "AlipaySystemOauthTokenReque...
回到原帖
这样写没错啊,但是为什么会报这样的错?
我是个导演 | 2017-08-15 11:21:05
aishow:这样写没错啊,但是为什么会报这样的错?回到原帖
我的可以正常获取的。你的php是什么版本?我的Apache2.4.23 +php 5.6.25  
//第二步使用auth_code换取接口access_token及用户userId
$request = new AlipaySystemOauthTokenRequest();
//请求的必传信息
$request->setGrantType("authorization_code");
$request->setCode("4cea6ad64013486db6df44b18828SX77");
$result = $aop->execute($request);
$access_token = $result->alipay_system_oauth_token_response->access_token;
echo $access_token;



另外出现Undefined variable 你关闭一下不提示这个错误看看http://www.jb51.net/article/32127.htm
aishow | 2017-08-15 11:24:36
我是个导演:我的可以正常获取的。你的php是什么版本?我的Apache2.4.23 +php 5.6.25  
//第二步使用auth_code换取接口access_token及用户userId
$request = new AlipaySyste...
回到原帖
是php5.5.38
淡泊呼吸 | 2017-09-07 11:05:04
为什么我用你的demo进行初始化的时候,会报错?
yfb | 2017-10-12 14:35:26
我用UC发起的芝麻认证,但回调却用safari打开了,请问这是什么问题啊?
王兰玉 | 2017-10-12 15:43:57
yfb:我用UC发起的芝麻认证,但回调却用safari打开了,请问这是什么问题啊?回到原帖
已在你发的帖子中回复你了
freedomsure | 2017-12-19 11:06:19
对照了你的代码  我在进行开发的时候发现回调时候  参数failed_reason 是乱码的,初始化时候的请求 返回的汉字是正常的 唯独回调的时候 汉字是乱码的  不太清楚是什么原因
我的回复
回复数
  20
阅读数
  3862

返回顶部