JAVA服务端集成支付宝转账功能

1.首先在企业支付宝申请的APP成功审核
2.等待审核成功后,在主页找到第三步位置
3.JAVA服务端集成支付宝转账功能_第1张图片

4.进去后,看到开放平台密匙,拿到APPID,设置RSA(SHA256)密钥,下载产生密匙的工具,会产生公匙(APP_PUBLIC_KEY)和私匙(APP_PRIVATE_KEY)和支付宝公密匙(ALIPAY_PUBLIC_KEY)
5.找到应用管理,应用列表,查看已申请好的应用详情,然后在功能列表中加上单笔转账到支付宝账户功能
JAVA服务端集成支付宝转账功能_第2张图片
6.等待签约成功
7.这个时候可以上代码了
pom.xml

<dependency>
            <groupId>commons-logginggroupId>
            <artifactId>commons-loggingartifactId>
            <version>1.1.1version>
        dependency>
        <dependency>
            <groupId>com.alipay.sdkgroupId>
            <artifactId>alipay-sdk-javaartifactId>
            <version>3.3.49.ALLversion>
        dependency>

记得先写一个转账需要用到的参数的实体类,比如取名alipay.java

    /**
     * 逻辑单号
     */
    private String out_biz_no;

    /**
     * 收款方账户类型
     */
    private String payee_type;

    /**
     * 收款方支付宝账号
     */
    private String payee_account;

    /**
     * 转账金额
     */
    private String amount;

    /**
     * 转账名称
     */
    private String payer_show_name;

    /**
     * 提现用户的真实姓名
     */
    private String payee_real_name;

    /**
     * 转账备注
     */
    private String remark;

再来个TEST测试类

private String CHARSET = "UTF-8";
private String PAYEE_TYPE = "ALIPAY_LOGONID";//支付宝登录号,支持邮箱和手机号格式。
//  private String PAYEE_TYPE = "ALIPAY_USERID";//支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成
private String APP_ID = "你的APPID";
private String ALIPAY_URL = "https://openapi.alipay.com/gateway.do";//调用支付地址
private String APP_PRIVATE_KEY = "私匙";
private String ALIPAY_PUBLIC_KEY = "支付宝公匙";

public Object test(){
    //实例化接口
    AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_URL, APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
    AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
    Alipay alipay = new Alipay();
    alipay.setOut_biz_no(DateUtil.getTimeNo());
        alipay.setPayee_type(PAYEE_TYPE);
        alipay.setAmount("金额");
        alipay.setPayer_show_name("测试名称");
        alipay.setPayee_account("对方支付宝账户");
        alipay.setPayee_real_name("对方真实姓名");
        alipay.setRemark("萌点用户提现");
        //转成json格式放入
        String json = new Gson().toJson(alipay);
        request.setBizContent(json);
        AlipayFundTransToaccountTransferResponse response=null;
        Map<String, Object> map = new HashMap<String,Object>();
        try{
            response = alipayClient.execute(request);
            if("10000".equals(response.getCode())){
                map.put("code", response.getCode());
                map.put("success", "true");
                map.put("des", "转账成功");
                }else{
                    map.put("code", response.getCode());
                    map.put("sub_code", response.getSubCode());//详情状态码
                    map.put("success", "false");
                    map.put("sub_msg", response.getSubMsg());//详情原因
                }
        }catch(AlipayApiException e){
            e.printStackTrace();
            map.put("success", "false");
            map.put("des", "转账失败!");
        }
        return map;
}

至此,调用这个方法,即可向需要的用户转账

你可能感兴趣的:(JAVA服务端集成支付宝转账功能)