快速在网站跳转支付宝付款链接
首先先说明 现在支付宝不支持个人调用支付接口,本文使用的都是沙箱模式,如果要落地应用需要提交营业执照和网站备案
首先需要在自己的项目里写个controller和一个Alipayconfig
先加入maven依赖
<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>3.0.0</version></dependency>
然后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,生产环境改成自己的APPIDpublic 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里面
就可以了,实现效果是这样
如果跳出支付宝的钓鱼检测 ,就换个浏览器访问就可以了
然后可以使用沙箱账号进行付款
注意,付款完成后的跳转链接必须公网可以访问,不然是无法跳转的
快速在网站跳转支付宝付款链接相关推荐
- php 链接转跳,PHP网站跳转链接代码
PHP网站跳转链接代码具体效果如下图 有一个过度跳转效果.代码如下<?php $t_url=$_GET['url']; if(!empty($t_url)) { preg_match('/(ht ...
- 跳转支付宝扫描二维码,付款码,收款码,和手机计算器,日历
主要再次做一下记录,防止以后又重新找一边. 主要是支付宝跳转: //微信 //weixin://dl/scan 扫一扫 // "weixin://dl/moments"朋友圈 // ...
- 快速提高网站流量的外部链接发布与推广技巧
众所周知,SEO优化最基础的就是要做好站内优化与站外推广,而外链是站外SEO优化推广的重要手段之一.高质量的外部链接能够为网站提高网站的流量和提高网站的知名度.那么如何有效的做好SEO外链建设呢? 一 ...
- Android H5页面调起微信和支付宝付款
一.前提条件:后端已经生成了支付链接 微信是支持H5在非微信内核的浏览器调起支付的,只是流程很麻烦,需要企业账号申请才行,并且周期较长.微信官方开通说明 申请入口:登录商户平台–>产品中心–&g ...
- 支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc
一.场景:公司需要在网站上进行支付宝支付. 二.API:使用支付宝开放平台的支付能力-即时到账接口.支付宝开放平台链接 三.分析: 1.支付宝的文档比较容易看,主要是有相应的DEMO,我这里看的DEM ...
- 电脑网站如何用支付宝收款(php)
一.你需要以公司的名义申请一个支付宝账号.没有公司的人请先注册一个公司. 二.公司需要通过支付宝的实名认证才能开通收款功能. (注:我个人建议,开公司用一个新的手机号,专门用于公司业务,因为后面各种实 ...
- Django学习记录10——Django使用支付宝付款(电脑支付,手机网页支付,面对面扫码)
目录 一.注册支付宝开放平台账号 1.注册 2.创建公私秘钥 2.项目中添加公私密钥 二.生成二维码 1.安装模块等 2.模块的结构 3.电脑支付 4.手机支付 5.面对面扫码(真二维码支付) 三.小 ...
- 网站如何接入支付宝(转)
本文介绍了网站如何接入支付宝. 1 注册企业支付宝帐号 https://enterpriseportal.alipay.com/login.htm 2 实名认证 提供公司相关证件进行实名认证,提交后, ...
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定...
本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...
- 三步法助你快速定位网站性能问题
本文分享自华为云社区<在瀑布下用火焰烤饼:三步法助你快速定位网站性能问题>,原文作者:Kagol . 引言 性能,是一个问题. 每个项目成长到一定的规模,都几乎必然要遇到性能问题,当遇到性 ...
最新文章
- IOI2011 BZOJ2600 ricehub
- 小学生学python到底能干什么-小学生都学Python了,你还没用万矿?
- OpenCV3编程入门(毛星云)之用滚动条控制两图片的混合
- 13 种 JavaScript 代码技巧
- P4271 [USACO18FEB]New Barns
- java8彩蛋_随笔,JDK8的新时间工具类
- 联想笔记本安装xp sp3 GHOST版无法安装声卡问题
- 生信学习笔记:生物信息学测序分析基本流程入门笔记
- SQL Develoer 连接到hr数据库
- Java 发送163邮件
- 编写myqq,即时聊天脚本
- mapreduce详细工作流程
- Windows微信刷朋友圈
- java outer什么意思_java里面outer、 inner是什么意思
- 局域网病毒入侵原理和防御
- pcl::compute3DCentroid()计算质心算法原理
- 【解决方案】SkeyeVSSSkeyeARS助力水利工程视频监管-长江流域重点水域禁渔视频监控系统建设
- Python 获取当前系统时间
- 细胞免疫疗法领军企业药明巨诺在港交所主板上市
- .NetCore支付宝支付-服务商模式(saas)
热门文章
- iOS12系统这5个隐藏小技巧!你一定要知道,好用到停不下来!
- access 调用 webbrowser_函数调用过程与栈帧结构 - wuli涛涛
- 电子通讯录(数据库版存储)
- Jenkins 页面不刷新最新修改配置,需要强制刷新才可以,Request Status Code:200 OK (from disk cache)
- java程序员 .net 程序员_Java 程序员 和 .NET 程序员
- 变种水仙花数 - Lily Number
- 自制网站服务器主机,自制服务器主机迷你
- HCIA-IoT 个人学习总结 Day4
- python爬虫qq音乐歌词_10、 在QQ音乐中爬取某首歌曲的歌词
- 卸载一个游戏计算机里还有文件,如何处理pc游戏卸载后留下的残余文件?