
实现步骤具体如下:
(学习视频分享:java教学视频)
1、导入依赖
<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.9.5.ALL</version></dependency>
2、配置参数
3、实现方法
@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);//构造clientCertAlipayRequest certAlipayRequest = new CertAlipayRequest();//设置网关地址https://openapi.alipay.com/gateway.docertAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");//设置应用AppIdcertAlipayRequest.setAppId(appid);//设置应用私钥certAlipayRequest.setPrivateKey(zzpri);certAlipayRequest.setFormat("json");//设置字符集certAlipayRequest.setCharset("UTF-8");//设置签名类型certAlipayRequest.setSignType("RSA2");//设置应用公钥证书路径certAlipayRequest.setCertPath(appcertpath);//设置支付宝公钥证书路径certAlipayRequest.setAlipayPublicCertPath(alicertpath);//设置支付宝根证书路径certAlipayRequest.setRootCertPath(rootcertpath);//构造ClientAlipayClient 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,"支付宝转账失败!");}}
注意:该功能实现需要先实现支付宝授权功能获取支付宝会员id,支付宝会员id是由2088开头的,如果是用客户手机号进行提现,就会还需要输入客户真实姓名。
用客户手机号提现只是部分参数不同,代码如下:
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\"," +"\"name\":\"ALIPAY_USER_ID\"" +" }," +"\"remark\":\"姓名\"" +" }");
相关推荐:java入门教程
以上就是利用java实现提现金额到支付宝账户的功能的知识。速戳>>知识兔学习精品课!