com.github.binarywang.wxpay.service.EcommerceService Maven / Gradle / Ivy
The newest version!
package com.github.binarywang.wxpay.service;
import com.github.binarywang.wxpay.bean.ecommerce.*;
import com.github.binarywang.wxpay.bean.ecommerce.enums.FundBillTypeEnum;
import com.github.binarywang.wxpay.bean.ecommerce.enums.SpAccountTypeEnum;
import com.github.binarywang.wxpay.bean.ecommerce.enums.TradeTypeEnum;
import com.github.binarywang.wxpay.exception.WxPayException;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
/**
*
* 电商收付通相关服务类.
* 接口规则:https://wechatpay-api.gitbook.io/wechatpay-api-v3
*
*
* @author cloudX
* created on 2020 /08/17
*/
public interface EcommerceService {
/**
*
* 二级商户进件API
* 接口地址: https://api.mch.weixin.qq.com/v3/ecommerce/applyments/
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_8.shtml
*
*
*
* @param request 请求对象
* @return . applyments result
* @throws WxPayException the wx pay exception
*/
ApplymentsResult createApply(ApplymentsRequest request) throws WxPayException;
/**
*
* 查询申请状态API
* 请求URL: https://api.mch.weixin.qq.com/v3/ecommerce/applyments/{applyment_id}
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_2.shtml
*
*
* @param applymentId 申请单ID
* @return . applyments status result
* @throws WxPayException the wx pay exception
*/
ApplymentsStatusResult queryApplyStatusByApplymentId(String applymentId) throws WxPayException;
/**
*
* 查询申请状态API
* 请求URL: https://api.mch.weixin.qq.com/v3/ecommerce/applyments/out-request-no/{out_request_no}
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_2.shtml
*
*
* @param outRequestNo 业务申请编号
* @return . applyments status result
* @throws WxPayException the wx pay exception
*/
ApplymentsStatusResult queryApplyStatusByOutRequestNo(String outRequestNo) throws WxPayException;
/**
*
* 合单支付API(APP支付、JSAPI支付、H5支付、NATIVE支付).
* 请求URL:https://api.mch.weixin.qq.com/v3/combine-transactions/jsapi
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e-combine.shtml
*
*
* @param tradeType 支付方式
* @param request 请求对象
* @return 微信合单支付返回 transactions result
* @throws WxPayException the wx pay exception
*/
TransactionsResult combine(TradeTypeEnum tradeType, CombineTransactionsRequest request) throws WxPayException;
/**
*
* 合单支付API(APP支付、JSAPI支付、H5支付、NATIVE支付).
* 请求URL:https://api.mch.weixin.qq.com/v3/combine-transactions/jsapi
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e-combine.shtml
*
*
* @param the type parameter
* @param tradeType 支付方式
* @param request 请求对象
* @return 调起支付需要的参数 t
* @throws WxPayException the wx pay exception
*/
T combineTransactions(TradeTypeEnum tradeType, CombineTransactionsRequest request) throws WxPayException;
/**
*
* 合单支付通知回调数据处理
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e-combine.shtml
*
*
* @param notifyData 通知数据
* @param header 通知头部数据,不传则表示不校验头
* @return 解密后通知数据 combine transactions notify result
* @throws WxPayException the wx pay exception
*/
CombineTransactionsNotifyResult parseCombineNotifyResult(String notifyData, SignatureHeader header) throws WxPayException;
/**
*
* 合单查询订单API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_3.shtml
*
*
* @param outTradeNo 合单商户订单号
* @return 支付订单信息
* @throws WxPayException the wx pay exception
*/
CombineTransactionsResult queryCombineTransactions(String outTradeNo) throws WxPayException;
/**
*
* 服务商模式普通支付API(APP支付、JSAPI支付、H5支付、NATIVE支付).
* 请求URL:https://api.mch.weixin.qq.com/v3/pay/partner/transactions/jsapi
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/transactions_sl.shtml
*
*
* @param tradeType 支付方式
* @param request 请求对象
* @return 调起支付需要的参数 transactions result
* @throws WxPayException the wx pay exception
*/
TransactionsResult partner(TradeTypeEnum tradeType, PartnerTransactionsRequest request) throws WxPayException;
/**
*
* 服务商模式普通支付API(APP支付、JSAPI支付、H5支付、NATIVE支付).
* 请求URL:https://api.mch.weixin.qq.com/v3/pay/partner/transactions/jsapi
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/transactions_sl.shtml
*
*
* @param the type parameter
* @param tradeType 支付方式
* @param request 请求对象
* @return 调起支付需要的参数 t
* @throws WxPayException the wx pay exception
*/
T partnerTransactions(TradeTypeEnum tradeType, PartnerTransactionsRequest request) throws WxPayException;
/**
*
* 普通支付通知回调数据处理
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e_transactions.shtml
*
*
* @param notifyData 通知数据
* @param header 通知头部数据,不传则表示不校验头
* @return 解密后通知数据 partner transactions notify result
* @throws WxPayException the wx pay exception
*/
PartnerTransactionsNotifyResult parsePartnerNotifyResult(String notifyData, SignatureHeader header) throws WxPayException;
/**
*
* 普通查询订单API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/e_transactions/chapter3_5.shtml
*
*
* @param request 商户订单信息
* @return 支付订单信息
* @throws WxPayException the wx pay exception
*/
PartnerTransactionsResult queryPartnerTransactions(PartnerTransactionsQueryRequest request) throws WxPayException;
/**
*
* 关闭普通订单API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/e_transactions/chapter3_6.shtml
*
*
* @param request 关闭普通订单请求
* @throws WxPayException the wx pay exception
* @return
*/
String closePartnerTransactions(PartnerTransactionsCloseRequest request) throws WxPayException;
/**
*
* 服务商账户实时余额
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/amount.shtml
*
*
* @param accountType 服务商账户类型
* @return 返回数据 fund balance result
* @throws WxPayException the wx pay exception
*/
FundBalanceResult spNowBalance(SpAccountTypeEnum accountType) throws WxPayException;
/**
*
* 服务商账户日终余额
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/amount.shtml
*
*
* @param accountType 服务商账户类型
* @param date 查询日期 2020-09-11
* @return 返回数据 fund balance result
* @throws WxPayException the wx pay exception
*/
FundBalanceResult spDayEndBalance(SpAccountTypeEnum accountType, String date) throws WxPayException;
/**
*
* 二级商户号账户实时余额
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/amount.shtml
*
*
* @param subMchid 二级商户号
* @return 返回数据 fund balance result
* @throws WxPayException the wx pay exception
*/
FundBalanceResult subNowBalance(String subMchid) throws WxPayException;
/**
*
* 二级商户号账户实时余额
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter4_3_11.shtml
*
*
* @param subMchid 二级商户号
* @param accountType 账户类型
* @return 返回数据 fund balance result
* @throws WxPayException the wx pay exception
*/
FundBalanceResult subNowBalance(String subMchid, SpAccountTypeEnum accountType) throws WxPayException;
/**
*
* 二级商户号账户日终余额
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/amount.shtml
*
*
* @param subMchid 二级商户号
* @param date 查询日期 2020-09-11
* @return 返回数据 fund balance result
* @throws WxPayException the wx pay exception
*/
FundBalanceResult subDayEndBalance(String subMchid, String date) throws WxPayException;
/**
*
* 请求分账API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_1.shtml
*
*
* @param request 分账请求
* @return 返回数据 profit sharing result
* @throws WxPayException the wx pay exception
*/
ProfitSharingResult profitSharing(ProfitSharingRequest request) throws WxPayException;
/**
*
* 查询分账结果API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_2.shtml
*
*
* @param request 查询分账请求
* @return 返回数据 profit sharing result
* @throws WxPayException the wx pay exception
*/
ProfitSharingResult queryProfitSharing(ProfitSharingQueryRequest request) throws WxPayException;
/**
*
* 查询订单剩余待分金额API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_4_9.shtml
*
*
* @param request 查询订单剩余待分金额请求
* @return 返回数据 profit sharing UnSplitAmount result
* @throws WxPayException the wx pay exception
*/
ProfitSharingOrdersUnSplitAmountResult queryProfitSharingOrdersUnsplitAmount(ProfitSharingOrdersUnSplitAmountRequest request) throws WxPayException;
/**
*
* 添加分账接收方API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_7.shtml
*
*
* @param request 添加分账接收方
* @return 返回数据 profit sharing result
* @throws WxPayException the wx pay exception
*/
ProfitSharingReceiverResult addReceivers(ProfitSharingReceiverRequest request) throws WxPayException;
/**
*
* 删除分账接收方API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_8.shtml
*
*
* @param request 删除分账接收方
* @return 返回数据 profit sharing result
* @throws WxPayException the wx pay exception
*/
ProfitSharingReceiverResult deleteReceivers(ProfitSharingReceiverRequest request) throws WxPayException;
/**
*
* 请求分账回退API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_3.shtml
*
*
* @param request 分账回退请求
* @return 返回数据 return orders result
* @throws WxPayException the wx pay exception
*/
ReturnOrdersResult returnOrders(ReturnOrdersRequest request) throws WxPayException;
/**
*
* 查询分账回退API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_3.shtml
*
*
* @param request 查询分账回退请求
* @return 返回数据 return orders result
* @throws WxPayException the wx pay exception
*/
ReturnOrdersResult queryReturnOrders(ReturnOrdersQueryRequest request) throws WxPayException;
/**
*
* 完结分账API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_5.shtml
*
*
* @param request 完结分账请求
* @return 返回数据 return orders result
* @throws WxPayException the wx pay exception
*/
ProfitSharingResult finishOrder(FinishOrderRequest request) throws WxPayException;
/**
*
* 退款申请API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/refunds/chapter3_1.shtml
*
*
* @param request 退款请求
* @return 返回数据 return refunds result
* @throws WxPayException the wx pay exception
*/
RefundsResult refunds(RefundsRequest request) throws WxPayException;
/**
*
* 查询退款API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/refunds/chapter3_2.shtml
*
*
* @param subMchid 二级商户号
* @param refundId 微信退款单号
* @return 返回数据 return refunds result
* @throws WxPayException the wx pay exception
*/
RefundQueryResult queryRefundByRefundId(String subMchid, String refundId) throws WxPayException;
/**
*
* 垫付退款回补API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_4.shtml
*
*
* @param subMchid 二级商户号
* @param refundId 微信退款单号
* @return 返回数据 return refunds result
* @throws WxPayException the wx pay exception
*/
ReturnAdvanceResult refundsReturnAdvance(String subMchid, String refundId) throws WxPayException;
/**
*
* 查询垫付回补结果API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_6_5.shtml
*
*
* @param subMchid 二级商户号
* @param refundId 微信退款单号
* @return 返回数据 return refunds result
* @throws WxPayException the wx pay exception
*/
ReturnAdvanceResult queryRefundsReturnAdvance(String subMchid, String refundId) throws WxPayException;
/**
*
* 查询退款API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/refunds/chapter3_2.shtml
*
*
* @param subMchid 二级商户号
* @param outRefundNo 商户退款单号
* @return 返回数据 return refunds result
* @throws WxPayException the wx pay exception
*/
RefundQueryResult queryRefundByOutRefundNo(String subMchid, String outRefundNo) throws WxPayException;
/**
*
* 退款通知回调数据处理
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/refunds/chapter3_3.shtml
*
*
* @param notifyData 通知数据
* @param header 通知头部数据,不传则表示不校验头
* @return 解密后通知数据 partner refund notify result
* @throws WxPayException the wx pay exception
*/
RefundNotifyResult parseRefundNotifyResult(String notifyData, SignatureHeader header) throws WxPayException;
/**
*
* 二级商户账户余额提现API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/fund/chapter3_2.shtml
*
*
* @param request 提现请求
* @return 返回数据 return withdraw result
* @throws WxPayException the wx pay exception
*/
SubWithdrawResult subWithdraw(SubWithdrawRequest request) throws WxPayException;
/**
*
* 电商平台提现API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/fund/chapter3_5.shtml
*
*
* @param request 提现请求
* @return 返回数据 return withdraw result
* @throws WxPayException the wx pay exception
*/
SpWithdrawResult spWithdraw(SpWithdrawRequest request) throws WxPayException;
/**
*
* 二级商户查询提现状态API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/fund/chapter3_3.shtml
*
*
* @param subMchid 二级商户号
* @param outRequestNo 商户提现单号
* @return 返回数据 return sub withdraw status result
* @throws WxPayException the wx pay exception
*/
SubWithdrawStatusResult querySubWithdrawByOutRequestNo(String subMchid, String outRequestNo) throws WxPayException;
/**
*
* 电商平台查询提现状态API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/fund/chapter3_6.shtml
*
*
* @param outRequestNo 商户提现单号
* @return 返回数据 return sp withdraw status result
* @throws WxPayException the wx pay exception
*/
SpWithdrawStatusResult querySpWithdrawByOutRequestNo(String outRequestNo) throws WxPayException;
/**
*
* 修改结算账号API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_4.shtml
*
*
* @param subMchid 二级商户号。
* @param request 结算账号
* @throws WxPayException the wx pay exception
*/
void modifySettlement(String subMchid, SettlementRequest request) throws WxPayException;
/**
*
* 查询结算账户API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_5.shtml
*
*
* @param subMchid 二级商户号。
* @return 返回数据 return settlement result
* @throws WxPayException the wx pay exception
*/
SettlementResult querySettlement(String subMchid) throws WxPayException;
/**
*
* 请求账单API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/bill.shtml
*
*
* @param request 请求信息。
* @return 返回数据 return trade bill result
* @throws WxPayException the wx pay exception
*/
TradeBillResult applyBill(TradeBillRequest request) throws WxPayException;
/**
*
* 申请资金账单API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/bill/chapter3_2.shtml
*
*
* @param billType 账单类型。
* @param request 请求信息。
* @return 返回数据 return fund bill result
* @throws WxPayException the wx pay exception
*/
FundBillResult applyFundBill(FundBillTypeEnum billType, FundBillRequest request) throws WxPayException;
/**
*
* 下载账单API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/bill.shtml
*
*
* @param url 微信返回的账单地址。
* @return 返回数据 return inputStream
* @throws WxPayException the wx pay exception
*/
InputStream downloadBill(String url) throws WxPayException;
/**
*
* 请求补差API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_1.shtml
*
*
* @param subsidiesCreateRequest 请求补差。
* @return 返回数据 return SubsidiesCreateResult
* @throws WxPayException the wx pay exception
*/
SubsidiesCreateResult subsidiesCreate(SubsidiesCreateRequest subsidiesCreateRequest) throws WxPayException;
/**
*
* 请求补差回退API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_2.shtml
*
*
* @param subsidiesReturnRequest 请求补差。
* @return 返回数据 return SubsidiesReturnResult
* @throws WxPayException the wx pay exception
*/
SubsidiesReturnResult subsidiesReturn(SubsidiesReturnRequest subsidiesReturnRequest) throws WxPayException;
/**
*
* 取消补差API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_5_3.shtml
*
*
* @param subsidiesCancelRequest 请求补差。
* @return 返回数据 return SubsidiesCancelResult
* @throws WxPayException the wx pay exception
*/
SubsidiesCancelResult subsidiesCancel(SubsidiesCancelRequest subsidiesCancelRequest) throws WxPayException;
/**
*
* 提交注销申请单
* 文档地址: https://pay.weixin.qq.com/docs/partner/apis/ecommerce-cancel/cancel-applications/create-cancel-application.html
*
*
* @param accountCancelApplicationsRequest 提交注销申请单
* @return 返回数据 return AccountCancelApplicationsResult
* @throws WxPayException the wx pay exception
*/
AccountCancelApplicationsResult createdAccountCancelApplication(AccountCancelApplicationsRequest accountCancelApplicationsRequest) throws WxPayException;
/**
*
* 查询注销单状态
* 文档地址: https://pay.weixin.qq.com/docs/partner/apis/ecommerce-cancel/cancel-applications/get-cancel-application.html
*
*
* @param outApplyNo 注销申请单号
* @return 返回数据 return AccountCancelApplicationsResult
* @throws WxPayException the wx pay exception
*/
AccountCancelApplicationsResult getAccountCancelApplication(String outApplyNo) throws WxPayException;
/**
*
* 注销单资料图片上传
* 文档地址: https://pay.weixin.qq.com/docs/partner/apis/ecommerce-cancel/media/upload-media.html
*
*
* @param imageFile 图片
* @return 返回数据 return AccountCancelApplicationsResult
* @throws WxPayException the wx pay exception
*/
AccountCancelApplicationsMediaResult uploadMediaAccountCancelApplication(File imageFile) throws WxPayException, IOException;;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy