From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java | 170 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 99 insertions(+), 71 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java index bb8b3ba..01312cf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/AlipayUtil.java @@ -1,71 +1,99 @@ -package com.yeshi.fanli.util; - -import java.math.BigDecimal; - -import com.alipay.api.AlipayApiException; -import com.alipay.api.CertAlipayRequest; -import com.alipay.api.DefaultAlipayClient; -import com.alipay.api.request.AlipayFundTransUniTransferRequest; -import com.alipay.api.response.AlipayFundTransUniTransferResponse; -import com.yeshi.fanli.exception.user.AlipayTransferException; - -import net.sf.json.JSONObject; - -public class AlipayUtil { - - private static DefaultAlipayClient alipayClient = null; - - static { - String privateKey = Constant.alipayConfig.getPrivateKey(); - CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); - certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); - certAlipayRequest.setAppId(Constant.alipayConfig.getAppId()); - certAlipayRequest.setPrivateKey(privateKey); - certAlipayRequest.setFormat("json"); - certAlipayRequest.setCharset("GBK"); - certAlipayRequest.setSignType("RSA2"); - certAlipayRequest.setCertPath( - AlipayUtil.class.getClassLoader().getResource(Constant.alipayConfig.getAppCertPath()).getPath()); - certAlipayRequest.setAlipayPublicCertPath( - AlipayUtil.class.getClassLoader().getResource(Constant.alipayConfig.getAlipayCertPath()).getPath()); - certAlipayRequest.setRootCertPath( - AlipayUtil.class.getClassLoader().getResource(Constant.alipayConfig.getAlipayRootCertPath()).getPath()); - try { - alipayClient = new DefaultAlipayClient(certAlipayRequest); - } catch (AlipayApiException e) { - e.printStackTrace(); - } - - } - - public static AlipayFundTransUniTransferResponse transfer(String outBizNo, String account, String name, - BigDecimal money, String orderTitle, String mark) - throws AlipayApiException, NumberFormatException, AlipayTransferException { - AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); - JSONObject json = new JSONObject(); - json.put("out_biz_no", outBizNo); - json.put("trans_amount", money.toString()); - json.put("product_code", "TRANS_ACCOUNT_NO_PWD"); - json.put("order_title", orderTitle); - JSONObject payee_info = new JSONObject(); - payee_info.put("identity", account); - payee_info.put("identity_type", "ALIPAY_LOGON_ID"); - payee_info.put("name", name); - json.put("payee_info", payee_info); - json.put("remark", mark); - json.put("biz_scene", "DIRECT_TRANSFER"); - - request.setBizContent(json.toString()); - AlipayFundTransUniTransferResponse response = null; - response = alipayClient.certificateExecute(request); - // 鎴愬姛杞处 - if (response != null && response.isSuccess() && "10000".equals(response.getCode())) { - return response; - } else// 杞处澶辫触 - { - throw new AlipayTransferException(Integer.parseInt(response.getCode()), response.getSubCode(), - response.getSubMsg()); - } - } - -} +package com.yeshi.fanli.util; + +import java.math.BigDecimal; + +import com.alipay.api.AlipayApiException; +import com.alipay.api.CertAlipayRequest; +import com.alipay.api.DefaultAlipayClient; +import com.alipay.api.request.AlipayFundTransUniTransferRequest; +import com.alipay.api.request.AlipayTradeQueryRequest; +import com.alipay.api.response.AlipayFundTransUniTransferResponse; +import com.yeshi.fanli.exception.user.AlipayTransferException; + +import net.sf.json.JSONObject; + +public class AlipayUtil { + + private static DefaultAlipayClient alipayClient = null; + + static { + String privateKey = Constant.alipayConfig.getPrivateKey(); + CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); + certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); + certAlipayRequest.setAppId(Constant.alipayConfig.getAppId()); + certAlipayRequest.setPrivateKey(privateKey); + certAlipayRequest.setFormat("json"); + certAlipayRequest.setCharset("GBK"); + certAlipayRequest.setSignType("RSA2"); + certAlipayRequest.setCertPath( + AlipayUtil.class.getClassLoader().getResource(Constant.alipayConfig.getAppCertPath()).getPath()); + certAlipayRequest.setAlipayPublicCertPath( + AlipayUtil.class.getClassLoader().getResource(Constant.alipayConfig.getAlipayCertPath()).getPath()); + certAlipayRequest.setRootCertPath( + AlipayUtil.class.getClassLoader().getResource(Constant.alipayConfig.getAlipayRootCertPath()).getPath()); + try { + alipayClient = new DefaultAlipayClient(certAlipayRequest); + } catch (AlipayApiException e) { + e.printStackTrace(); + } + + } + + public static AlipayFundTransUniTransferResponse transfer(String outBizNo, String account, String name, + BigDecimal money, String orderTitle, String mark) + throws AlipayApiException, NumberFormatException, AlipayTransferException { + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); + JSONObject json = new JSONObject(); + json.put("out_biz_no", outBizNo); + json.put("trans_amount", money.toString()); + json.put("product_code", "TRANS_ACCOUNT_NO_PWD"); + json.put("order_title", orderTitle); + JSONObject payee_info = new JSONObject(); + payee_info.put("identity", account); + payee_info.put("identity_type", "ALIPAY_LOGON_ID"); + payee_info.put("name", name); + json.put("payee_info", payee_info); + json.put("remark", mark); + json.put("biz_scene", "DIRECT_TRANSFER"); + + request.setBizContent(json.toString()); + AlipayFundTransUniTransferResponse response = null; + response = alipayClient.certificateExecute(request); + // 鎴愬姛杞处 + if (response != null && response.isSuccess() && "10000".equals(response.getCode())) { + return response; + } else// 杞处澶辫触 + { + throw new AlipayTransferException(Integer.parseInt(response.getCode()), response.getSubCode(), + response.getSubMsg()); + } + } + + public static AlipayFundTransUniTransferResponse transferNoThrowException(String outBizNo, String account, String name, + BigDecimal money, String orderTitle, String mark) throws AlipayApiException{ + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); + JSONObject json = new JSONObject(); + json.put("out_biz_no", outBizNo); + json.put("trans_amount", money.toString()); + json.put("product_code", "TRANS_ACCOUNT_NO_PWD"); + json.put("order_title", orderTitle); + JSONObject payee_info = new JSONObject(); + payee_info.put("identity", account); + payee_info.put("identity_type", "ALIPAY_LOGON_ID"); + payee_info.put("name", name); + json.put("payee_info", payee_info); + json.put("remark", mark); + json.put("biz_scene", "DIRECT_TRANSFER"); + + request.setBizContent(json.toString()); + AlipayFundTransUniTransferResponse response = null; + response = alipayClient.certificateExecute(request); + return response; + } + + public static void main(String[] args) throws AlipayTransferException, AlipayApiException { + + AlipayUtil.transfer("test-test","18581318252","璐哄皬杈�",new BigDecimal("0.1"),"鏉挎牀蹇渷鎻愮幇","鎻愮幇"); + } + +} -- Gitblit v1.8.0