1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SpringBoot之支付宝企业账户转账到个人账户【最新证书版】

SpringBoot之支付宝企业账户转账到个人账户【最新证书版】

时间:2019-05-20 05:15:41

相关推荐

SpringBoot之支付宝企业账户转账到个人账户【最新证书版】

1、pom.xml 引入支付宝SDK。

<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.8.73.ALL</version></dependency>

2、pom.xml不编译指定类型的资源文件 crt

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><nonFilteredFileExtensions><!-- 不需要编译的资源文件 --><nonFilteredFileExtension>p12</nonFilteredFileExtension><nonFilteredFileExtension>crt</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin>

3、拷贝证书文件到 resources 资源目录。

4、TransferTest 测试类 Demo 源码:

import com.alipay.api.AlipayApiException;import com.alipay.api.AlipayClient;import com.alipay.api.CertAlipayRequest;import com.alipay.api.DefaultAlipayClient;import com.alipay.api.request.AlipayFundTransUniTransferRequest;import com.alipay.api.response.AlipayFundTransUniTransferResponse;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)@SpringBootTestpublic class TransferTest {@Testpublic void aliPayTransferTest() {String serverUrl = "/gateway.do";String appId = "042516001234";String appPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIMAzqmbgenxznt5LgmKkZzn+Wgt37W5uqZ9TUwCGu8BlAi9dW8BA1rz6aZBP73f6BnGfXxvOWOOeaCaB7PphgQiJE3MG0BY8GSMU5wT7djNgAp0fBCaEy7fKP+h5V7uvBEzQy9YBz3Q9ToSmI4lYP9kpweE42e9W4kp+Y05XhuymTy/xw8zausauroLh4y9mLDSujpHObSJV1RX46MF/bXQcE/jaPVIwN1LRk+jcSOPwFxwglvPzWa5DpPdcoCIsFLc2ThBHrEoUPUWX5xe3d8Nce0Rs15JACylfyaL3YCXi1ew0UgLbB6iYzru3D48zudV4WzgN7AZCA83zedeZNAgMBAAECggEAPmYb4JSBu6nFDMU/1xo+u3iOdI/eOZdYckljId2xoiHc/S2ZtdOmedViIiXHxN5xklz6UVwGWXDrYCxYBZKBVJ/IpsZY6pBBAKh2MYZ23gAk5C9AQn+J66IX1aEVC5wpiElAIBI+M99YA61ckPpb8SXIFj6pwnnfKGUrsithsLZlInTBxm2V+pORueOV+u7oO3YDDb+gR7LMYV7VpODfen5sQU8jtjmvLdlOJfoJEuu2vwF0gqDWROeQNorVn+9R02zdyTFdQlHQT0heGj8GT5TtkSPVRSim1lyryQ8JGIozmknoZue98i+TuivKN71WjA53muhdBPLEPHYDCX7CUQKBgQDigPO9X3jxyz3SA5ejnfroj/Lyj3muqvwGX6mwt30XXpIHLY/wA07ON79ivyO7rT0IJKaI+FTyRsshftYCFEi/OSW4jkvpuGxnpwAWNehrZfLYIFhfmdvsdLFNxMy/HjnYzwGUAW3XKy6bZS1jZubIME/5V4dExB/Nb/uhN+tHEwKBgQDiQcpO3lsVt3i1cjuC2kDvpduh8rLW5Ifbxusqpo9WYXMkVmkmWSAw7zDjk8opn/lgEfLJajGkVGdGr5faJ8nMqjZIxqvR7snFxXIT1Iskv4iIkUbgSk1dCdFuXGSTz0Y5VW/3FZQKbGf0wPpKzshoBwS2/SJA1A8DFqePdpjpHwKBgDckc7Jv0s7yzusZCsq/hD0oBlp9CX+3isG2emZWVXLiCCUNN5SUCZR0x/gvVnCzXT9lRNHluzB8gal26nz5GTjMnd1PbzXIO0QEySWfHCVBXZy2Sy2DFKJ9SkkHl10T67tXsiepLWeL0L3uJN2lSJwF/wJSB9F6+c8W6yi1p2bXAoGBALczACV2I5hk84cvlIIySIwC5uCtjCM17c+FtFrXfI4736hXk1JqrgcRVaufufyUPK6OOeDebI2bjfgNK86Hkv12APhSbUNRruzFH8Zwva2mrF2wDAyF/ThNP9e1VfbcyQaZaExPm4wJFO935fH2lwysSiQEuNx3GCSvDkO6iruPAoGAPjFOxVSR7zreBb88IshYFwzOIf2dofmJntNKskb8PVsAe5AVE9YU4mW6MX7KMr0vmpgBSdD7AT/3Loq/V6oQbBcHeI/x6c2ojuk9AFu31vAIDNTb86BzN+C8IeW19ibEydkfc3xYUdibYTJiBvg9GcRFq6bPj+W2XFqrkmW8PKk=";String format = "json";String charset = "UTF-8";String signType = "RSA2";String appCertPath = "src/main/resources/appCertPublicKey.crt";String alipayCertPath = "src/main/resources/alipayCertPublicKey_RSA2.crt";String alipayRootCertPath = "src/main/resources/alipayRootCert.crt";CertAlipayRequest certAlipayRequest = new CertAlipayRequest();certAlipayRequest.setServerUrl(serverUrl);//gateway:支付宝网关(固定)/gateway.docertAlipayRequest.setAppId(appId);//APPID 即创建应用后生成,详情见创建应用并获取 APPIDcertAlipayRequest.setPrivateKey(appPrivateKey);//开发者应用私钥,由开发者自己生成certAlipayRequest.setFormat(format);//参数返回格式,只支持 json 格式certAlipayRequest.setCharset(charset);//请求和签名使用的字符编码格式,支持 GBK和 UTF-8certAlipayRequest.setSignType(signType);//商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐商家使用 RSA2。certAlipayRequest.setCertPath(appCertPath);//应用公钥证书路径(app_cert_path 文件绝对路径)certAlipayRequest.setAlipayPublicCertPath(alipayCertPath);//支付宝公钥证书文件路径(alipay_cert_path 文件绝对路径)certAlipayRequest.setRootCertPath(alipayRootCertPath);//支付宝CA根证书文件路径(alipay_root_cert_path 文件绝对路径)AlipayClient alipayClient = null;try {alipayClient = new DefaultAlipayClient(certAlipayRequest);} catch (AlipayApiException e) {e.printStackTrace();}AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();request.setBizContent("{" +"\"out_biz_no\":\"123456789\"," +"\"trans_amount\":1.00," +"\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," +"\"biz_scene\":\"DIRECT_TRANSFER\"," +"\"order_title\":\"支付宝单笔转账1元\"," +"\"payee_info\":{" +"\"identity\":\"18888888888\"," +"\"identity_type\":\"ALIPAY_LOGON_ID\"," +"\"name\":\"张三\"," +"}," +"\"remark\":\"支付宝单笔转账1元\"," +"\"business_params\":\"{\\\"payer_show_name\\\":\\\"中国国防科技有限公司\\\"}\"" +"}");AlipayFundTransUniTransferResponse response = null;try {response = alipayClient.certificateExecute(request);} catch (AlipayApiException e) {e.printStackTrace();}if (response.isSuccess()) {System.out.println("调用成功");} else {System.out.println("调用失败");}}}

注意:应用公钥、支付宝公钥、支付宝CA根证书的路径问题。

正式开发:自行配置参数信息到Nacos等配置中心。

参考:小程序文档 - 支付宝文档中心

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。