package com.github.binarywang.wxpay.service;
import java.io.File;
import java.util.Date;
import java.util.Map;
import com.github.binarywang.wxpay.bean.WxPayApiData;
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponInfoQueryRequest;
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponInfoQueryResult;
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponSendRequest;
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponSendResult;
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponStockQueryRequest;
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponStockQueryResult;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult;
import com.github.binarywang.wxpay.bean.request.*;
import com.github.binarywang.wxpay.bean.result.*;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.exception.WxPayException;
/**
* <pre>
* 微信支付相关接口.
* Created by Binary Wang on 2016/7/28.
* </pre>
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public interface WxPayService {
/**
* 获取微信支付请求url前缀,沙箱环境可能不一样.
*
* @return the pay base url
*/
String getPayBaseUrl();
/**
* 发送post请求,得到响应字节数组.
*
* @param url 请求地址
* @param requestStr 请求信息
* @param useKey 是否使用证书
* @return 返回请求结果字节数组 byte [ ]
* @throws WxPayException the wx pay exception
*/
byte[] postForBytes(String url, String requestStr, boolean useKey) throws WxPayException;
/**
* 发送post请求,得到响应字符串.
*
* @param url 请求地址
* @param requestStr 请求信息
* @param useKey 是否使用证书
* @return 返回请求结果字符串 string
* @throws WxPayException the wx pay exception
*/
String post(String url, String requestStr, boolean useKey) throws WxPayException;
/**
* 获取企业付款服务类.
*
* @return the ent pay service
*/
EntPayService getEntPayService();
/**
* 设置企业付款服务类,允许开发者自定义实现类.
*
* @param entPayService the ent pay service
*/
void setEntPayService(EntPayService entPayService);
/**
* <pre>
* 查询订单.
* 详见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2
* 该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。
* 需要调用查询接口的情况:
* ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
* ◆ 调用支付接口后,返回系统错误或未知交易状态情况;
* ◆ 调用被扫支付API,返回USERPAYING的状态;
* ◆ 调用关单或撤销接口API之前,需确认支付状态;
* 接口地址:https://api.mch.weixin.qq.com/pay/orderquery
* </pre>
*
* @param transactionId 微信订单号
* @param outTradeNo 商户系统内部的订单号,当没提供transactionId时需要传这个。
* @return the wx pay order query result
* @throws WxPayException the wx pay exception
*/
WxPayOrderQueryResult queryOrder(String transactionId, String outTradeNo) throws WxPayException;
/**
* <pre>
* 查询订单(适合于需要自定义子商户号和子商户appid的情形).
* 详见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2
* 该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。
* 需要调用查询接口的情况:
* ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
* ◆ 调用支付接口后,返回系统错误或未知交易状态情况;
* ◆ 调用被扫支付API,返回USERPAYING的状态;
* ◆ 调用关单或撤销接口API之前,需确认支付状态;
* 接口地址:https://api.mch.weixin.qq.com/pay/orderquery
* </pre>
*
* @param request 查询订单请求对象
* @return the wx pay order query result
* @throws WxPayException the wx pay exception
*/
WxPayOrderQueryResult queryOrder(WxPayOrderQueryRequest request) throws WxPayException;
/**
* <pre>
* 关闭订单.
* 应用场景
* 以下情况需要调用关单接口:
* 1. 商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;
* 2. 系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。
* 注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。
* 接口地址:https://api.mch.weixin.qq.com/pay/closeorder
* 是否需要证书: 不需要。
* </pre>
*
* @param outTradeNo 商户系统内部的订单号
* @return the wx pay order close result
* @throws WxPayException the wx pay exception
*/
WxPayOrderCloseResult closeOrder(String outTradeNo) throws WxPayException;
/**
* <pre>
* 关闭订单(适合于需要自定义子商户号和子商户appid的情形).
* 应用场景
* 以下情况需要调用关单接口:
* 1. 商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;
* 2. 系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。
* 注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。
* 接口地址:https://api.mch.weixin.qq.com/pay/closeorder
* 是否需要证书: 不需要。
* </pre>
*
* @param request 关闭订单请求对象
* @return the wx pay order close result
* @throws WxPayException the wx pay exception
*/
WxPayOrderCloseResult closeOrder(WxPayOrderCloseRequest request) throws WxPayException;
/**
* 调用统一下单接口,并组装生成支付所需参数对象.
*
* @param <T> 请使用{@link com.github.binarywang.wxpay.bean.order}包下的类
* @param request 统一下单请求参数
* @return 返回 {@link com.github.binarywang.wxpay.bean.order}包下的类对象
* @throws WxPayException the wx pay exception
*/
<T> T createOrder(WxPayUnifiedOrderRequest request) throws WxPayException;
/**
* 统一下单(详见https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1)
* 在发起微信支付前,需要调用统一下单接口,获取"预支付交易会话标识"
* 接口地址:https://api.mch.weixin.qq.com/pay/unifiedorder
*
* @param request 请求对象,注意一些参数如appid、mchid等不用设置,方法内会自动从配置对象中获取到(前提是对应配置中已经设置)
* @return the wx pay unified order result
* @throws WxPayException the wx pay exception
*/
WxPayUnifiedOrderResult unifiedOrder(WxPayUnifiedOrderRequest request) throws WxPayException;
/**
* 该接口调用“统一下单”接口,并拼装发起支付请求需要的参数.
* 详见https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
*
* @param request 请求对象,注意一些参数如appid、mchid等不用设置,方法内会自动从配置对象中获取到(前提是对应配置中已经设置)
* @return the pay info
* @throws WxPayException the wx pay exception
* @deprecated 建议使用 {@link com.github.binarywang.wxpay.service.WxPayService#createOrder(WxPayUnifiedOrderRequest)}
*/
@Deprecated
Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxPayException;
/**
* 获取配置.
*
* @return the config
*/
WxPayConfig getConfig();
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
WxJava是一个基于Java语言的微信开发SDK设计源码,包含922个文件,其中850个为Java源代码文件,涉及微信支付、开放平台、小程序、企业微信/企业号和公众号等多个领域的后端开发支持。此外,还包含26个XML配置文件、9个Markdown文件、7个图片文件、3个YAML文件、3个Shell脚本文件、2个Git忽略文件、2个属性文件以及2个工厂文件等。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java的微信开发SDK设计源码——WxJava (919个子文件)
mm.amr 38KB
mvnw.cmd 5KB
.editorconfig 230B
spring.factories 134B
spring.factories 124B
.gitignore 682B
.gitignore 6B
WxPayService.java 32KB
WxCpErrorMsgEnum.java 32KB
BaseWxPayServiceImpl.java 31KB
WxOpenComponentServiceImpl.java 20KB
BaseWxMpServiceImpl.java 20KB
BaseWxPayServiceImplTest.java 20KB
WxMpXmlMessage.java 19KB
WxMpErrorMsgEnum.java 18KB
WxMpService.java 18KB
WxPayBillResult.java 15KB
WxPayErrorCode.java 15KB
BaseWxCpServiceImpl.java 14KB
WxOpenInMemoryConfigStorage.java 14KB
WxMpMaterialService.java 14KB
WxMpXmlMessageTest.java 13KB
WxMpMaterialServiceImplTest.java 13KB
WxMpMemberCardServiceImpl.java 13KB
WxCpXmlMessage.java 13KB
WxMpCardServiceImpl.java 12KB
WxMaServiceImpl.java 12KB
WxOpenMaServiceImpl.java 12KB
WxMaErrorMsgEnum.java 11KB
WxMpDataCubeService.java 11KB
WxConsts.java 11KB
WxMpKefuService.java 11KB
DefaultApacheHttpClientBuilder.java 11KB
WxPayUnifiedOrderRequest.java 11KB
WxMpMessageRouterTest.java 11KB
WxCpService.java 10KB
WxOpenComponentService.java 10KB
ApacheHttpDnsClientBuilder.java 10KB
WxCpMessageRouterTest.java 10KB
WxOpenMaService.java 10KB
WxCpUserGsonAdapter.java 9KB
WxPayRefundQueryResult.java 9KB
WxCryptUtil.java 9KB
WxPayOrderNotifyResult.java 9KB
WxMaQrcodeService.java 9KB
StandardSession.java 9KB
WxCpXmlMessageTest.java 9KB
WxMpMessageRouter.java 9KB
WxCpMessage.java 9KB
WxOpenFastMaServiceImpl.java 8KB
WxCpJedisConfigStorage.java 8KB
StringManager.java 8KB
WxMpMessageRouterRule.java 8KB
WxCpMessageRouter.java 8KB
StandardSessionManager.java 8KB
WxMpKefuServiceImplTest.java 8KB
WxPayRefundNotifyResult.java 8KB
WxCpMessageRouterRule.java 8KB
BaseWxPayResult.java 8KB
WxMpCurrentAutoReplyInfoTest.java 8KB
WxPayOrderQueryResult.java 8KB
WxMpMenuServiceImplTest.java 8KB
WxMpCardServiceImplTest.java 8KB
WxMpMassMessageServiceImplTest.java 8KB
WxMaMessageRouterRule.java 7KB
WxMpMemberCardServiceImplTest.java 7KB
WxMpMaterialServiceImpl.java 7KB
WxMpCardService.java 7KB
WxMpDataCubeServiceImplTest.java 7KB
WxMaAnalysisService.java 7KB
EntPayServiceImpl.java 7KB
BaseWxPayRequest.java 7KB
WxCpUserServiceImpl.java 7KB
WxOpenInRedisConfigStorage.java 7KB
WxMpKefuServiceImpl.java 7KB
WxPayServiceApacheHttpImpl.java 6KB
WxMpKefuMessageTest.java 6KB
WxMaService.java 6KB
WxCpMessageTest.java 6KB
SignUtils.java 6KB
WxMaAnalysisServiceImplTest.java 6KB
WxPayRedpackQueryResult.java 6KB
WxMaCodeService.java 6KB
WxMaMessageRouter.java 6KB
WxMaInMemoryConfig.java 6KB
WxCpInMemoryConfigStorage.java 6KB
WxMpStoreService.java 6KB
WxCpChatServiceImplTest.java 6KB
WxOpenFastMaService.java 6KB
WxMpQrcodeServiceImpl.java 6KB
WxPayConstants.java 6KB
WxMaDemoServer.java 6KB
WxMaCodeServiceImpl.java 6KB
WxPayMicropayRequest.java 6KB
WxPayRefundRequest.java 6KB
WxMpStoreBaseInfo.java 6KB
WxCpOAServiceImpl.java 6KB
WxCpUserExternalContactInfoTest.java 6KB
WxMpDataCubeServiceImpl.java 6KB
WxCpUserService.java 6KB
共 919 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
lsx202406
- 粉丝: 2820
- 资源: 5666
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于阿里Dubbo框架的服务切换工具资料齐全+详细文档.zip
- 基于大规模生产实践的,适合公司内部二开迭代dubbo的模板资料齐全+详细文档.zip
- 基于大众点评CAT(v1.3.6)监控的扩展,主要是跨服务的消息树(dubbo、http方式)、Cache以及DB监控等资料齐全+详细文档.zip
- 基于将dubbo协议转http的网关资料齐全+详细文档.zip
- 基于分布式微服务架构(在线电影),技术架构有SpringBoot、SpringCoud、dubbo、mybatis-plus、Druid,采用前后端分离方式进行
- 基于微服务架构的班车预约系统,第一个版本:springboot+mybatis+dubbo+mysql+redis等。第二个版本:spring-cloud重构,
- 滚动轴承故障诊断MATLAB程序:快速谱峭度、谱峭度+包络谱分析 滚动轴承故障诊断是机械工程领域的一个重要研究方向 滚动轴承是一种常见的机械元件,用于支撑和转动机械装置中的轴 然而,由于长时间使用或其
- matlab GUI界面设计
- VSC下垂控制策略仿真模型,支持MATLAB2014a及以上版本
- wechat4.0多开工具
- 课程大作业2:视觉功能库封装 作业内容: 利用预训练模型,基于1ibsophon(tpu-runtime)实现一个视觉功能(目标检测)的库 作业要求: 1)提交 patch 到tpu-mli 工程
- 学习笔记整理成语音.docx
- 毕设和企业适用springboot智能语音识别平台类及物流追踪系统源码+论文+视频.zip
- PPT_20241224_090531.pptx
- ai提示规则.txt啊啊啊
- Visual Studio Code的测试功能详细介绍.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功