阿里云网站域名绑定,秋佐科技公司网站,沙河市建设局网站,建网站有什么要求首先我们把准备工作做好#xff0c;再进行支付宝接口的集成
1.获取沙箱账号 获取沙箱账号 点击链接出现下图页面使用自己支付宝扫码登录
2.登录后进入下图页面 3.向下拉到下图页面4.点击开发服务下的沙箱进入下图页面#xff0c;点击红色标注处#xff08;密钥之后会使用再进行支付宝接口的集成
1.获取沙箱账号 获取沙箱账号 点击链接出现下图页面使用自己支付宝扫码登录
2.登录后进入下图页面 3.向下拉到下图页面4.点击开发服务下的沙箱进入下图页面点击红色标注处密钥之后会使用现在先取到 5.下载支付宝获取密钥的工具根据自己系统选择下载我下载的Windows版本 6.下载完成后打开如下图点击红圈标注部分得到应用私钥和应用公钥应用私钥和应用公钥之后会用到 7.回归到第四步的页面点击红圈标注部分 8.进入如下页面APPID和支付宝网关之后会用到点击红圈标注处 9.按下图标注内容进行配置 10.点击保存设置后进入如下页面支付宝公钥之后会用到 以上十步需要整理的东西有应用私钥支付宝公钥APPID和支付宝网关注意应用公钥不需要了因为这些东西是往springboot项目集成是需要的。 此处插播一条 上述第九步点击下图红圈标注部分卖家和买家信息之后会用到还可以点击沙箱工具扫码在手机上下载一个沙箱版钱包使用卖家账户登录 接下来将支付宝接口集成到项目中 1.首先倒maven依赖 dependencygroupIdcom.alipay.sdk/groupIdartifactIdalipay-easysdk/artifactIdversion2.1.2/version/dependency!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java --dependencygroupIdcom.alipay.sdk/groupIdartifactIdalipay-sdk-java/artifactIdversion4.10.140.ALL/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.7/version/dependency2.新建配置类注意将应用私钥支付宝公钥APPID和支付宝网关换成自己的 public class AliPayConfig {//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// netapp映射的地址根据自己的需要修改
// private static String neturl http://6dynnj.natappfree.cc;// 应用ID,您的APPID收款账号既是您的APPID对应支付宝账号 按照我文章图上的信息填写public static String app_id 2021000117631591;// 商户私钥您的PKCS8格式RSA2私钥 刚刚生成的私钥直接复制填写public static String merchant_private_key MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCEeDgzdsHpzcRgQZJB1BXpdQLHmoSx2Pefzoh/75JdaVikg44PSbcdfDW0in8/PAnXCqnKzBZpC7I8nCMuHaa0l8FPVWED5xMn/8EK66pOKYnrjbdcRCRKPykkmdLfCitpSapRgR0wHDq4VrEPKWmNuXD08Vw/nhYkE9aaWHJkhqWFiwKGdtP3zvJ6x7zblaGUIRqU7LKqN6stJM7m6KpVQesg3PU3PGH0euax/ICmcdjVr8YEYBcS7ocfBe4KXiPPX/KHs0TtRao0gPwmL6saIiLiaIAScV8WFueu/nN9zWxkZvId2Z7iZSiKyQ8IRfxbSt0bapqeUYgpLPqQHAgMBAAECggEAGP1AxNyTShLKB8p217o1g/vR0WuhupcOZ3QjpdbAyqRT3GdbDVrj2NTa4Pt2dkYU26f0VK61T42oSu1yA7nMjfo/eJKQbkAvoPjRt6yx3zRTi8qiNmKYYfU2QrRN5ktZ0xvVaFit8RvY1TfQ9fxFJqO3kYlu86LqLShWC50FiQMoLw6l54XAawMVpHnSsXAskV/oWJmib0yyHvOYk5jB8E34IwS/lZeHUFVyJMNCh26GZL7HIKltYH0ZpwIoJiflZb7e0yCMXbTrcLIdrTw9ExAdlcSyjExVH/aTFWLBi1/I6GdtLaeRSdiRMMEkftoLW7Alo6xARA3ulGKQKBgQDOrhjdyNqcCwH32voKLcoVj2Ql1aOPawlrs/QMKD9vChhXIkUYDD2v2Ht97/1M7fI/XvEHU2sp9Ozsu2Z0qaJAWWl3B/FrA363sTRs0cMkr5M1JqZhuv55HyWIn0xEbuKGcfE9EmZm21Wj1lgkXWbZay4X1bcegzb1XnQKBgQCkFKvCpj5L2VEvSajT7gzle0qYHEcrE9UJ2nsHSLJSSyxbH7WE0J/quTtTDG0oUM7e22QxnnwZFmBNVHVb9GeIn/nJkO7G4kx7c8uZOUoXrUGZ/HUAq7wMc8J2UULKdmIm2tLuRoGQt88jopjJtc4e5mB5k10v93vo5t0ZC8wKBgQDNTHxg2eHk/L4wwLB8qfLK6RdwaBPPa0Qw6g6lt9FsDkKiIGTE/SEJayk3qoUd4pm4OoRPrK3LzcPzwloR8Tidi98igm5TkW1KeodF2l0T9u0bpNfaBRFipMef8sNqyanG1MBwNpmMV45C4R369a9lBJlwnR0DhR7rVeNsLBytQKBgHYS7fs32JKKgzKNRjGkF6G4FFjb2Jb2QZNCps/6D2DKdNlQSGfY8TsoPVFdvPRGt0icbqHOw9G9WXWsdnvCqBKYVI8pfbqfNLyNpB7vogC5iDVg7ZRMjgkJPtzufhHnfsQgW5j1TfX9f1m7lXhhdfkdv5l/mQ7Ku7R239fjAoGAeUSPvooU9wBf6x7ObYSrHXUw6AofpFU4vF3YVPZbtxtagvVvmtb7rB5jlDqm2ZHyOkPD33vnNVOzfbUoKWrjhMBH84NT2ymZzPzqTBeGKYuImPKnxdpz4Zw0e32AyPB0loBgutmaOsTbrX472SOEoYz6tW4BUMZCKhN0aouYZcA;// 支付宝公钥,对应APPID下的支付宝公钥。 按照我文章图上的信息填写支付宝公钥别填成商户公钥public static String alipay_public_key MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhruuX7u/BKCYg2otmGTCopdq6bot2VI5y7mB9V9D5dn0AvT7ncAP67qCwrRhRkOqDCgxTqwYkfhE2qc2wV6jMSyVfdnIlHBYMadk0EbPTZjXVVQ8HAymCDIreylDOyAupjfWoF6wG4b7e7y3sdA6G/OVIieqMQUz9hTrDYevxJc4EOCbWuKxTlZ67OiWCv0cq0cABSOSHXGTac8LGyQLNJmsYfau7uPeqBvy7Uueon5HayM5T93NWe9wgx5yEQuZ6D/BWL7q8V5b5XYuQyl2pYiIlW5A1iKSQ2L1PnukD5lcHma8Xrvp8nNpF1a3z5CPeCitreWki/yvUw37zwIDAQAB;// 服务器异步通知页面路径 需http://格式的完整路径不能加?id123这类自定义参数其实就是你的一个支付完成后返回的页面URL
// public static String notify_url neturl/alipay/notify_url;public static String notify_url http://www.baidu.com;// 页面跳转同步通知页面路径 需http://格式的完整路径不能加?id123这类自定义参数其实就是你的一个支付完成后返回的页面URL
// public static String return_url neturl/alipay/return_url;public static String return_url http://www.baidu.com;// 签名方式public static String sign_type RSA2;// 字符编码格式public static String charset utf-8;// 支付宝网关public static String gatewayUrl https://openapi.alipaydev.com/gateway.do;
}
3.写测试接口 ⑴controller类
RestController
RequestMapping(/payment)
public class PaymentController {AutowiredAliPayService alipayService;RequestMapping(/pay)public void payMent(HttpServletResponse response, HttpServletRequest request) {try {alipayService.aliPay(response, request);} catch (IOException e) {e.printStackTrace();}}
}⑵service类 /*** 支付宝支付调用接口* param response* param request* throws IOException*/void aliPay(HttpServletResponse response, HttpServletRequest request) throws IOException;}
在这里插入代码片⑶实现类 Service
Slf4j
public class AlipayServiceImpl implements AliPayService{Overridepublic void aliPay(HttpServletResponse response, HttpServletRequest request) throws IOException {response.setContentType(text/html;charsetutf-8);PrintWriter out response.getWriter();//获得初始化的AlipayClientAlipayClient alipayClient new DefaultAlipayClient(AliPayConfig.gatewayUrl, AliPayConfig.app_id, AliPayConfig.merchant_private_key, json, AliPayConfig.charset, AliPayConfig.alipay_public_key, AliPayConfig.sign_type);//设置请求参数AlipayTradePagePayRequest aliPayRequest new AlipayTradePagePayRequest();//aliPayRequest.setReturnUrl(AlipayConfig.return_url);//aliPayRequest.setNotifyUrl(AlipayConfig.notify_url);//商户订单号后台可以写一个工具类生成一个订单号必填String order_number new String(StringUtils.getStr());//付款金额从前台获取必填String total_amount new String(201314);//订单名称必填String subject new String(臭猪张云婷);aliPayRequest.setBizContent({\out_trade_no\:\ order_number \, \total_amount\:\ total_amount \, \subject\:\ subject \, \product_code\:\FAST_INSTANT_TRADE_PAY\});//请求String result null;try {result alipayClient.pageExecute(aliPayRequest).getBody();} catch (AlipayApiException e) {e.printStackTrace();}//输出out.println(result);log.info(返回结果{},result);}
}
⑷这是我写的一个工具类用于随机生成订单号。
public class StringUtils {public static String getStr(){int length5;String strabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;Random randomnew Random();StringBuffer sbnew StringBuffer();for(int i0;ilength;i){int numberrandom.nextInt(62);//charAt() 方法用于返回指定索引处的字符sb.append(str.charAt(number));}return sb.toString();}
}
3.运行项目,然后在浏览器输入http://localhost:项目端口/payment/pay会跳转到下面页面 4.点击登录账户付款 使用买家信息登录进行支付支付前记得先回去充值支付成功后卖家账户收到转账
啊终于写完了一篇博客写了两个小时累死宝宝了