问题解决:缺少jar包
转账相关代码
/**
* 支付宝单笔转账
* @param payee_account 收款方账户(支付宝账户)
* @param payee_name 收款方真实姓名
* @param amount 金额(单位:元)
* @param memo 备注
* @param orderNum 订单号
*/
public static Integer ailPayTransfer(String payee_account,String payee_name,String amount,String orderNum,String memo) {
try {
//获取根目录
String filePath=AlipayUtil.class.getResource("/").getPath();
System.out.println(filePath);
CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
certAlipayRequest.setServerUrl(URL);
certAlipayRequest.setAppId(APP_ID);
certAlipayRequest.setPrivateKey(APP_PRIVATE_KEY);
certAlipayRequest.setFormat("json");
certAlipayRequest.setCharset(CHARSET);
certAlipayRequest.setSignType(SIGN_TYPE);
certAlipayRequest.setCertPath(filePath+"appCertPublicKey_2019032963724751.crt");
certAlipayRequest.setAlipayPublicCertPath(filePath+"alipayCertPublicKey_RSA2.crt");
certAlipayRequest.setRootCertPath(filePath+"alipayRootCert.crt");
DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);
AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
request.setBizContent("{" +
"\"out_biz_no\":\""+orderNum+"\"," +//商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
"\"trans_amount\":"+amount+"," + //订单总金额,单位为元,精确到小数点后两位,
"\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," +//收发现金红包固定为:STD_RED_PACKET; 单笔无密转账到支付宝账户固定为:TRANS_ACCOUNT_NO_PWD; 单笔无密转账到银行卡固定为:TRANS_BANKCARD_NO_PWD
"\"biz_scene\":\"DIRECT_TRANSFER\"," + //描述特定的业务场景,可传的参数如下: PERSONAL_COLLECTION:C2C现金红包-领红包; DIRECT_TRANSFER:B2C现金红包、单笔无密转账到支付宝/银行卡
"\"order_title\":\"转账业务的标题\"," +//转账业务的标题,用于在支付宝用户的账单里显示
//"\"original_order_id\":\"20190620110075000006640000063056\"," +//原支付宝业务单号。C2C现金红包-红包领取时,传红包支付时返回的支付宝单号;B2C现金红包、单笔无密转账到支付宝/银行卡不需要该参数。
"\"payee_info\":{" + //收款方信息
"\"identity\":\""+payee_account+"\"," + //参与方的唯一标识
"\"identity_type\":\""+PAYEE_TYPE+"\"," + //参与方的标识类型,目前支持如下类型: 1、ALIPAY_USER_ID 支付宝的会员ID 2、ALIPAY_LOGON_ID:支付宝登录号,支持邮箱和手机号格式
"\"name\":\""+payee_name+"\"" + //参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。若传入该属性,则在支付宝回单中将会显示这个属性
" }," +
"\"remark\":\""+memo+"\"" + //业务备注
" }");
AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
if(response.isSuccess()){
System.out.println("调用成功");
return 1;
} else {
System.out.println("调用失败");
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("出错");
}
return 0;
}
相关文档地址
https://docs.open.alipay.com/309/106236
证书升级步骤
https://docs.open.alipay.com/291/twngcd/
大致描述步骤:
1 下载证书软件
2 运行软件,输入企业信息,生成CSR文件
3 上传CSR文件到支付宝开发平台的应用