接着复制示例源码:
**
**
public class AlipayController { //定义,商户id private final static String APP_ID="null"; //设置应用私钥 private final static String APP_PRIVATE_KEY="null"; //设置字符集格式 private final static String CHARSET="UTF-8"; //设置支付宝公钥 private final static String ALIPAY_PUBLIC_KEY=""; // 数据格式 private final static String FORMAT="json"; // 服务地址 private final static String SERVEURL="https://openapi.alipaydev.com/gateway.do"; // 数据格式 private final static String SING_TYPE="RSA2"; @RequestMapping("/getOrderInfo") public String getOrderInfo() { //实例化客户端 AlipayClient alipayClient = new DefaultAlipayClient(SERVEURL, APP_ID, APP_PRIVATE_KEY,FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, "RSA2"); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.setBody("我是测试数据"); model.setSubject("App支付测试Java"); model.setOutTradeNo("孤寡007号测试"); model.setTimeoutExpress("30m"); model.setTotalAmount("0.01"); model.setProductCode("QUICK_MSECURITY_PAY"); request.setBizModel(model); request.setNotifyUrl("商户外网可以访问的异步地址"); try { //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。 return response.getBody(); } catch (AlipayApiException e) { e.printStackTrace(); return null; } }其中:APP_ID为沙箱应用中的APPID;
应用私钥 APP_PRIVATE_KEY获取; 在支付宝开放平台开发助手生成 ALIPAY_PUBLIC_KEY支付宝公钥获取,复制上面的公钥至沙箱应用, 注意: 服务地址 SERVEURL=“https://openapi.alipaydev.com/gateway.do”; 在alipay后加dev,不然为可能会出错## 标题 运行该方法即可 ## 标题 复制该段结果,至手机端调试工具即可 在调试工具中操作 .选择好环境,把服务端生成的请求字符串放到进去点击“点我去支付”或者“点我扫描去支付” 进入支付页面
这样一个沙箱模拟支付就完成了。