Java实现单次转账到到个人支付宝账户(新版接口)
前言:支付宝5月21日发布通知单次转账接口升级,老版接口不再维护
1.首先需要认证企业支付宝账户
注册链接: https://auth.alipay.com/login/ant_sso_index.htm?goto=https%3A%2F%2Fopenhome.alipay.com%2Fplatform%2FdeveloperIndex.htm.
2.准入条件
该能力仅对企业支付宝账户开放;
企业支付宝账户需满足注册满 90 天,且已实名认证。
3.去绑定(创建)你的应用
4.去能力列表,能力管理签约转账到支付宝账号
准备工作完成进入开发阶段
1.alipay.fund.trans.toaccount.transfer (旧版转账到支付宝账户接口/阿里已经不维护了不建议这个)
链接: https://opendocs.alipay.com/open/309/alipay.fund.trans.toaccount.transfer.
2.alipay.fund.trans.uni.transfer(单笔转账接口/这是新版)
本人用的是证书签名验证的新版转账接口,下面是代码的实现(如果不了解什么是证书签名验证点击查看链接: https://opendocs.alipay.com/open/291/105974.)
需要的maven依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.8.73.ALL</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
Controller层
@RequestMapping("/updatewithdrawal")
@ResponseBody
@CrossOrigin(origins = "*", maxAge = 3600)//跨域
public ResultMap updatewithdrawal(String id, Integer mType) throws AlipayApiException {
//根据提现订单id查询出提现记录对象
Withdraw w = userService.getwithdrawalsById(id);
if (w.getmManner() == 1) {
//调用转账到个人支付宝
Map<String, Object> map = alipayService.alipayWithdraw(id, w.getmMoney(),w.getuId(), w.getAccountpayeename(), w.getAccountpayee());
return ResultMap.ok(200, "success").put("data",