快速在网站跳转支付宝付款链接 您所在的位置:网站首页 支付宝收款码链接 快速在网站跳转支付宝付款链接

快速在网站跳转支付宝付款链接

2023-07-14 14:59| 来源: 网络整理| 查看: 265

首先先说明 现在支付宝不支持个人调用支付接口,本文使用的都是沙箱模式,如果要落地应用需要提交营业执照和网站备案

首先需要在自己的项目里写个controller和一个Alipayconfig

先加入maven依赖

com.alipay.sdk alipay-sdk-java 3.0.0

然后controller

import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipayTradePagePayRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Random; import java.util.UUID; @Controller public class Test { //用来跳转的 @RequestMapping("/aa") public String aa(){ return "aa"; } //用来跳转的 @RequestMapping("/bb") public String bb(){ return "bb"; } //主要的付款相应 @RequestMapping("/testpay") public String testpay(){ return "test"; } @RequestMapping("/alipay") public void alipay(HttpServletResponse httpResponse) throws IOException { //实例化客户端,填入所需参数 Random r=new Random(); AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.APP_ID, AlipayConfig.APP_PRIVATE_KEY, "JSON", AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.sign_type); AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); //在公共参数中设置回跳和通知地址 request.setReturnUrl(AlipayConfig.return_url); request.setNotifyUrl(AlipayConfig.notify_url); //根据订单编号,查询订单相关信息 String out_trade_no = UUID.randomUUID().toString(); //付款金额,必填 String total_amount =Integer.toString(300); //订单名称,必填 String subject ="测试订单"; //商品描述,可空 String body = ""; request.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\"," + "\"total_amount\":\""+ total_amount +"\"," + "\"subject\":\""+ subject +"\"," + "\"body\":\""+ body +"\"," + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}"); String form = ""; try { form = alipayClient.pageExecute(request).getBody(); // 调用SDK生成表单 } catch (AlipayApiException e) { e.printStackTrace(); } httpResponse.setContentType("text/html;charset=" + AlipayConfig.CHARSET); httpResponse.getWriter().write(form);// 直接将完整的表单html输出到页面 httpResponse.getWriter().flush(); httpResponse.getWriter().close(); } }

这个是配置文件,里面的appid,商户私钥,支付宝公钥需要自己获取

然后服务器异步通知页面路径和页面跳转同步通知页面路径必须是公网的,也就是你手机也要能访问到

package com.seclab.controller; public class AlipayConfig { // 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号,开发时使用沙箱提供的APPID,生产环境改成自己的APPID public static final String APP_ID = "2021000116664662"; //public static final String APP_ID = "2021001181690291"; // 商户私钥,您的PKCS8格式RSA2私钥 //public static final String APP_PRIVATE_KEY = "你自己的私钥"; public static final String APP_PRIVATE_KEY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9QSrpn6E+iG+Hd0DYezL21ktq1suYvAsyN4hsT+fDz53+MQE/KQ61r7NvZbx2SUbPMfQX7uhZzhhsxLjSlHs5qeN5JaI0DXrVvHtxPitB6dfw/eoZwhNrL+hHYu+HdEKvIOcLAmfASdTYzWjOSJbdeIHM4BDTeBEnHFF1EXw6Z77cE0jSXBE1Qs59UIfXDn3ijY43P+bgoyvWqXu4VbqaBC8qzoLlTp2MT4ZJaFykO00sM7WJm8hHMceK0Ew5TRgKT+B6R61gjWxM3jn1DhF4yggzHwU2jox9hmtN9HnDSbXt5IUxwA77TU7MNadswl9UfaaA+jJ4HKP8i6QRwJdPAgMBAAECggEBAIss2GTz+j0lUndZkHtipkj1sIKCMTlB2C32vsGARZ0vGi3rVdJf3CxqaFdchqqqGoOWZb4P+BjKwhWC2bQqczAlql3V+iGzZAi4UkMmB+OyFxZnc/e7TFJ/6Z5NuH5xVfS6Co6DF09GPFuvOwqwQRnfW/0RLe6Fln+fiJvB3wyHKCkAfvWt9Y5rJBoTgOPmYqqZjiXPD6kV9stQfyyaf+FIex0CsHLEwvCmQ9V3NgddLBzt6KJjHi/BL/FpM0vFNZSMlUNCAjkONKo7MPg2bqVGpraHO5GcIQRfGSDtdNSiVsS47n4rTOblQ2tUzGcFOjxUaZ3ehb880ml7DsStt8kCgYEA7QY6DP2wGJyKSZIvLrRJ2+MSTDXElyFSyKZd/cNW7etCZtXco0NCGHSJBLwH8Gs3Imp+YY3bVXh/sKwOy1dfb35JGaLB0hdbwouEekPyswK5q0I+e2fEsBhE+blEeVNpqq00alQm8XPVye1a8Uilx3bWoVkLWHCqUdCLww6x7HsCgYEAzGfoX1bBznN7TyFoahFKfGraI0JpVYPd6hsRTJVu6uA1HVPxI1r+EXLP/t+4H1vL7HMCXeNks2eB7eRf/IuvHFFk+0/vAA20k/2eVqJAy95y7ZLgEgM6TrOqyf6s1lHTX49+pAfPzKrTiyKe3CyXWhDgI0GWil1bGZAaM+MoWj0CgYEA6GUfi9c8zpTFneb/7foFJNxZ93EMhOW+Zk+AfqwFUpdFbtCnWUg7yQCRy5uU6SwmTc8+hOXytLXF9PJuOv866nVWtRT4lsYiSPhEdyCiGNRGOV1lJ9gRaFsTXgpB0fdv9lGGv+4slLbvWeIoNcT2DkE9pctJrXgh9r/UGPcSinsCgYBHLjAHc0jOQfzA05tuxFKx/Ou1t5zCwMb4jTB7ANa9SBJ3AhJJA5jSLq8rzHBryyW6U1qRo2wf5X2jgBHE+keijt2hfnZ2CE/H8VvAQ4RY+j//Z1RMMX+OhJaG/P7nK1t2PZwWNvowBZThMM8tUQHrxVCoNmDcEiJ1Rm85fnNA6QKBgE6E6UU+5xIXAHUN5g6qlIKiBqWmciu8Ak6+m2Cy6vgi0GQ50OpU1lIoELDWMrYMESLp2jkK0zhUsSZbjyI60a9J+0mqSZD2/3YhyYdeg3Pu67UvpWPNfufqidpmeAVxRHzRSdFMcoiljAHIrNiRPPzQkTbh2Nc71Gbi6YOEbTZa"; // 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。 public static final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkTcaMkpviHndbndOC4ZkkHssykSS0DPvybvn6WpiDwLSiCNP4FtZc0cXUpXSAv8KHaZFfALFgUsPQ1U4HiYeCo9xJQWr+9y2EmdELbEgEP/PgHsNqKpZpEJtigWM8LegS+qZoerQFfGoCl5r3P5ypWkQgAjw8WcuPOhTuRbPHPip0OZ8utOMf93GslY880i+kbhVrFZs4hJxy5kVK7rpmLVaEqZ0Dbx/GY19Nx+uH/ABHmiFTU4CPe2t6V1Sg/ijeaxunVEOXOwodcb99d0H1n9pTyRGVQmagIqLxL0gjPc4wJDigjf+4kT5VmsncHMmAuxwHprBQRalFj4OdCHuyQIDAQAB"; // 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 public static final String notify_url = "http://2ieth5.natappfree.cc/aa"; // 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问(其实就是支付成功后返回的页面) public static final String return_url = "http://2ieth5.natappfree.cc/bb"; // 签名方式 public static final String sign_type = "RSA2"; // 字符编码格式 public static final String CHARSET = "utf-8"; // 支付宝网关,这是沙箱的网关 public static final String gatewayUrl = "https://openapi.alipaydev.com/gateway.do"; // 支付宝网关 //public static final String finalUrl = "https://openapi.alipay.com/gateway.do"; } //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ // /** // * 写日志,方便测试(看网站需求,也可以改成把记录存入数据库) // * @param sWord 要写入日志里的文本内容 // */ // public static void logResult(String sWord) { // FileWriter writer = null; // try { // writer = new FileWriter(log_path + "alipay_log_" + System.currentTimeMillis()+".txt"); // writer.write(sWord); // } catch (Exception e) { // e.printStackTrace(); // } finally { // if (writer != null) { // try { // writer.close(); // } catch (IOException e) { // e.printStackTrace(); // } // } // } // } //} //

接下来就去获取啦 先进入支付宝官网啦,扫码登陆一下 然后进入沙箱界面 在这里插入图片描述

接下来就是需要得到这堆非常重要的数据,有了这些数据才能运行接口。 1.appid和支付宝网关 在这里插入图片描述 在沙箱界面里有的

然后下载一个这个东西 下载链接 . 在这里插入图片描述 在这里插入图片描述 然后生成密钥 在这里插入图片描述 把应用私钥复制到AlipayConfig里面,公钥复制到沙箱平台里面的这个 在这里插入图片描述

在这里插入图片描述 复制进去后会获得一个支付宝公钥

注意 支付宝公钥和应用公钥并不相同,我们需要的是支付宝公钥

然后把支付宝公钥复制到AlipayConfig里面 在这里插入图片描述 就可以了,实现效果是这样

如果跳出支付宝的钓鱼检测 ,就换个浏览器访问就可以了 在这里插入图片描述 然后可以使用沙箱账号进行付款 在这里插入图片描述 注意,付款完成后的跳转链接必须公网可以访问,不然是无法跳转的



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有