java实现支付宝支付接口的调用
作者:努力的布布 发布时间:2023-10-13 09:43:40
1.准备工作
第一步就是先要注册一个支付宝的账号(注册这里不说,不是重点),然后登入官方首页,去到应用列表里面找到沙箱应用。
基本信息的APPID很重要,后续配置文件要配置的app_id就是这个。
系统密钥,查看公钥模式,merchant_private_key就是应用私钥;alipay_public_key支付宝公钥;支付宝网关地址https://openapi.alipaydev.com/gateway.do因为是沙箱测试环境,这里是dev标识加以区分;签名方式这里是RSA2
沙箱账号有商家和买家的账号支付密码和余额,后续付款会用得到的
2.获取Demo (JAVA版)
支付宝文档中心支付应用SDK&&DEMO下载代码demo,用来在本地加以调试就行。
3.导入本地运行测试
本地环境是Eclipse+JDK1.8 及以上+Tomcat8.0,导入本地。
本地下载一个tomcat服务器,本地配置好添加进去,启动tomcat就可以正常启动访问项目。
AlipayConfig文件主要是配置,APPID,私钥等这些信息,具体配置参考下文
package com.alipay.config;
import java.io.FileWriter;
import java.io.IOException;
/* *
*类名:AlipayConfig
*功能:基础配置类
*详细:设置帐户有关信息及返回路径
*修改日期:2017-04-05
*说明:
*以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
*该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
*/
public class AlipayConfig {
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号 https://open.alipay.com/develop/sandbox/app 这个链接查找
public static String app_id = "XXX";
// 商户私钥,您的PKCS8格式RSA2私钥
public static String merchant_private_key = "XXX";
// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
public static String alipay_public_key = "XXX";
// 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String notify_url = "http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";
// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String return_url = "http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";
// 签名方式
public static String sign_type = "RSA2";
// 字符编码格式
public static String charset = "utf-8";
// 支付宝网关 https://openapi.alipaydev.com/gateway.do
public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
// 支付宝网关
public static String log_path = "C:\\";
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
/**
* 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
* @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();
}
}
}
}
}
index.jsp是支付宝电脑网站支付体验入口页,访问链接http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/index.jsp
点击付款触发访问alipay.trade.page.pay.jsp在这个jsp页面调用支付接口
点击付款按钮跳转到付款页面,这个页面不是本地的页面
输入用户名和支付密码点击下一步完成付款,点击确认付款
付款成功页面,这个页面显示之后等待几秒会跳转到return_url页面,展示商家设定的页面
http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp
来源:https://blog.csdn.net/qq_37200262/article/details/125708560


猜你喜欢
- 1.项目简绍本项目使用SpringBoot开发,jdbc5.1.48 Mybatis 源码可下载其中涉及功能有:Mybatis的使用,Thy
- 一、什么是异常异常机制:异常机制是指当程序出现错误后,程序如何处理。具体来说就是程序发生异常,异常机制提供程序的退出安全通道。通俗来说:就是
- Android动画之小球拟合动画实例实现效果:动画组成:1.通过三阶贝塞尔曲线来拟合圆,拟合系数的由来,以及怎么选控制点.2.利用画布can
- Canvas绘制文本时,使用FontMetrics对象,计算位置的坐标。public static class FontMetrics {
- 前言通过前面这篇文章Android串口通讯SerialPort的使用详情已经基本掌握了串口的使用,那么不经想问自己,到底什么才是串口通讯呢?
- 本文实例通过Java的Zip输入输出流实现压缩和解压文件,前一部分代码实现获取文件路径,压缩文件名的更改等,具体如下:package com
- 在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户
- 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有
- 如下所示:import java.util.ArrayList;//java中申请不定长度数组public class Test01 {pu
- 在上一篇文章中我介绍了使用Intent显式来实现页面向下跳转,接下来这篇文章主要介绍的是使用Intent隐式来实现向上跳转,什么意思呢,就是
- 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论。但是我觉得都是不求甚解,有一些还是在误导别人。下面我来说下我对这三者的理解,如有错
- 在前台请求数据的时候,sql语句一直都是打印到控制台的,有一个想法就是想让它打印到日志里,该如何做呢?见下面的mybatis配置文件:<
- 本文主要描述在C#中线程同步的方法。线程的基本概念网上资料也很多就不再赘述了。直接接入 主题,在多线程开发的应用中,线程同步是不可避免的。在
- 1. Spring Boot 入门 Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spri
- 场景网站智能问答场景,需要对多个分类查询,结果聚合展示由于每种分类都有自己的业务逻辑,有的需要查询数据库中间库,有的需要查询elastics
- 目录定义数据库表访问表中的数据插入数据查询数据创建数据库测试 DaoRoom 是 SQLite 的封装,它使 Android 对数据库的操作
- 把idea中的项目导入github仓库中步骤详解做完项目进行云端保存是很必要的,我都是存放在github中。所以废活少说直接开始啦。前提是已
- 最近做项目中涉及到了图片相关功能 ,在使用安卓6.0手机及7.1手机拍照时,遇到了因权限及文件管理导致程序崩溃等问题。 刚好把功能
- 使用filter()取出自己所需数据java8的filter()方法是取出自己所需的数据,返回满足条件里的数据person.javapack
- 前段时间在写直播的时候,需要观众在看直播的时候点赞的效果,在此参照了腾讯大神写的点赞(飘心动画效果)。下面是效果图:1.自定义飘心动画的属性