| | |
| | | package com.doumee.config.alipay; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alipay.v3.ApiException; |
| | | import com.alipay.v3.ApiClient; |
| | | import com.alipay.v3.util.model.AlipayConfig; |
| | | import com.alipay.v3.Configuration; |
| | | import com.alipay.v3.api.AlipayFundTransUniApi; |
| | | import com.alipay.v3.model.*; |
| | | |
| | | import com.wechat.pay.java.core.RSAAutoCertificateConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import okhttp3.OkHttpClient; |
| | | import com.wechat.pay.java.core.http.*; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | | public class AlipayFundTransUniTransfer { |
| | | |
| | | public static void main(String[] args) throws ApiException { |
| | | downLoadCertificates(); |
| | | } |
| | | /** |
| | | * API安全加密配置 |
| | | */ |
| | | private static RSAAutoCertificateConfig rsaAutoCertificateConfig() { |
| | | return new RSAAutoCertificateConfig.Builder() |
| | | // 商户号 |
| | | .merchantId("1629568742") |
| | | // 商户API证书私钥的存放路径 |
| | | .privateKeyFromPath("D://ptzs/apiclient_key.pem") |
| | | // 商户API证书序列号 |
| | | .merchantSerialNumber("25D19D18217F4588841E5CD1AA0D1533DE8AF84A") |
| | | // APIv3密钥 |
| | | .apiV3Key("NJTLJSTZYXZRGScaiwubuzichanbu666") |
| | | .build(); |
| | | } |
| | | /** |
| | | * 下载证书 |
| | | */ |
| | | public static void downLoadCertificates() { |
| | | OkHttpClient okHttpClient = new OkHttpClient(); |
| | | HttpClient httpClient = new DefaultHttpClientBuilder() |
| | | .config(rsaAutoCertificateConfig()) |
| | | .okHttpClient(okHttpClient) |
| | | .build(); |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | headers.addHeader("Accept", MediaType.APPLICATION_JSON.getValue()); |
| | | HttpRequest executeSendGetHttpRequest = new HttpRequest.Builder() |
| | | .httpMethod(HttpMethod.GET) |
| | | .url("https://api.mch.weixin.qq.com/v3/certificates") |
| | | .headers(headers) |
| | | .build(); |
| | | try { |
| | | HttpResponse<JSONObject> execute = httpClient.execute(executeSendGetHttpRequest, JSONObject.class); |
| | | JSONObject responseBody = execute.getServiceResponse(); |
| | | log.info("下载平台证书返回:{}", responseBody.toString()); |
| | | } catch (Exception e) { |
| | | log.error("下载平台证书异常", e); |
| | | } |
| | | } |
| | | |
| | | public static void testTransger( ) throws ApiException { |
| | | |
| | | // 初始化SDK |
| | | ApiClient defaultClient = Configuration.getDefaultApiClient(); |
| | | // 初始化alipay参数(全局设置一次) |
| | | defaultClient.setAlipayConfig(getAlipayConfig()); |
| | | |
| | | // 构造请求参数以调用接口 |
| | | AlipayFundTransUniApi api = new AlipayFundTransUniApi(); |
| | | AlipayFundTransUniTransferModel data = new AlipayFundTransUniTransferModel(); |
| | | |
| | | // 设置商家侧唯一订单号 |
| | | data.setOutBizNo("202606300001"); |
| | | |
| | | // 设置订单总金额 |
| | | data.setTransAmount("1"); |
| | | |
| | | // 设置描述特定的业务场景 |
| | | data.setBizScene("DIRECT_TRANSFER"); |
| | | |
| | | // 设置业务产品码 |
| | | data.setProductCode("TRANS_ACCOUNT_NO_PWD"); |
| | | |
| | | // 设置转账业务的标题 |
| | | data.setOrderTitle("201905代发"); |
| | | |
| | | // 设置原支付宝业务单号 |
| | | data.setOriginalOrderId("20190620110075000006640000063056"); |
| | | |
| | | // 设置收款方信息 |
| | | Participant payeeInfo = new Participant(); |
| | | payeeInfo.setIdentity("15345690849"); |
| | | payeeInfo.setName("江萍"); |
| | | payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); |
| | | data.setPayeeInfo(payeeInfo); |
| | | |
| | | // 设置业务备注 |
| | | data.setRemark("201905代发"); |
| | | |
| | | // 设置转账场景名称 |
| | | data.setTransferSceneName("佣金报酬"); |
| | | |
| | |
| | | signData.setOriCharSet("UTF-8"); |
| | | data.setSignData(signData); |
| | | */ |
| | | |
| | | try { |
| | | AlipayFundTransUniTransferResponseModel response = api.transfer(data); |
| | | } catch (ApiException e) { |