位置: 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装饰器如何保留原函数信息

  • 支付宝好友可以视频语音聊天吗(支付宝好友可以看到我的账单吗)

    支付宝好友可以视频语音聊天吗(支付宝好友可以看到我的账单吗)

  • 华为matex啥时候上市

    华为matex啥时候上市

  • 怎么加微信付款人为好友(怎么加微信付款好友)

    怎么加微信付款人为好友(怎么加微信付款好友)

  • wifi6有什么用(主板wifi6有什么用)

    wifi6有什么用(主板wifi6有什么用)

  • b站视频循环播放怎么设置(b站视频循环播放算播放次数吗)

    b站视频循环播放怎么设置(b站视频循环播放算播放次数吗)

  • 手机卡住了,完全就没有反应,怎么办(我手机卡住了)

    手机卡住了,完全就没有反应,怎么办(我手机卡住了)

  • 苹果11控制中心怎么调出来(苹果11控制中心怎么设置从下面划出来)

    苹果11控制中心怎么调出来(苹果11控制中心怎么设置从下面划出来)

  • 硬盘坏了开机什么状态(硬盘坏了机器开机显示什么画面)

    硬盘坏了开机什么状态(硬盘坏了机器开机显示什么画面)

  • 抖音为啥不能微信登录(抖音为啥不能微信支付啦)

    抖音为啥不能微信登录(抖音为啥不能微信支付啦)

  • 华为mate9pro是什么屏幕(2021华为mate9pro)

    华为mate9pro是什么屏幕(2021华为mate9pro)

  • flash对齐面板快捷键(flash怎么让每一帧画面对齐)

    flash对齐面板快捷键(flash怎么让每一帧画面对齐)

  • 新版ipad2018支持otg吗(ipad2018支持ipados吗)

    新版ipad2018支持otg吗(ipad2018支持ipados吗)

  • 爱奇艺怎么下载缓存视频(爱奇艺怎么下载mp4格式视频)

    爱奇艺怎么下载缓存视频(爱奇艺怎么下载mp4格式视频)

  • 抖音不加好友可以聊天吗(抖音不加好友可以看到访问记录吗)

    抖音不加好友可以聊天吗(抖音不加好友可以看到访问记录吗)

  • 苹果11屏幕刷新率(苹果11屏幕刷新率怎么调到120)

    苹果11屏幕刷新率(苹果11屏幕刷新率怎么调到120)

  • 抖音直播点亮是什么意思(抖音直播点亮是怎么回事)

    抖音直播点亮是什么意思(抖音直播点亮是怎么回事)

  • 小米手机上滑怎么取消(小米手机上滑怎么关闭)

    小米手机上滑怎么取消(小米手机上滑怎么关闭)

  • 小米arserver是什么(小米 arcore)

    小米arserver是什么(小米 arcore)

  • 重置bios会有什么后果(重置bios设置会怎么样)

    重置bios会有什么后果(重置bios设置会怎么样)

  • 2019年中级会计师成绩查询时间及入口_查分网址_合格分数线(2019年中级会计考试真题)

    2019年中级会计师成绩查询时间及入口_查分网址_合格分数线(2019年中级会计考试真题)

  • soul上线提醒怎么关(soul上提醒上线是相互的吗)

    soul上线提醒怎么关(soul上提醒上线是相互的吗)

  • 小米手环4怎么测心率(小米手环4怎么开机)

    小米手环4怎么测心率(小米手环4怎么开机)

  • Win10关闭客户体验改善计划(关闭客户端快捷键)

    Win10关闭客户体验改善计划(关闭客户端快捷键)

  • 教你如何正确选购iPhone6s/6s Plus保护壳(教你如何正确选择轮胎)

    教你如何正确选购iPhone6s/6s Plus保护壳(教你如何正确选择轮胎)

  • 投资性房地产采用成本模式计量
  • 劳务公司为一般纳税人的税率
  • 无偿使用场地涉及的问题
  • 土地摊销全部计入成本吗
  • 财务要做哪些表
  • 人民币报关可以吗
  • 电子发票打小了可以报销吗
  • 子公司利润母公司要交税吗?
  • 个体户个人经营所得税税率表2023
  • 更换电脑后个税信息如何导入
  • 会计凭证保管的含义及要求
  • 接收商业承兑汇票需要到银行办手术吗
  • 应交增值税进项税额转出借贷方向表示什么
  • 应收账款无法收回会计分录
  • 苗木发票抵扣公式
  • 技术转让收入是指当事人履行
  • 购入的苗木种植一段时间后再销售要交增值税吗?
  • 增值税普通发票查询真伪
  • 简易征收红冲报税方式是什么?
  • 园林设计开票
  • 个体工商户税收怎么算
  • 合同开票金额一定等于合同额吗
  • 企业购房房产税土地税补缴
  • 公允价值变动损益转入其他业务成本
  • 暂估入库冲回有差额
  • 出口退税进项税额转出的计算
  • 存货如何处理才能避税
  • 对方用房子抵债会计怎么记账
  • 购买办公用品未取得发票怎么办
  • 增值税普通发票有什么用
  • 资源税可能计入
  • 中小企业结算时间不超60天
  • 升级打装备的手游
  • 手机型号不在鸿蒙系统里
  • 会计科目按经济类型分类
  • win7系统中如何关闭触摸屏声音
  • 包工队人员受伤该由谁负责
  • smarty怎么用
  • 哪些支出可以计入成本科目
  • php类的作用
  • php读取文件内容的方法和函数
  • 代缴社保可以领住房补贴吗
  • 公司租赁个人车辆账务处理
  • 股票收益缴纳个人所得税吗
  • 购进来的样品怎么账务处理
  • 留抵退税税务总局规定的其他情形
  • 客服部门发生的费用
  • 金税盘怎么看税收编码版本号
  • 品种法成本核算的程序有哪几步?
  • asp连接mysql数据库
  • 查看、修改mysql的用户名和密码
  • 递延所得税资产和负债怎么计算
  • 公司租赁房屋房产税
  • 别人借我的对公账户打钱
  • 进项税额增值税专用发票
  • 单利率和复利率公式
  • 进项税和销项税怎么理解
  • 企业开发是什么专业
  • 一条的句子怎么写
  • mysql中count(), group by, order by使用详解
  • mysql数据库简单介绍
  • linux图片编辑软件
  • 进程关不掉怎么解决
  • pssvc.exe - pssvc是什么进程 有什么用
  • nddeagnt.exe - nddeagnt是什么进程 有什么用
  • windows如何禁止访问某ip地址
  • cocos2d-js教程
  • opengl es programming guide
  • jquery移动节点的方法
  • jquery图片轮播无缝连接
  • jquery ul li
  • js domcontentloaded
  • UNITY gameobject代码中setacvtive(false)与面板中直接去掉勾 效果不一样
  • python多进程模块
  • 土地增值额未超过20%
  • 河北农信登录密码错误
  • 除了增值税还要什么税种
  • 甘肃华能能源开发有限公司
  • 电子税务网上申报平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设