支付宝接入
程序员文章站
2022-05-30 08:17:44
...
一、支付宝的官网网址
https://open.alipay.com/platform/home.htm
开发文档地址:
https://docs.open.alipay.com/270
二、如何接入支付宝
1)在支付宝开发平台创建APP的应用 - 支付宝会返回一个商户的唯一标识APPID
2)配置应用
选择应用的开发权限 - 创建应用后选择
配置**(重要)
哈希算法:
MD5、SHA1(明文 -> 32位的字符串,不可逆的加密算法,(哈希)摘要算法) -> 密码加密
Base64(二进制数据 -> 字符串 -> 二进制数据,编解码算法)
对称加密(**,明文->**->密文,密文->**->明文)(DES、AES....)
非对称加密(公钥-私钥,明文->私钥->密文,密文->公钥->明文)(RSA)
3)集成配置SDK,开始写代码
1、添加支付宝依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.8.10.ALL</version>
</dependency>
2、写代码
4)调用接口进行支付
1、支付的流程图
2、调用支付接口进行支付
@RequestMapping("/alipay")
public void aliPay(Integer oid, HttpServletResponse response){
//service根据oid查询订单对象
Orders orders = orderService.queryById(oid);
System.out.println("需要下单的订单信息:" + orders);
//获得支付宝核心对象
AlipayClient alipayClient = AliPayUtil.getAlipayClient();
//调用支付接口进行支付
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();//创建API对应的request
alipayRequest.setReturnUrl("http://www.baidu.com");//用户支付完成后同步跳转的url
alipayRequest.setNotifyUrl("http://www.baidu.com");//支付完成后,异步通知商户支付结果
//交易支付的请求参数
alipayRequest.setBizContent("{" +
" \"out_trade_no\":\"" + orders.getOrderid() + "\"," +
" \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
" \"total_amount\":" + orders.getAllprice().doubleValue() + "," +
" \"subject\":\"" + orders.getOrderid() + "\"," +
" \"body\":\"" + orders.getOrderid() + "\"," +
" \"extend_params\":{" +
" \"sys_service_provider_id\":\"2088511833207846\"" +
" }"+
" }");//填充业务参数
String form="";
try {
form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
} catch (AlipayApiException e) {
e.printStackTrace();
}
response.setContentType("text/html;charset=UTF-8");
try {
response.getWriter().write(form);//直接将完整的表单html输出到页面
response.getWriter().flush();
response.getWriter().close();
} catch (IOException e) {
e.printStackTrace();
}
}
上一篇: 接入支付宝支付SDK
下一篇: Android 支付宝SDK接入