记录开发内容demo-java支付宝提现


前言

支付宝提现


一、所需SDK

    <dependency>
        <groupId>com.alipay.sdk</groupId>
        <artifactId>alipay-easysdk</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>com.alipay.sdk</groupId>
        <artifactId>alipay-sdk-java</artifactId>
        <version>3.0.0</version>
    </dependency>

二、启动类加载config

1.

代码如下(示例):


import com.alipay.easysdk.factory.Factory;
import com.alipay.easysdk.kernel.Config;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @description
 */
@Component
@Slf4j
public class AlipayInitializer implements ApplicationRunner {
    @Autowired
    AlipayConfig config;
    @Override
    public void run(ApplicationArguments args) {
        Factory.setOptions(config.parseToConfig());
        log.info("alipay配置加载成功");
    }
}
@Data
@ConfigurationProperties(prefix = "alipay")
@Component
class AlipayConfig{
    private String protocol;
    private String gatewayHost;
    private String signType;
    private String appId;
    private String merchantPrivateKey;
    private String alipayPublicKey;
    private String merchantCertPath;
    private String alipayCertPath;
    private String alipayRootCertPath;
    public Config parseToConfig(){
        Config config = new Config();
        config.protocol=protocol;
        config.gatewayHost=gatewayHost;
        config.signType=signType;
        config.appId=appId;
        config.merchantPrivateKey=merchantPrivateKey;
        config.alipayPublicKey=alipayPublicKey;
        //设置应用公钥证书路径
        config.merchantCertPath=merchantCertPath;
        //设置支付宝公钥证书路径
        config.alipayCertPath=alipayCertPath;
        //设置支付宝根证书路径
        config.alipayRootCertPath=alipayRootCertPath;
        return config;
    }
}

2.执行util

代码如下(示例):


import cn.hutool.core.lang.generator.SnowflakeGenerator;
import cn.hutool.core.util.StrUtil;
import com.alipay.easysdk.factory.Factory;
import com.alipay.easysdk.util.generic.models.AlipayOpenApiGenericResponse;
import java.math.BigDecimal;

import java.util.HashMap;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;



/**
 */
public class PayUtil {

    public static boolean alipayWithdraw(String account,String name,BigDecimal money) throws Exception {
//        String[] split = id.split(",");
        Map<String,Object> bizMap = new HashMap<>();
        bizMap.put("out_biz_no",new SnowflakeGenerator().next().toString());
        bizMap.put("trans_amount",money.toString());
        bizMap.put("product_code","TRANS_ACCOUNT_NO_PWD");
        bizMap.put("biz_scene","DIRECT_TRANSFER");
        Map<String,String> payee_info = new HashMap<>();
        payee_info.put("identity",account);
        payee_info.put("identity_type","ALIPAY_LOGON_ID");
        try {
            payee_info.put("name",name);
        } catch (Exception e) {
            throw new Exception("支付宝信息不符合要求,提交申请失败");
        }
        bizMap.put("payee_info",payee_info);
        AlipayOpenApiGenericResponse response = Factory.Util.Generic().execute("alipay.fund.trans.uni.transfer", new HashMap<>(), bizMap);
        if (StrUtil.isNotBlank(response.subCode)){
            throw new Exception("支付宝账户异常:"+response.getSubMsg());
        }
        return true;
    }
}

3.yml配置 证书

alipay:
  protocol: https
  gateway-host: openapi.alipay.com
  sign-type: RSA2
  app-id: xxx
  merchant-private-key: xxx
  alipay-public-key: xxx
  merchant-cert-path: xxx
  alipay-cert-path: xxx
  alipayRoot-cert-path: xxx

总结

支付宝支付 首先调用生成二维码 扫码支付成功后回调

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值