74 lines
2.1 KiB
Java
74 lines
2.1 KiB
Java
package com.cdzy.payment.service;
|
||
|
||
|
||
import com.alibaba.fastjson2.JSONObject;
|
||
import com.cdzy.payment.model.dto.AmountDto;
|
||
import com.cdzy.payment.model.dto.AmountRefundDto;
|
||
import com.cdzy.payment.model.dto.DetailDto;
|
||
import com.wechat.pay.java.service.payments.model.Transaction;
|
||
import com.wechat.pay.java.service.refund.model.Refund;
|
||
|
||
/**
|
||
* 微信支付服务类(JSAPI支付),小程序
|
||
*
|
||
* @author dingchao
|
||
* @date 2025/4/25
|
||
* @modified by:
|
||
*/
|
||
public interface WxPayService {
|
||
/**
|
||
* 关闭订单
|
||
*
|
||
* @param outTradeNo 商户(骑行)订单号
|
||
* @return
|
||
*/
|
||
boolean closeOrder(String outTradeNo);
|
||
/**
|
||
* JSAPI支付下单
|
||
*
|
||
* @param outTradeNo 商户(骑行)订单号
|
||
* @param description 商品描述
|
||
* @param goodsTag 商品标记
|
||
* @param openId 用户标识
|
||
* @param amount 金额
|
||
* @param detail 商品详情
|
||
* @param clientIp 客户端IP
|
||
* @return 下单成功返回true,否则返回false
|
||
*/
|
||
JSONObject prepay(String outTradeNo, String description, String goodsTag, String openId, AmountDto amount, DetailDto detail, String clientIp);
|
||
/**
|
||
* 通过交易订单号查询支付订单
|
||
*
|
||
* @param transactionId 微信支付订单号
|
||
* @return 支付订单信息
|
||
*/
|
||
Transaction queryOrderById(String transactionId);
|
||
/**
|
||
* 通过商户(骑行)订单号查询支付订单
|
||
*
|
||
* @param outTradeNo 商户(骑行)订单号
|
||
* @return 支付订单信息
|
||
*/
|
||
Transaction queryOrderByOutTradeNo(String outTradeNo);
|
||
/**
|
||
* 退款申请
|
||
*
|
||
* @param transactionId 微信支付订单号
|
||
* @param outTradeNo 商户(骑行)订单号
|
||
* @param reason 退款原因
|
||
* @param amount 退款金额
|
||
* @return 退款信息id
|
||
*/
|
||
String refund(String transactionId, String outTradeNo, String reason, AmountRefundDto amount);
|
||
|
||
|
||
/**
|
||
* 通过商户退款单号查询退款信息
|
||
*
|
||
* @param outRefundNo 商户退款订单号
|
||
* @return 退款信息
|
||
*/
|
||
Refund queryRefundByOutNo(String outRefundNo);
|
||
|
||
}
|