支付宝支付测试(二维码版)

本文详细指导如何在支付宝开放平台上注册开发者,配置沙箱环境,编写支付接口并生成二维码。重点讲解异步返回处理,附上项目地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前往支付宝开放平台支付宝开放平台,注册支付宝开发者、配置沙箱环境

2.yml文件配置支付宝相关配置

#支付宝支付配置 zfb:   # 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号   APP_ID: 2021000119636265   # 商户私钥,您的PKCS8格式RSA2私钥   APP_PRIVATE_KEY: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJZ6zzQfMXf+hH0XMOJrQDTZmzc30FX1MN+t+B5TVQllV7pE6CC8McrrauuLtn0/PYmU8FYdvPbNhAOx2vJmClsUIh5w5EaqUdhBZZxQ1eqxXbmz2M8lTztu8z+QrClgICJVVQGqqkIUz5mRF9cSLl5CkWZWupWDYmTHJnXtDqwTXhOU41hs50/BkHCNZGlhSdddPq4Y9PDGkVEZ8hzut1V+Q/XF5NgvGeejvzlyyEk7nF7wx7Sdc2qF3etxoOT1IRuThBWkBPdvuS7x8hGmo5H0VjHy84t8drSZqnO6DN5w2u+mrhqaYUgWRNYp5oLicm5NHNZsUQWsAdrtmAS5wbAgMBAAECggEBAKT1Gk1e7aiIpYn0/YRQpM2zyDiXVYWJ7q+bk2aDgehQSRFsoLSYx6R9YLi4Kx4+FhGId5VT8kHwxynMgWKMT0pGZYD5CtF0e2oyXlAGOg4YmF12x7HiZTv7z+1Eg9CeJmT1iOuD+9FUSQSBnzab7FZYSmLCjKx1yFwT7vvFR92NDx54hKRHWhbQXVxnEgG82G6BG+7Lpq8gsEqbsqMfepZQ8yDrKuPp0rBZ+WruVNWE5MBZydcip5Vu4KzyrVDjGsq35+/i57+yFgdniI4NCQuVOrYtSdJSM33RXNFaegraMyfuvgFsUzfy3f+O51FQbY4WS5L/IPCnxQQKBXGCyskCgYEA86+KhqEohOE6+zPwoJuuDGMJmdDb6MiM4EztUsz0HtgYNRLb/va4l+A2arNzyGUDW3yA0Ct8BLYBcITm9istIQNarkIt4ZMw/B/5MCUtYQCCWMQIcl4hi22vH2xWwHNv9+UtSMquHcb8ayEcFndvBLFyFxIFIbXidqWYowZsdV0CgYEA05Uqp/IrmQ5k2DpPG1K1gXYaUUVt3cJjjQ70uAIRtZC7TTRDsGz868cCMrh0Kh/8JJeCr2/9Ssmvuda7mQIboqpr0rb8hsjujfxf+nhwbJOMHHluQPgeOKvPqktnYrDuTDWzow89jhxH9djEHukaSk22Ggoke2lsQ+ZFX7CFh9cCgYB32CIxmfqad0aRmnbCFi5f6ykim6Q7dL5L5all6mQ48x/cojzNxLr9/ofkrALKUFt5V97mAizJCFXm54XLFWrpbIPhZay43rHdnT/pHK+XoC96xlY9IOwwbS4OLzLvDRbI/M3rmbpN7LnhWfQ9XFmeHkK08+jQLmqE3WYW7ybSBQKBgQC84IRbuIvC7l6HyEWmFoeBMnT76AbT2BwWaCt9uBsnAjSyDt3+OMzvjZAgxxisIjFsWPSIuGhcwv7j3xVI2eDhrVDjogZ8LBMJHSpw5eM2ieCh6qTJyrTv0jBnzThVmaygy6+4+HnyyrxSc1dgYKbffc/6HuPCZ7IGSyHS8jnBsQKBgAVjnRKRVmEkzLl1Lk2viu1kZWF5iX1y67bsgocE58uXGdpmvgmZeBCasbogV42bCIK4tCHBukwhoJQj0tHMBltSO65iXkCe2x+jSEi4YN9jdDJNih9/1Ihhb6HyNXFuLBlYnvcMRNJSo9iE7BQy7VlaZrGNhtzNztMoTTvMwstV   # 支付宝公钥   ALIPAY_PUBLIC_KEY: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw4hzucYkiGj3jGPnd5unqXaxlMC7HKbBQw+EXmSlCBjnx1Cx4l08JeoeHXj1peT2h8mdt0E5zfPTIiRJewJvxp72ZL/PlLn6w/MrfiNAAojBtX+Lx+EtWB/x/yLsT7bECypHmNVNAcfTN5LJhSkwSRTTFyU2GQ1i7K6cPCtrSUfLc2aOT4YR9w1BZ3UuwOml3U6gshb79HD+E7ql9qUnEdtwwTNaI4gWQcV1nvNpsfTayGjAMEFXeWkr5gxZyKwCeYtuwvGaU+0Y6RgXCYbMnD1miD8XdzS7xcRYBtsGn2mnQju+inxvKlvBI7WMQJNJKurPMQZ8SoDklOweXCDIwQIDAQAB   # 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问   notify_url: http://127.0.0.1:8080/nnn   # 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问   return_url: http://127.0.0.1:8080/pay3.html   # 签名方式   sign_type: RSA2   # 字符编码格式   CHARSET: utf-8   # 支付宝网关   gatewayUrl: https://openapi.alipaydev.com/gateway.do

 3.编写支付接口生成支付二维码

@RequestMapping("/pay")     public void payController(HttpServletResponse servletResponse) throws IOException {          long msb = System.currentTimeMillis();         long lsb = System.currentTimeMillis();         UUID uuid = new UUID(msb, lsb);         System.out.println(uuid);         //获得初始化的AlipayClient         AlipayClient alipayClient = new DefaultAlipayClient(gatewayUrl, APP_ID,APP_PRIVATE_KEY, "json", CHARSET,ALIPAY_PUBLIC_KEY,sign_type);         //设置请求参数         AlipayTradePrecreateRequest alipayRequest = new AlipayTradePrecreateRequest();         alipayRequest.setReturnUrl(return_url);         alipayRequest.setNotifyUrl(notify_url);         //商户订单号,商户网站订单系统中唯一订单号,必填         String out_trade_no = String.valueOf(uuid);         //付款金额,必填         String total_amount = "100";         //订单名称,必填         String subject = "无";         AlipayTradePrecreateModel model = new AlipayTradePrecreateModel();         model.setSubject(subject);         model.setTotalAmount(total_amount);         model.setOutTradeNo(o

4.异步返回处理(根据支付状态进行你的业务处理)

@RequestMapping("/nnn")     public void url(HttpServletRequest request,HttpServletResponse response) throws AlipayApiException{         Map<String, String> paramsMap = convertRequestParamsToMap(request);//将异步通知中收到的所有参数都存放到map中          boolean signVerified = AlipaySignature.rsaCheckV1(paramsMap,ALIPAY_PUBLIC_KEY,CHARSET,sign_type); //调用SDK验证签名         String PaymentStatus=request.getParameter("trade_status");// 支付状态         if(signVerified){                 if ("TRADE_SUCCESS".equals(PaymentStatus)){//业务逻辑区                     System.out.println("支付成功");                     download(response);                    }         }      } 

 5.项目地址:https://gitee.com/guan-shican/pay.git

获取项目后请点个赞,感谢!!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值