>  기사  >  Java  >  Java를 사용하여 Alipay 계정으로 현금을 인출하는 기능 실현

Java를 사용하여 Alipay 계정으로 현금을 인출하는 기능 실현

王林
王林앞으로
2020-12-10 16:21:393817검색

Java를 사용하여 Alipay 계정으로 현금을 인출하는 기능 실현

구현 단계는 다음과 같습니다.

(학습 영상 공유: java 교육 영상)

1. 종속성 가져오기

<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.9.5.ALL</version>
</dependency>

2. 구성 매개변수

Java를 사용하여 Alipay 계정으로 현금을 인출하는 기능 실현

3.
참고: 이 기능을 구현하려면 먼저 Alipay 인증 기능을 구현하여 Alipay 회원 ID를 받아야 합니다. Alipay 회원 ID는 2088로 시작합니다. 고객의 휴대폰 번호를 사용하여 현금을 인출하는 경우에도 입력해야 합니다. 고객의 실명.

고객 휴대폰 번호 사용 시 일부 매개변수만 다릅니다. 코드는 다음과 같습니다.

@ApiOperation(value = "企业转账到支付宝", httpMethod = "POST", produces = "application/json;charset=UTF-8")
@ApiImplicitParams(value = {@ApiImplicitParam(value = "*用户token", name = "token",defaultValue ="", dataType = "String",paramType="header"),
@ApiImplicitParam(value = "支付宝会员id", name = "aliuserId",defaultValue ="", dataType = "int",paramType="query",example = "0"),
@ApiImplicitParam(value = "金额", name = "money",defaultValue ="", dataType = "String",paramType="query")
})
@PostMapping("/alipay/transfer")
public Result getMoney(HttpServletRequest servletRequest,BigDecimal money,@NotNull(message = "支付宝会员id不能为空")String aliuserId){
try {
String out_biz_no = "R-" + System.currentTimeMillis() + ((long) ((Math.random() * 9 + 1) * 100000000L) + "").substring(0, 8);
//构造client
CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
//设置网关地址https://openapi.alipay.com/gateway.do
certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
//设置应用AppId
certAlipayRequest.setAppId(appid);
//设置应用私钥
certAlipayRequest.setPrivateKey(zzpri);
certAlipayRequest.setFormat("json");
//设置字符集
certAlipayRequest.setCharset("UTF-8");
//设置签名类型
certAlipayRequest.setSignType("RSA2");
//设置应用公钥证书路径
certAlipayRequest.setCertPath(appcertpath);
//设置支付宝公钥证书路径
certAlipayRequest.setAlipayPublicCertPath(alicertpath);
//设置支付宝根证书路径
certAlipayRequest.setRootCertPath(rootcertpath);
//构造Client
AlipayClient alipayClient = null;
try {
alipayClient = new DefaultAlipayClient(certAlipayRequest);
} catch (AlipayApiException e) {
e.printStackTrace();
}
//实例化接口
AlipayFundTransUniTransferRequest request=new AlipayFundTransUniTransferRequest();
request.setBizContent("{" +
"\"out_biz_no\":\""+out_biz_no+"\"," +
"\"trans_amount\":\""+money+"\"," +
"\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," +
"\"biz_scene\":\"DIRECT_TRANSFER\"," +
"\"order_title\":\"转账\"," +
"\"payee_info\":{" +
"\"identity\":\""+aliuserId+"\"," +
"\"identity_type\":\"ALIPAY_USER_ID\"," +
" }," +
"\"remark\":\"单笔转账\"" +
" }");
AlipayFundTransUniTransferResponse response=null;
response = alipayClient.certificateExecute(request);
if (response.isSuccess()){
if("10000".equals(response.getCode())){
return Result.ok("转账成功");
} else {
return Result.fail(Integer.valueOf(response.getCode()),response.getSubMsg());
}
}else {
return Result.fail(Integer.valueOf(response.getCode()),response.getSubMsg());
}
}catch (Exception e){
e.printStackTrace();
return Result.error(901,"支付宝转账失败!");
}
}

관련 권장 사항:

Java 입문 튜토리얼

위 내용은 Java를 사용하여 Alipay 계정으로 현금을 인출하는 기능 실현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제