- 首先需要生成应用私钥和应用公钥地址
- 生成工具使用地址上面有详细的说明
- 然后是配置你的私钥;生成appid

- 然后就是看文档写代码文档地址
- 我写的比较简单因为回调需要公网ip,我就没写就只做了个跳转支付,后面的其实也差不多支付网页跳转,异步通知;
- 上代码吧直接
//appid
public static final String appid = "2016092400581860";
//沙箱地址
public static final String serverurl="https://openapi.alipaydev.com/gateway.do";
//异步通知地址
public static final String notifyurl="";
//返回地址
public static final String returnurl="";
//默认字符集
public static final String defaultcharset="UTF-8";
//默认格式
public static final String defaultformat="JSON";
public static AlipayClient alipayClient(){
//从前到后: 服务地址,appid,私钥,格式,字符集,公钥,加密方式
AlipayClient alipayClient=new DefaultAlipayClient(StaticBeans.serverurl,StaticBeans.appid,StaticBeans.privateKey,StaticBeans.defaultformat,StaticBeans.defaultcharset,StaticBeans.publickey,"RSA2");
return alipayClient;
}
@RestController
public class AliPayController {
@RequestMapping("/Alipay")
public void pay(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
Map map = new HashMap();
map.put(StaticBeans.ALI_OUT_TRADE_NO, UUID.randomUUID());
map.put("product_code", "FAST_INSTANT_TRADE_PAY");
map.put("total_amount", "1");
map.put("subject", "一个苹果");
map.put("body", "红富士");
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
request.setReturnUrl(StaticBeans.returnurl);
request.setBizContent(JSON.toJSONString(map));
System.out.println("请求参数为:" + JSON.toJSONString(map));
AlipayClient alipayClient = StaticBeans.alipayClient();
String form = alipayClient.pageExecute(request).getBody();
httpServletResponse.setContentType("text/html;charset=" + StaticBeans.defaultcharset);
httpServletResponse.getWriter().write(form);
httpServletResponse.getWriter().flush();
httpServletResponse.getWriter().close();
}
}
- 测试

- 跳转到收银台,然后下载沙箱app支付宝


- 完事了,后续就是异步通知,没什么好说的了;网页支付比较简单,后续会更新主被扫支付的demo!
文章评论