文档中心 > 借呗分期

借呗分期快速接入

更新时间:2016/08/29 访问次数:665

该文档主要面向需要入驻蚂蚁开放平台的产品、架构、开发等相关人员, 需要有基本的程序开发背景。通过该文档能够快速集成(借呗分期)功能,接入前需要入驻开放平台并创建了应用,应用已申请该接口权限并配置RSA密钥。

第一步:创建应用

要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在管理中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能正常使用有权限调用的开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。

第二步:配置密钥

开发者调用接口前需要先生成RSA密钥,包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY),并进行密钥配置,把开发者公钥与支付宝交换获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》。

第三步:搭建和配置开发环境

1. 下载服务端SDK

开发语言 资源下载 环境要求
JAVA版资源 SDK1.5 适用于Java语言、jdk版本1.5及以上的开发环境
SDK1.4 适用于Java语言、jdk版本1.4及以下的开发环境
.NET版资源 SDK 适用于Visual studio 2010及以上版本、Framework3.5及以上版本的开发环境
PHP版资源 SDK 适用于php全系列开发环境

各语言版本服务端SDK详细使用说明,请参考《服务端SDK说明

2. 接口调用配置

在SDK调用前需要进行初始化,以Java代码为示例如下:

AlipayClient alipayClient = newDefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","GBK",ALIPAY_PUBLIC_KEY);
 

关键参数说明:

 - https://openapi.alipay.com/gateway.do 线上支付宝开放平台网关(固定)

 - APP_ID 即创建应用后生成,获取见上面“第一步:创建应用”

 - APP_PRIVATE_KEY 获取详见上面“第二步:密钥配置”

 - ALIPAY_PUBLIC_KEY 获取详见上面“第二步:密钥配置”

第四步:接口调用

借呗分期产品包含以下接口:

接口名称 接口描述

用户申贷
alipay.pcredit.loan.apply.create

在商户生成二维码时使用,约定了二维码中的业务参数,对应下述序列图的1

商户退款
alipay.pcredit.loan.refund.create

商户发起退款时调用,对应下述序列图中的7

接口调用序列图如下:

接口调用示例大致分为3步:

  1. 拼装业务参数
  2. 将参数发送给开放平台服务端
  3. 获取开放平台服务端返回值,并进行具体业务处理

1.用户申贷

开发者根据此接口的参数生成url,示例代码如下:

        String privateKey = "";// 开放平台应用私钥
        Map<String, String> map = new HashMap<String, String>();
        map.put("scene", "000201"); // 场景码
        map.put("out_biz_no", "2016082200001"); // 商户订单号
        map.put("name", "张三"); // 姓名
        map.put("cert_no", "1215"); // 身份证后四位
        map.put("ratio", "1"); // 贴息率
        map.put("apply_amt", "5000.00"); // 申贷金额
        String sign = AlipaySignature.rsaSign(map, privateKey, "UTF-8");
        String signEncoder = URLEncoder.encode(sign, "utf-8");
        map.put("open_id", "2016081000054375"); // 开放平台应用id
        map.put("sign", signEncoder);
        map.put("sign_type", "RSA");        
        String paramet = "/www/jiebei/pages/openScene.htm?" + getUrlParamsByMap(map);
        String parametEncoder = URLEncoder.encode(paramet, "utf-8");
        Map<String, String> parametMap = new HashMap<String, String>();
        parametMap.put("appId", "20000180");
        parametMap.put("url", parametEncoder);
        String url = "alipays://platformapi/startapp?" + getUrlParamsByMap(parametMap);
        
    /**
     * 将map转换成url
     * @param map
     * @return
     */ 
    public static String getUrlParamsByMap(Map<String, String> map) { 
        if (map == null) { 
            return ""; 
        } 
        StringBuffer sb = new StringBuffer(); 
        for (Map.Entry<String, String> entry : map.entrySet()) { 
            sb.append(entry.getKey() + "=" + entry.getValue()); 
            sb.append("&"); 
        } 
        String s = sb.toString(); 
        if (s.endsWith("&")) { 
            s = org.apache.commons.lang.StringUtils.substringBeforeLast(s, "&"); 
        } 
        return s; 
    }  

2.商户退款

示例代码如下:

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key");
AlipayPcreditLoanRefundCreateRequest request = new AlipayPcreditLoanRefundCreateRequest();
request.setBizContent("{" +
"    \"req_id\":\"100000001\"," +
"    \"out_biz_no\":\"2016060300001\"," +
"    \"loan_apply_no\":\"2016081810193018140000000000140000031347\"," +
"    \"repay_amt\":2000.00" +
"  }");
AlipayPcreditLoanRefundCreateResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");

FAQ

关于此文档暂时还没有FAQ
返回
顶部