当前位置:首页 > 科技  > 软件

不睡觉也要会的—支付宝网站支付

来源: 责编: 时间:2023-11-28 17:12:42 204观看
导读一、前言在一些商城网站中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试。减少我们的申请的麻烦,公钥和秘钥也比之前方便了,还是挺简单的,沙

l3U28资讯网——每日最新资讯28at.com

一、前言

在一些商城网站中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试。减少我们的申请的麻烦,公钥和秘钥也比之前方便了,还是挺简单的,沙箱和正式的区别就是申请一下权限和把网关修改了就可以了!l3U28资讯网——每日最新资讯28at.com

不过支付宝的案例还是jsp,我们就可以把java代码抽离出来就可以了!!l3U28资讯网——每日最新资讯28at.com

话不多说,我们直接开始!!l3U28资讯网——每日最新资讯28at.com

二、知识储备

我们在之前,要先了解到加密方式:公钥、私钥、加密、签名和验签。l3U28资讯网——每日最新资讯28at.com

1、公钥私钥

公钥和私钥是一个相对概念 它们的公私性是相对于生成者来说的。一对密钥生成后,保存在生成者手里的就是私钥, 生成者发布出去大家用的就是公钥l3U28资讯网——每日最新资讯28at.com

2、加密

 加密是指: 我们使用一对公私钥中的一个密钥来对数据进行加密,而使用另一个密钥来进行解 密的技术。 公钥和私钥都可以用来加密,也都可以用来解密。 但这个加解密必须是一对密钥之间的互相加解密,否则不能成功。 加密的目的是: 为了确保数据传输过程中的不可读性,就是不想让别人看到。l3U28资讯网——每日最新资讯28at.com

3、签名

 给我们将要发送的数据,做上一个唯一签名(类似于指纹)  用来互相验证接收方和发送方的身份; 在验证身份的基础上再验证一下传递的数据是否被篡改过。因此使用数字签名可以 用来达到数据的明文传输。l3U28资讯网——每日最新资讯28at.com

4、验签

 支付宝为了验证请求的数据是否商户本人发的,  商户为了验证响应的数据是否支付宝发的l3U28资讯网——每日最新资讯28at.com

三、下载demo

链接地址:java版demo:https://opendocs.alipay.com/open/02no47l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

四、Idea打开

1、 idea中新建

l3U28资讯网——每日最新资讯28at.com

2、选择项目

l3U28资讯网——每日最新资讯28at.com

选择为eclipse项目。l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

直接一路下一步即可!l3U28资讯网——每日最新资讯28at.com

五、配置

1、配置为web项目

l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

选中项目:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

添加依赖:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

2、大坑

由于支付宝重新建了一个web目录,我们要自己给指定上,所有的页面都在新的目录下:WebContent里面,默认会指定到web目录!不然会报404!l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

解决方案:把WebContent指定为读取页面的目录。l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

我们发现,WebContent可以被读取了!!l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

3、配置tomcat

l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

六、测试运行

直接运行,我们发现编译报错:l3U28资讯网——每日最新资讯28at.com

D:/data/alipay.trade.wap.pay-java-utf-8/alipay.trade.wap.pay-java-utf-8/src/com/alipay/config/AlipayConfig.javajava: 需要class, interface或enum

在这里插入图片描述报错原因: 是因为编码格式不对,我们发现右下角是UTF-8没问题,原因是没有生效,需要先切换一下另一个编码,然后再换回来,这样UTF-8就会生效!!l3U28资讯网——每日最新资讯28at.com

点击UTF-8,选型中选择GBK。点击生效。l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

重复操作换为UTF-8即可。l3U28资讯网——每日最新资讯28at.com

再次运行:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

前端页面:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

七、对接沙箱

沙箱环境控制台:https://open.alipay.com/develop/sandbox/appl3U28资讯网——每日最新资讯28at.com

1、打开配置类

下面是需要我们修改的字段,如果是springboot把这些配置在配置文件中即可!l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

2、填充信息

APPID:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

私钥和公钥:l3U28资讯网——每日最新资讯28at.com

上图点击启用即可,不需要像以前自己生成,这样就可以直接使用!l3U28资讯网——每日最新资讯28at.com

上面为:RSA_PRIVATE_KEY下面为:ALIPAY_PUBLIC_KEY。l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

配置请求网关地址:URL:https://openapi.alipaydev.com/gateway.do和正式的加了一个dev。l3U28资讯网——每日最新资讯28at.com

配置同步通知页面路径和异步通知页面路径:l3U28资讯网——每日最新资讯28at.com

例子:l3U28资讯网——每日最新资讯28at.com

public static String notify_url = "http://localhost:8080/notify_url.jsp";public static String return_url = "http://localhost:8080/return_url.jsp";

同步路径时支付成功的跳转页面,一般会跳到订单详情页, 异步一般是支付成功我们进行修改订单的支付状态的请求地址, 两者必须外网可以正常访问,不能加?id=123这类自定义参数。l3U28资讯网——每日最新资讯28at.com

全部配置如下:l3U28资讯网——每日最新资讯28at.com

public class AlipayConfig { // 商户appid public static String APPID = "2021000117627470"; // 私钥 pkcs8格式的 public static String RSA_PRIVATE_KEY = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCwJO/zYxYYjLW3AKUEKJSzl/tisAMV7Nycc2+p9pZuuVE+yEDr/9rTYtWBGdsoQap4P8hbsvz2JXEUnJHdzBajCWyM85eVCV5fVO9RUb1kzhjrPdqyRzvJvPXic2UkXueKkQ2H/b5BryHQRfjAotY+jjhcre/Ikxx2GkOCNbEOzmcSkBZTG3QZgOl9O151DFkUj8H7u4wu9X2CHvXiV9g9H/8iIHlcf2KNf1pmnHYfOaYj/8v9/gxQg+r3+0F5oJhm4TKm8Ot+7I1rNAnBTLAe03qbPXLrZIASRJkEMG1cQb4mCmVDNAdqdXxBCAQnT+ggylvhiB9jXuqVp9zXVTMtAgMBAAECggEAJHuiD2EohHEwefTyOMhG9GO4N5qJKRNkJitqp2NhiRFtGHnVqIvXwQypeBHo6I+hRULAtu19o2Xh5AkB1VSeI6qiBxe0/7NvDoPDBa7OcYCWfLLVBzPl2EUBEKQiAMR/ZJ3ilZYiv+wMLt0vRobzpQVD+z4zefGuZW/PJ7sDLzOMwbtaQ3nCUYor4GAZuA+WKfkLKYj3HmApvyhb2o/8Yl+GmE9It91vCI7RTyhOr9CBw3Rz6d3xeVnfbHr2lQ4AGrzYvAlS77R+0YWla3x9MqnM/iFUjWzV3QdBOTmM/4ga0JVdeLKJtfW3fdn2WdRrydfMTffWLOTH/MUhfltCgQKBgQDlFfBotzFTpJCNv9lQkIGorpVSQkp1shlkob5SWVKufshS2/m5AkSAkvpc3TmUH1GDfIneMdelLeJwvx3gho/lyQayGD6og1Z6CQGwVVvZxO65aejEjyruo/zfrSn260nACd2CyKHBg3spsxfE0U8lt7zmmk7JSzrU4+UxaJiQEQKBgQDE1rbDKzWRqk1ihNepLfTTmUDpgjfuVEmX9xUbIBalm0PtdLL4y+AAFCI01VwiTvs6rpXjkc0Yp624t1RwJmPYvJ1LPlp4hkpTZIbI5e0gv9RkGmQ1YXEQ/+SON8d3qmTrRnSDKUlRBSBQ5yeT3lfcNI4nNDX6Ag6kxYq6JxgNXQKBgD01wnnIUQa/Vtx5IXC0W+CdXUqQaeLOxpgr23WXZk83kwEIw83aPEF6hCjh92uLfrU6RoA3Ix6AhxuHBU2jxrkoIIDfl4ZhKW8MDwZ1mEg0pXCnSsmSU29WI9AELc1LCvaj7Crwvr+9COCYeMZfAt3aHUAkhN6mGj8d8XRlNTZxAoGAHCIwNw769hnoO5ePF3ApGQFDhNyGz/qeFilLi/f3JK5fdBYE6oiBOKGoDfMc2w582/NOGxugu9BjhQ429FyYUscKmFGOLsHK58ZreVVboh2o5rHa9sI5ndtlOGqCiPkCuZn1VzXUc88OwmF3h6v01NVyJ+pPeK9IloZhgJ/L0UUCgYAB99cEMRSdWZ6QLbgIPdLkMmo3eIHQAvzWAI560uSgQwBZYXBHvJyPF3qL3Yn2QAghOuwcRYT4Y+jDhf3eXoy25flpROqzhmeWXQf/ksjmmEA/qdWi6pHTDLd4FPiHhCsp9gjo8lheJMvPcIiMt3+tOnkS4/vwoS+bOEZJqTlSnw=="; // 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 public static String notify_url = "http://localhost:8080/notify_url.jsp"; // 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址 public static String return_url = "http://localhost:8080/return_url.jsp"; // 请求网关地址 public static String URL = "https://openapi.alipaydev.com/gateway.do"; // 编码 public static String CHARSET = "UTF-8"; // 返回格式 public static String FORMAT = "json"; // 支付宝公钥 public static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw2+1X9+g/YkZCqpyiN9EGEu951ODowp627WCxu/thtI5J0b8XDGsfK0gabH0Jz7o1JRTC37ZHaEPMUCd8NjeWb6tsnWZzhmxr7dqHu9Umy2QKl41UFMxMnvuwKjmXx7+jxNIeNv/fpdV9r+K6Gm0qHmaL23OuS/RB37cZ/kZ7SCzmIweca7f93wpO5knpT0DFRF48l2Js/rJm4/03vxjadCywKsSx2LnhdSpsypzHShTQJBolryzav0fp9gkBEW35n4v/261ZIepWpEtFcWSO+YTqeOjR9ciOjmMXjc/HYZTyMro9RzSfFqHouONZj+E3V0MPg1/Qea8el78p5QVwwIDAQAB"; // 日志记录目录 public static String log_path = "/log"; // RSA2 public static String SIGNTYPE = "RSA2";}

自己测试可以使用内网穿透技术来实现, 常见的技术有三种:l3U28资讯网——每日最新资讯28at.com

  • natapp:https://natapp.cn/
  • 续断:https://www.zhexi.tech/
  • 花生壳:https://www.oray.com/

花生壳不支持输入域名,续断可以支持域名!l3U28资讯网——每日最新资讯28at.com

八、页面支付测试

进入首页:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

点击第一个进入支付,点击确认!l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

选择继续浏览器付款:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

登录账号:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

在沙箱中找到买家的账号密码:沙箱地址l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

输入账号密码:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

确认付款:l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

付款成功后会在5秒跳转到我们上面配置的同步地址中去!l3U28资讯网——每日最新资讯28at.com

l3U28资讯网——每日最新资讯28at.com

==提醒:== 在异步请求中,我们必须返回支付宝success,不然支付宝会不断重发,详情如下:l3U28资讯网——每日最新资讯28at.com

程序执行完后必须打印输出“success”(不包含引号)。如果商家反馈给支付宝的字符不是 success 这7个字符,支付宝服务器会不断重发通知,直到超过 24 小时 22 分钟。一般情况下,25 小时以内完成 8 次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h)。详细链接:https://opendocs.alipay.com/open/270/105902l3U28资讯网——每日最新资讯28at.com

我们一般在修改订单支付状态后返回即可!l3U28资讯网——每日最新资讯28at.com

九、总结

这样就完成了支付宝的简单调试和注意事项,我们可以把配置和jsp的支付相关搬到java代码中,这样就可以使用了!l3U28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-34935-0.html不睡觉也要会的—支付宝网站支付

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: ARM架构下部署StarRocks3,你学会了吗?

下一篇: B站 CEO 陈睿:会把资源集中在更有竞争力的游戏项目上

标签:
  • 热门焦点
  • K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    Redmi的后性能时代战略发布会今天下午如期举办,在本次发布会上,Redmi公布了多项关于和联发科的深度合作,以及新机K60 Ultra在软件和硬件方面的特性,例如:“K60 至尊版,双芯旗舰
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 自律,给不了Keep自由!

    自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • 一条抖音4亿人围观 ! 这家MCN比无忧传媒还野

    一条抖音4亿人围观 ! 这家MCN比无忧传媒还野

    作者:Hiu 来源:互联网品牌官01 擦边少女空降热搜,幕后推手曝光被网友誉为“纯欲天花板”的女网红井川里予,近期因为一组哥特风照片登上热搜,引发了一场互联网世界关于
  • 大厂卷向扁平化

    大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 郭明錤称华为和江淮汽车合作开发问界MPV,定价100万左右、计划明年量产

    郭明錤称华为和江淮汽车合作开发问界MPV,定价100万左右、计划明年量产

    8 月 1 日消息,郭明錤今天在 Medium 平台发布博文,称华为正在和江淮汽车合作,开发售价在 100 万元的问界 MPV,预计在 2024 年第 2 季度量产,销量目标为
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
  • Windows 11发布,微软一改往常对老机型开放的态度

    Windows 11发布,微软一改往常对老机型开放的态度

    距离 Windows 11 发布已经过去一周,在过去一周里,很多数码爱好者围绕其对 Android 应用的支持、对老机型的升级问题展开了激烈讨论。与以往不同的是,在这次大
  • 苹果140W USB-C充电器:采用氮化镓技术

    苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top