EcommerceService.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.github.binarywang.wxpay.service;
  2. import com.github.binarywang.wxpay.bean.ecommerce.*;
  3. import com.github.binarywang.wxpay.bean.ecommerce.enums.TradeTypeEnum;
  4. import com.github.binarywang.wxpay.exception.WxPayException;
  5. /**
  6. * <pre>
  7. * 电商收付通相关服务类.
  8. * 接口规则:https://wechatpay-api.gitbook.io/wechatpay-api-v3
  9. * </pre>
  10. *
  11. * @author cloudX
  12. * @date 2020/08/17
  13. */
  14. public interface EcommerceService {
  15. /**
  16. * <pre>
  17. * 二级商户进件API
  18. * 接口地址: https://api.mch.weixin.qq.com/v3/ecommerce/applyments/
  19. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_1.shtml
  20. *
  21. * </pre>
  22. *
  23. * @param request 请求对象
  24. * @return . applyments result
  25. * @throws WxPayException the wx pay exception
  26. */
  27. ApplymentsResult createApply(ApplymentsRequest request) throws WxPayException;
  28. /**
  29. * <pre>
  30. * 查询申请状态API
  31. * 请求URL: https://api.mch.weixin.qq.com/v3/ecommerce/applyments/{applyment_id}
  32. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_2.shtml
  33. * </pre>
  34. *
  35. * @param applymentId 申请单ID
  36. * @return . applyments status result
  37. * @throws WxPayException the wx pay exception
  38. */
  39. ApplymentsStatusResult queryApplyStatusByApplymentId(String applymentId) throws WxPayException;
  40. /**
  41. * <pre>
  42. * 查询申请状态API
  43. * 请求URL: https://api.mch.weixin.qq.com/v3/ecommerce/applyments/out-request-no/{out_request_no}
  44. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_2.shtml
  45. * </pre>
  46. *
  47. * @param outRequestNo 业务申请编号
  48. * @return . applyments status result
  49. * @throws WxPayException the wx pay exception
  50. */
  51. ApplymentsStatusResult queryApplyStatusByOutRequestNo(String outRequestNo) throws WxPayException;
  52. /**
  53. * <pre>
  54. * 合单支付API(APP支付、JSAPI支付、H5支付、NATIVE支付).
  55. * 请求URL:https://api.mch.weixin.qq.com/v3/combine-transactions/jsapi
  56. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e-combine.shtml
  57. * </pre>
  58. *
  59. * @param tradeType 支付方式
  60. * @param request 请求对象
  61. * @return 调起支付需要的参数
  62. */
  63. <T> T combineTransactions(TradeTypeEnum tradeType, CombineTransactionsRequest request) throws WxPayException;
  64. /**
  65. * <pre>
  66. * 合单支付通知回调数据处理
  67. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e-combine.shtml
  68. * </pre>
  69. *
  70. * @param notifyData 通知数据
  71. * @param header 通知头部数据,不传则表示不校验头
  72. * @return 解密后通知数据
  73. */
  74. CombineTransactionsNotifyResult parseCombineNotifyResult(String notifyData, SignatureHeader header) throws WxPayException;
  75. /**
  76. * <pre>
  77. * 服务商模式普通支付API(APP支付、JSAPI支付、H5支付、NATIVE支付).
  78. * 请求URL:https://api.mch.weixin.qq.com/v3/pay/partner/transactions/jsapi
  79. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/transactions_sl.shtml
  80. * </pre>
  81. * @param tradeType 支付方式
  82. * @param request 请求对象
  83. * @return 调起支付需要的参数
  84. */
  85. <T> T partnerTransactions(TradeTypeEnum tradeType, PartnerTransactionsRequest request) throws WxPayException;
  86. /**
  87. * <pre>
  88. * 普通支付通知回调数据处理
  89. * 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/e_transactions.shtml
  90. * </pre>
  91. *
  92. * @param notifyData 通知数据
  93. * @param header 通知头部数据,不传则表示不校验头
  94. * @return 解密后通知数据
  95. */
  96. PartnerTransactionsNotifyResult parsePartnerNotifyResult(String notifyData, SignatureHeader header) throws WxPayException;
  97. }