位置: IT常识 - 正文

支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)(沙箱支付宝app正式版)

编辑:rootadmin
一:打开支付宝开发平台,登录,然后点击控制台 https://open.alipay.com/ 二:滚动到底部,选着沙箱服务 三:获取到对接要用的appId和公钥私钥 四:打开IDEA导入所需的xml文件 <!-- 支付宝--> <!-- https://mvnrepository.com/arti ...

推荐整理分享支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)(沙箱支付宝app正式版),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:支付宝沙箱服务怎么开启,支付宝沙箱下载官网,支付宝沙箱环境详细讲解,支付宝沙箱环境详细讲解,支付宝沙箱支付教程个人测试,支付宝沙箱服务怎么开启,支付宝沙箱服务怎么开启,支付宝沙箱服务怎么关闭,内容如对您有帮助,希望把文章链接给更多的朋友!

一:打开支付宝开发平台,登录,然后点击控制台

https://open.alipay.com/

二:滚动到底部,选着沙箱服务

三:获取到对接要用的appId和公钥私钥

支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)(沙箱支付宝app正式版)

四:打开IDEA导入所需的xml文件

<!-- 支付宝--> <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-easysdk --> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-easysdk</artifactId> <version>2.2.0</version> </dependency>

五:编写实体类:

import lombok.Data;@Datapublic class Alipay { private String traceNo; private String totalAmount; private String subject; private String alipayTraceNo;}

六:编写yaml文件(这里的回调要用网络https服务,这里建议使用花生壳可以完成域名访问!)

#支付宝配置alipay: appId: ? #私钥 appPrivateKey: ? #公钥 alipayPublicKey: ? #回调地址 notifyUrl: ?

七:编写服务类:

import com.alipay.easysdk.factory.Factory;import com.alipay.easysdk.kernel.Config;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;@Data@Component@ConfigurationProperties(prefix = "alipay")public class AplipayConfig { private String appId; private String appPrivateKey; private String alipayPublicKey; private String notifyUrl; @PostConstruct public void init() { // 设置参数(全局只需设置一次) Config config = new Config(); config.protocol = "https"; config.gatewayHost = "openapi.alipaydev.com"; config.signType = "RSA2"; config.appId = this.appId; config.merchantPrivateKey = this.appPrivateKey; config.alipayPublicKey = this.alipayPublicKey; config.notifyUrl = this.notifyUrl; Factory.setOptions(config); System.out.println("=======支付宝SDK初始化成功======="); }}

八:编写控制器(写完控制器建议直接测试访问看看可不可以访问的到,链接在第九步)

import com.alipay.easysdk.factory.Factory;import com.alipay.easysdk.payment.page.models.AlipayTradePagePayResponse;import com.rookie.sixthbackstage.entity.Alipay;import com.rookie.sixthbackstage.entity.OrderItem;import com.rookie.sixthbackstage.mapper.OrderItemMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;import java.net.URLEncoder;import java.util.HashMap;import java.util.Map;@RestController@RequestMapping("/alipay")public class AliPayController { @Autowired OrderItemMapper orderItemMapper; @GetMapping("/alipay") // &subject=xxx&traceNo=xxx&totalAmount=xxx public String pay(Alipay aliPay) { AlipayTradePagePayResponse response; try { // 发起API调用(以创建当面付收款二维码为例) response = Factory.Payment.Page() .pay(URLEncoder.encode(aliPay.getSubject(), "UTF-8"), aliPay.getTraceNo(), aliPay.getTotalAmount(), "《这里放支付成功的地址!》"); } catch (Exception e) { System.err.println("调用遭遇异常,原因:" + e.getMessage()); throw new RuntimeException(e.getMessage(), e); } return response.getBody(); } @PostMapping("/notify") // 注意这里必须是POST接口 public String payNotify(HttpServletRequest request) throws Exception { if (request.getParameter("trade_status").equals("TRADE_SUCCESS")) { System.out.println("=========支付宝异步回调========"); Map<String, String> params = new HashMap<>(); Map<String, String[]> requestParams = request.getParameterMap(); for (String name : requestParams.keySet()) { params.put(name, request.getParameter(name)); // System.out.println(name + " = " + request.getParameter(name)); } int tradeNo = Integer.parseInt(params.get("out_trade_no")); String gmtPayment = params.get("gmt_payment"); String alipayTradeNo = params.get("trade_no"); double pay_price= Double.parseDouble(params.get("buyer_pay_amount")); // 支付宝验签 if (Factory.Payment.Common().verifyNotify(params)) { // 验签通过 System.out.println("交易名称: " + params.get("subject")); System.out.println("交易状态: " + params.get("trade_status")); System.out.println("支付宝交易凭证号: " + params.get("trade_no")); System.out.println("商户订单号: " + params.get("out_trade_no")); System.out.println("交易金额: " + params.get("total_amount")); System.out.println("买家在支付宝唯一id: " + params.get("buyer_id")); System.out.println("买家付款时间: " + params.get("gmt_payment")); System.out.println("买家付款金额: " + params.get("buyer_pay_amount")); // 支付成功后,修改自己的订单状态,这里的方法是我自己写的,根据自己实际情况来做更改 OrderItem orderItem=new OrderItem(0,tradeNo,0,pay_price,gmtPayment,"","已支付"); orderItemMapper.updateOrderItemById(orderItem); } } return "success"; }}

九:前端测试

//http://localhost:8089/alipay/alipay?subject=asdflas&traceNo=123123&totalAmount=29999//链接,复制到浏览器试试看可不可以打开支付宝的页面 //http://localhost:8089/alipay/alipay/asdflas/123123/29999//传数据,名称,订单号,价格,更多参数请参考官网的文档!//结账按钮绑定的方法 gopay() { var url = localhost + "/alipay/alipay?subject=" + subject + "&traceNo=" + traceNo + "&totalAmount=" + totalAmount; location.href = url; },

十:结果

十一:想要扫码支付的要下载沙箱的支付宝,账号密码的话在沙箱账号里,也是沙箱支付宝的登录账号!

本文链接地址:https://www.jiuchutong.com/zhishi/310951.html 转载请保留说明!

上一篇:为织梦dede:likearticle添加start channelid orderby等参数的方法(织梦作坊的微博)

下一篇:python装饰器如何保留原函数信息

  • 如何在微信里备注电话号码(如何在微信里备注手机号)

    如何在微信里备注电话号码(如何在微信里备注手机号)

  • 淘宝流量和访客有什么区别(淘宝浏览量跟访客有什么区别)

    淘宝流量和访客有什么区别(淘宝浏览量跟访客有什么区别)

  • 快手上传有赞商品信息无法识别(快手有赞商家版)

    快手上传有赞商品信息无法识别(快手有赞商家版)

  • 索尼c310和c200区别(索尼c200和c300音质有区别吗)

    索尼c310和c200区别(索尼c200和c300音质有区别吗)

  • 一个office账号可以用几台电脑(一个office账号可以激活几台电脑)

    一个office账号可以用几台电脑(一个office账号可以激活几台电脑)

  • 隐藏的照片在哪里看(macbookair隐藏的照片在哪)

    隐藏的照片在哪里看(macbookair隐藏的照片在哪)

  • 相机ios什么意思(相机iso和ios)

    相机ios什么意思(相机iso和ios)

  • 钉钉未提交作业不能查看优秀作业(钉钉未提交作业名单有顺序吗)

    钉钉未提交作业不能查看优秀作业(钉钉未提交作业名单有顺序吗)

  • 手机号停机了怎么登录爱奇艺(手机号停机了怎么查号码)

    手机号停机了怎么登录爱奇艺(手机号停机了怎么查号码)

  • 抖音号是不是ID(抖音号是不是只能实名一次)

    抖音号是不是ID(抖音号是不是只能实名一次)

  • 京东2人拼团是什么意思(京东拼团两人是不是其中一个人能中)

    京东2人拼团是什么意思(京东拼团两人是不是其中一个人能中)

  • 宽带下行速率什么意思(宽带下行速率50mbps什么意思)

    宽带下行速率什么意思(宽带下行速率50mbps什么意思)

  • 移动4g卡怎么升5g(移动4g如何升级5 g)

    移动4g卡怎么升5g(移动4g如何升级5 g)

  • 为什么wifi很慢(为什么wifi很慢怎么办)

    为什么wifi很慢(为什么wifi很慢怎么办)

  • 滴滴司机注销了还能重新注册吗(滴滴司机注销了运管局还查吗)

    滴滴司机注销了还能重新注册吗(滴滴司机注销了运管局还查吗)

  • vue怎么编辑快动作(vue设置快捷键)

    vue怎么编辑快动作(vue设置快捷键)

  • 苹果xs max怎么关闭后台(苹果xs max怎么关闭屏幕唤醒)

    苹果xs max怎么关闭后台(苹果xs max怎么关闭屏幕唤醒)

  • 手机绿屏怎么解决(手机绿屏怎么调出来)

    手机绿屏怎么解决(手机绿屏怎么调出来)

  • 直接删除文件的快捷键(直接删除文件的快捷方式)

    直接删除文件的快捷键(直接删除文件的快捷方式)

  • 方磨铁杵的方的意思(方磨铁杵的方的在古文中意思)

    方磨铁杵的方的意思(方磨铁杵的方的在古文中意思)

  • 简述重载和重写的区别(简述重载和重写的区别和联系)

    简述重载和重写的区别(简述重载和重写的区别和联系)

  • 苹果拉黑电话在那里看(iphone拉黑号码在哪)

    苹果拉黑电话在那里看(iphone拉黑号码在哪)

  • 手机不散热会怎么样(手机不散热会影响电池吗)

    手机不散热会怎么样(手机不散热会影响电池吗)

  • cad清理图层命令(cad中清理图层快捷键)

    cad清理图层命令(cad中清理图层快捷键)

  • 若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗)

    若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗)

  • 分享帝国cms网站优化使tags伪静态的实现方法(帝国cms wordpress)

    分享帝国cms网站优化使tags伪静态的实现方法(帝国cms wordpress)

  • 预缴所得税退回
  • 工资计提金额有误怎么调整
  • 小规模纳税人缴纳增值税怎么算
  • 什么发票可以抵扣增值税
  • 法人的垫资在现金流量表中怎么填写
  • 单位之间调动
  • 定期定额的个税起征点
  • 一人有限公司年度审计报告
  • 做账要不要入库单和出库单
  • 公司奖金没有按时发可以要吗
  • 全面解析是什么意思
  • 交汇算清缴所得吗
  • 递延所得税当期所得税费用
  • 收到结算单应该怎么处理
  • 年度账套怎么结转下一年
  • 社保缴费申报表文件
  • 核定征收的个税怎么算
  • 递延收益摊销会计分录
  • 增值税怎么填表
  • 笔记本thinkbook14
  • 圣海伦斯山国家火山纪念区
  • 其它业务收入是什么科目
  • 金融资产包括哪三大类及会计科目
  • 将银行借款存入银行会引起企业资产总额的变化吗
  • 会计准则对企业行为的影响分析论文
  • 销售方运输发票怎么做账?
  • web期末大作业源代码
  • 资产负债表和利润表的利润不一致
  • py转换成exe后打开没用
  • mysql分区语句
  • 股东出资不足需要赔偿吗
  • 金融资产发生的相关费用计入初始入账金额有那些
  • 土地增值税的相关问题
  • 核定征收的收入
  • python 顺序
  • dede插件
  • 成本和费用有着根本的区别
  • 四联收据每一联用途
  • 个体户查账征收个人所得税税率
  • 房地产开发企业增值税税率
  • 经营出租固定资产折旧费计入什么科目
  • 固定资产折旧的计算方法
  • 临时工的劳务费需要申报个税吗?
  • 开发商出售商铺税费
  • 商场扣钱犯法
  • 补缴以前年度所得税及滞纳金账务处理
  • 买车抵扣增值税超销项怎么算
  • 进口向海关缴纳消费税
  • 土地价款抵减销项税
  • 外贸企业面对人民币升值应该采取什么的避险措施
  • 银行的手续费开票怎么开
  • 建筑业发票的相关要求
  • 纳税人延期缴纳税款
  • 消防安装公司属于什么行业
  • 坏账损失的核算方法包括
  • 如何处理记账凭证
  • rsyslog 8.11.0 (v8-stable) 发布
  • freebsd windows
  • window10h2
  • win8双系统怎么切换
  • win7如何清理c盘空间不影响系统
  • Win10 Mobile RS1预览版14267.1004升级过程截图
  • nodejs的require
  • css优化提高性能的方法有哪些
  • editplus怎么配置java
  • perl中qw
  • html头像代码
  • 转义字符对应英文
  • html收藏夹导入
  • 安卓handler使用
  • unity 3d场景2d角色
  • node写自动化脚本
  • 深入理解android内核
  • 适配是什么
  • Javascript Object.extend
  • 基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
  • js类的定义方法
  • 公路客运购票
  • 增值税申报表更正申报期限
  • 登录上海电子税务局单位社保查询不到当月未交的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设