实现步骤具体如下:
(学习视频分享: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实现提现金额到支付宝账户的功能的详细内容。