应用公钥、应用私钥
1、下载https://docs.open.alipay.com/291/106097RSA签名验签工具。选择密钥格式:PKCS8,密钥长度:2048,点击生成密钥。复制商户应用公钥,在蚂蚁金服开放平台创建的应用中填写在应用公钥中,系统会自动生成支付宝公钥,这个支付宝公钥在调用接口的时候会用到。
2、pom文件中添加maven依赖:
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.0.1</version>
</dependency>
调用示例:
package com.yz.discount.test;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;
import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;
import com.yz.discount.common.utils.DateUtils;
import org.junit.Test;
/** * alipay单笔转账到支付宝账户接口测试 * Created by lsk on 2018-5-21. */
public class AliPayTransferTest {
private static String APPID = "";
private static String SERVERURL = "https://openapi.alipay.com/gateway.do";
//应用私钥
private static String PRIVATEKEY = "";
//支付宝公钥
private static String ALIPAY_PUBLICKEY = "";
@Test
public void testAliPay(){
AlipayClient alipayClient = new DefaultAlipayClient(SERVERURL,APPID,PRIVATEKEY,
"json","utf-8",ALIPAY_PUBLICKEY,"RSA2");
AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
String outTradeNo = DateUtils.now("yyyyMMddHHmmss");
request.setBizContent("{" +
"\"out_biz_no\":\""+outTradeNo+"\"," +
"\"payee_type\":\"ALIPAY_LOGONID\"," +
"\"payee_account\":\"支付宝账户\"," +
"\"amount\":\"0.1\"," +
"\"payer_show_name\":\"转账方名称\"," +
"\"payee_real_name\":\"支付宝真实用户名\"," +
"\"remark\":\"备注\"" +
"}");
try {
AlipayFundTransToaccountTransferResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功:orderId:"+response.getOrderId()+";outBizNo:"+response.getOutBizNo()+";payDate:"+response.getPayDate());
} else {
System.out.println("调用失败");
}
}catch (Exception e){
e.printStackTrace();
}
}
}