Rest 方式测试支付下单和支付回调|学习笔记

简介: 快速学习 Rest 方式测试支付下单和支付回调

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)Rest 方式测试支付下单和支付回调】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12444


Rest 方式测试支付下单和支付回调


测试 pay-web

在 test 包下创建单元测试类

Name:com.itheima.test.PayWebTest

image.png

注入参数,到dubbo中进行取值

@Runwith(SpringRunner.class)

@springBootTest(classes = PaywebApplication.class)

public class PaywlebTest {

@Autowired

private RestTemplate restTemplate;

@Value("${shop.pay.baseURI}")

private string baseURI;

@value("${shop.pay.createPayment}")

private String createPaymentPath;

@value("${shop.pay.callBackPaymentPath}")

private string callBackPaymentPath;

Server port 不能读到9090,读到的是内部-1的值,自己指定 pay.port=9090

image.png

继续指定,createPaymentPath 对应 shop.pay.createPayment,callBackPaymentPath 对应shop.pay.callBackPaymentPath,指定后编写两个测试方法,测试方法上加入Test注解,基本测试流程与 PayService一致

@Test

public void createPayment(){

long orderId = 352537369385242624L;

TradePay tradePay = newTradePay();

tradePay.setOrderId(orderId);

tradePay. setPayAmount(new BigDecimal( val: 880));

Result result = restTemplate.postForEntity( url: baseURI+

createPaymentPath,tradePay,Result.class).getBody();

System.out.println(result);

}

通过 restTemplate 测试,发起 http 的请求测试

测试之前确保 orderId 与之前 orderId 是一致的

刷新,更改为原先状态

image.png

测试完成后在 Payment 生成一条数据

image.png

检查服务是否启动,将未启动的 pay-service 启动

总共启动7个微服务,2个web端,5个服务端

image.png

打一个断点

image.png

发起请求,结果正确

刷新,支付订单已创建

image.png

进行回调测试

发起post请求

@Test

public void callBackPayment(){

long payId = 352542415984402432L;

long orderId = 352537369385242624L;

TradePay tradePay = new TradePay();

tradePay.setPayId(payId);

tradePay.setOrderId(orderId);

tradePay.setIsPaid(ShopCode.SHOP_ORDER_PAY_STATUS_IS_PAY.getCode());restTemplate.postForEntity( url:baseURI+callBackPaymentPath,tradePay ,Result.class).getBody();

System.out.println(result);

}

加一个断点

image.png

执行,请求成功

验证执行结果

数据库中 is_paid 动态为2

image.png

订单状态改变

image.png

订单状态的修改通过发送消息的方式进行处理

image.png

相关文章
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
1月前
|
API 开发工具
支付系统23-------使用沙箱账号进行支付测试,统一收单并支付页面接口的调用
支付系统23-------使用沙箱账号进行支付测试,统一收单并支付页面接口的调用
|
3月前
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
|
3月前
|
网络协议 Java 应用服务中间件
如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试
如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试
|
3月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
90 0
|
3月前
|
缓存 Java 关系型数据库
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
90 0
java202303java学习笔记第四十六天-请求-postman接口测试
java202303java学习笔记第四十六天-请求-postman接口测试
67 0
|
JavaScript Java 数据安全/隐私保护
java对接支付宝在线支付 沙箱环境测试
首先去https://open.alipay.com/platform/home.htm注册 点击进入我的开放平台
|
测试技术
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
67 0
|
关系型数据库 OLAP API
测试 API|学习笔记
快速学习测试 API
129 0
测试 API|学习笔记