700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 支付宝支付——沙箱环境配置

支付宝支付——沙箱环境配置

时间:2019-09-30 00:05:27

相关推荐

支付宝支付——沙箱环境配置

支付宝沙箱环境配置

了解什么是沙箱环境设置沙箱环境准备工具创建项目配置依赖SDK生成创建ControllerAPP_IDAPP_PRIVATE_KEY及商户私钥CHARSET 编码一般都是UTF-8ALIPAY_PUBLIC_KEY支付宝公钥FORMAT格式JSONGATEWAY_URL沙箱网关SIGN_TYPE参数类型RSA2测试

了解什么是沙箱环境

协助开发者进行接口功能,独立于线上环境的配置。

支付接口需要签约生效后才能使用,有些签约几天才能通过,比如资料不全,导致无法立刻签约;沙箱环境提供了测试环境,解决了暂时无法签约导致的延期问题。

设置沙箱环境

首先我们需要登录到支付宝,然后选择沙箱环境,在完成登录后,需要填写正确的申请人信息

完成后会来到沙箱信息页

点击设置,下载生成秘钥所需的官方软件 或者 WINDOWS(windows版本工具请不要安装在含有空格的目录路径下,否则会导致公私钥乱码的问题

工具下载完成后按图点击生成密钥即可

开发者点击工具界面下方的 打开密钥文件路径,即可找到生成的公私钥文件,

准备工具

手机App,客户端测调试、支付宝沙箱支付

创建项目

使用IDEA创建一个maven项目

配置依赖

在pom.xml中配置付宝沙箱环境依赖

<!-- /artifact/com.alipay.sdk/alipay-sdk-java --><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.10.111.ALL</version></dependency>

地址:/artifact/com.alipay.sdk/alipay-sdk-java/4.10.111.ALL

SDK生成

去支付宝官网找开发工具,JAVA服务端 SDK 生成 APP支付订单信息示例

创建Controller

放入我们刚复制的示例,在加以修改

@RestController@RequestMapping("/pay/ali")public class AliPayController {/*** APP_ID 应用id*/public final static String APP_ID ="0000000000000000";/*** 应用私钥*/public final static String APP_PRIVATE_KEY="MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCMh7sxyHfw2CyxdSPPs8meUOJrqLnY1BWRCz6tSZwNFwQXcSSn8xrHJHRraUIkrG424D/H5SpQATNoa1Nz9NYEdxI2sRQ3QzqEH5Ji6L12dqHSL3G/AjyvuQdRI6Llgc+pslEXeUgjxvMulfbKpSfOCqqTsAlIXzzmX6ULPUYBlrCQ7EPJF0ny5BO0OMbEMZwgWk/5aqTxE67/F0fr+gLbPQaLApgzpjYTAQ8NAov1gj7zZan8wqwreb2c+bWW4ENvg2Fo1x4EmOjykjCG09jnky7uzhLfY7c3ykpt/kZ3TOD9hmjrLLpdUSne3x+5NlWdYFboIAVXa4u93/HuZCpDAgMBAAECggEAKPDeK3nA36zLEIQVA8zYH0RnQoAsbKwVAGWrQ+bfDL041u+Cg1+C3KOVOzm2KGMH1Prt+fmcoyRGatRhwrWAqFpcNwzN2++9G4LrLd+qWtni+Q4TcFdhgLxCEnR0X7K64jBuCY2u46VxcZAFDzKgbxmSamZtveTpJCCXP7gBLjLcRnp/l/eVz+ayqYQQ6EUzb0T/TN7nyPJ3PyAVSpS2UC6d28Hcwv+fvtqseFJz+BZC8e/HDw0wGixFuAbW0jurjl0NkJM3JuyYDCC7qlErN4aI7yT6uMOKoAcR793vWkSxNzWquPV9ITO8ZOeClDEuueLMpsVpUSO7q+vAiAQauQKBgQDtAPMUr3GUKy82AuraGq1e8vXsK2SS//RlanIoETgx2w3dyBX2O5rBM0hWrwLoLv402MuCVsrFnkouSNVrX5NUpbAzxB3RsPk5H7ZewnyKohgVeIbTjXSwMlF0pxnZFBf4COQVvFP1HIsYkum6PAMLO141qCgnYej6bUfPAM84JQKBgQCXy0DgOk6S912Es1G6B2KI+useqUT8PHjdMgY7v25yUH/ZLfpedhNG4Lwl9vVurBy634DQT38a+N/PakjNVRmcC/xJ0ZqA5dQgR9+rl/L+MG78Xu+go6AdpYO/7DH5/r1RKhEW/GBB+pkFnBYeeHhzTaXZM2QAdsbDdzC9qP24RwKBgFR1oSq+9w/hb9qkoYMGPMB4fvEh6Z6FPlgh3fqvYEJMGR3vHvx380dkeiQCDFwn2wmENMoHGg3gwfjKldvE3KEuxqM8AZBnq/kSdxA/6NgSudh08j9TysC7vdF/dzOn+H641Gd2jMjt2hfwywBGQKNxDbq7aUvXlYohBZUcabxNAoGAEaM1W5iKzrrda/DmGyaGhYIaVcq3UFO6e4E3hjO9Ip1F7bdQ8y7nGII+em7Sn9Rx1ijoL8w86aZnYxNneCxeOGqQGwe22ylZV5LiY27Zdj2sd7iUQWch0LANufw45mJ6HvczWydiC+iRZTx4uXuoC0XHcpBtGzyx5b5wtGjxajsCgYAzF8pv6zjLPrgflAN9A1ImPRnjdhp9EUa1TJrS+p9g+UHPACl7tsXQC4x9s7Qqoq9co5i5k5SLOyGOgE5wIv1yIKzj4DRdwausKB948U/6XqvbYKMa55uQrBRLIMrrjuqEyiVD6Ev+nCTerfeGveKSf4gNj/WxBIu3uqE1D/3olQ==fff";/*** 编码*/public final static String CHARSET ="UTF-8";/*** 支付宝公钥*/public final static String ALIPAY_PUBLIC_KEY ="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy+1B/zyOZPesgg//L/KAcOhI9N8aL0/v02JP6BYkJP+3SWms7JAH9rx8aEKCErx0h9rud6bzS33269VP7yF2pN6A/puOgpvHPNfQU9fHkJEHC2dYCuZyO4MYLzFbQcqLdRyu+Bt81okiLWlGECzSgNkurL7CCXbhMgo7iDCAC2/Yc+UDA72gZiBU66VpUAttSIiLnYpr1wxWjc3Eao9shEIB3YvkfEFvlko0GP84LGHJRbWCDuTFird1H7sUyp1XncfRr1S0eknhid1PLcx8N18eByrlp/ZyV2AKive2LWo/MqJMm73QA5UYD3TJBPh4UshYAkM+oIZnBSlr05EgqwIDAQABfff";/*** (沙箱)网关*/public final static String GETEWAY_URL ="/gateway.do";/*** 格式化*/public final static String FORMAT ="json";/*** 签名类型*/public final static String SIGN_TYPE ="RSA2";/*** 获取订单信息*/@GetMapping("/getOrderInfo")public String getOrderInfo(String orderId){//实例化客户端AlipayClient alipayClient = new DefaultAlipayClient(GETEWAY_URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.payAlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();model.setBody("我是测试数据");model.setSubject("App支付测试Java");model.setOutTradeNo("老八蜜汁小憨包1234546"); //交易号model.setTimeoutExpress("30m");model.setTotalAmount("6.66");model.setProductCode("QUICK_MSECURITY_PAY");//将自己想要传递到异步接口的数据,set进去 pass_back_paramsmodel.setPassbackParams(orderId);request.setBizModel(model);request.setNotifyUrl("http://3383325a05.goho.co/pay/ali/notify");try {//这里和普通的接口调用不同,使用的是sdkExecuteAlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);System.out.println("response.getBody():"+response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。return response.getBody();} catch (AlipayApiException e) {e.printStackTrace();return null;}}

APP_ID

在我们沙箱环境中查看

APP_PRIVATE_KEY及商户私钥

CHARSET 编码一般都是UTF-8

ALIPAY_PUBLIC_KEY支付宝公钥

FORMAT格式JSON

GATEWAY_URL沙箱网关

支付宝网关:/gateway.do

支付宝沙箱网关:/gateway.do

SIGN_TYPE参数类型RSA2

测试

使用mian方法测试

public static void main(String[] args) {AliPayController aliPayController = new AliPayController();aliPayController.getOrderInfo(null);}

控制台输出

复制生成的sdk到客户端测试APP测试

输入付款密码

支付成功

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