介绍
小编给大家分享一下如何利用java实现提现金额到支付宝账户的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
实现步骤具体如下:
1,导入依赖
& lt; dependency> & lt; groupId> com.alipay.sdk & lt; artifactId> alipay-sdk-java & lt; version> 4.9.5.ALL & lt;/dependency>
2,配置参数
3,实现方法
@ApiOperation (value=https://www.yisu.com/zixun/捌笠底说街Ц侗Α?httpMethod=癙OST”,产生=癮pplication/json; charset=utf - 8”) @ApiImplicitParams (value={@ApiImplicitParam (value=" *用户令牌”,name=傲钆啤?defaultValue=",数据类型=白址?paramType=巴贰?, @ApiImplicitParam (value="支付宝会员id”, name=" aliuserId " defaultValue=",数据类型=癷nt”, paramType=安檠?示例=" 0 "), @ApiImplicitParam (value="金额”,名字=扒?defaultValue=",数据类型=白址?paramType=安檠? }) @PostMapping(“/支付宝/转让”) 公共结果getMoney (HttpServletRequest servletRequest BigDecimal钱,@NotNull(消息=爸Ц侗嵩眎d不能为空”)字符串aliuserId) { 尝试{ 字符串out_biz_no=" R - " + System.currentTimeMillis() +((长)((math . random () * 9 + 1) * 100000000 l) + " ")。substring (0,8);//构造客户端 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);//构造客户端 AlipayClient AlipayClient=零; 尝试{ alipayClient=new DefaultAlipayClient (certAlipayRequest); }捕捉(AlipayApiException e) { e.printStackTrace (); }//实例化接口 AlipayFundTransUniTransferRequest请求=new AlipayFundTransUniTransferRequest (); 请求。setBizContent (“{”+ “/眔ut_biz_no/:/" + out_biz_no +”/薄ⅰ? “/眛rans_amount/:/" +钱+”/薄ⅰ? “/眕roduct_code/?“TRANS_ACCOUNT_NO_PWD/薄ⅰ? “/眀iz_scene/?“DIRECT_TRANSFER/薄ⅰ? “/眔rder_title/?“转账/薄ⅰ? ”/皃ayee_info/": {" + “/鄙矸?:/" + aliuserId +“/薄ⅰ? “/眎dentity_type/?“ALIPAY_USER_ID/薄ⅰ? “}”+ "备注/?“单笔转账/薄? “}”); AlipayFundTransUniTransferResponse响应=零; 响应=alipayClient.certificateExecute(请求); 如果(response.isSuccess ()) { 如果(“10000”.equals (response.getCode ())) { 返回Result.ok(“转账成功”); 其他}{ 返回Result.fail (Integer.valueOf (response.getCode ()), response.getSubMsg ()); } 其他}{ 返回Result.fail (Integer.valueOf (response.getCode ()), response.getSubMsg ()); } }捕捉(异常e) { e.printStackTrace (); 返回Result.error(901,“支付宝转账失败!”); } }
注意:该功能实现需要先实现支付宝授权功能获取支付宝会员id、支付宝会员id是由2088年开头的,如果是用客户手机号进行提现,就会还需要输入客户真实姓名。
用客户手机号提现只是部分参数不同,代码如下:
request.setBizContent (“{”;+ “\“out_biz_no \“: \““+ out_biz_no +“\”,“+ “\“trans_amount \“: \““+钱+“\”,“+ “\“product_code \“: \“TRANS_ACCOUNT_NO_PWD \“,“+ “\“biz_scene \“: \“DIRECT_TRANSFER \“,“+ “\“order_title \“: \“转账\“,“+ “\“payee_info \“: {“;+ “\”,\“身份:\““+ aliuserId +“\”,“+ “\“identity_type \“: \“ALIPAY_USER_ID \“,“+ “\”,\“名称;:\“ALIPAY_USER_ID \““+ “;},“;+ “\“备注\“:\“姓名\““+ “;}“);如何利用java实现提现金额到支付宝账户的功能