# common-payment **Repository Path**: misty-rain-l/common-payment ## Basic Information - **Project Name**: common-payment - **Description**: spirng-boot支付方式聚合 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-03 - **Last Updated**: 2025-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 ```common-payment```是专为```SpringBoot```项目定制的支付模块,采用工厂模式来集成不同的支付方式。可供参考使用 # 集成支付 - 微信小程序支付 - 支付宝支付 # 快速使用 将现有的订单实体实现```BaseOrder```接口并实现其中的```getBaseOrderNo```方法和```getBasePrice```方法 ```java import org.common.payment.BaseOrder; import java.io.Serializable; import java.math.BigDecimal; /** * 订单 */ public class SaleOrder implements Serializable, BaseOrder { private static final long serialVersionUID = 1L; private String orderNo; private BigDecimal price; @Override public String getBaseOrderNo() { return this.orderNo; } @Override public BigDecimal getBasePrice() { return this.price; } } ``` 支付 ```java import org.common.payment.factory.PayFactory; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; /** * 微信小程序支付 */ @RestController @RequestMapping("/wechatPay") public class GoodsController { /** * 订单支付 * @param saleOrder 销售订单 * @return 支付结果 */ @PostMapping("/payOrder") public AjaxResult payOrder(@RequestBody SaleOrder saleOrder) { return PayFactory.getPaymentService(PayTypeEnum.WECHAT_MINI_PAY).payOrder(saleOrder,Map.class); } /** * 订单退款 * @param saleOrder 销售订单 * @return 退单结果 */ @PostMapping("/refunds") public AjaxResult refunds(@RequestBody SaleOrder saleOrder) { return PayFactory.getPaymentService(PayTypeEnum.WECHAT_MINI_PAY).refunds(saleOrder, saleOrder.getBasePrice(), saleOrder.getBasePrice(),Map.class); } /** * 支付回调 * @param maps 支付回调结果 * @return */ @PostMapping("/payCallback") public AjaxResult payCallback(@RequestBody Map maps) { return PayFactory.getPaymentService(PayTypeEnum.WECHAT_MINI_PAY).payCallback(maps,Map.class); } /** * 退款回调 * @param maps 回调结果 * @return 回调结果 */ @PostMapping("/refundsCallback") public AjaxResult refundsCallback(@RequestBody Map maps) { return PayFactory.getPaymentService(PayTypeEnum.WECHAT_MINI_PAY).refundsCallback(maps,Map.class); } } ```