package com.zanxiang.sdk.service; import com.zanxiang.common.domain.ResultMap; import com.zanxiang.sdk.domain.params.ProductPayParam; import com.zanxiang.sdk.domain.params.UserData; import com.zanxiang.sdk.domain.vo.PayParamVO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @author xufeng * @date 2022/6/8 15:31 */ public interface IOrderPayService { /** * 得到支付参数 * * @param code 代码 * @param orderId 订单id * @param request 请求 * @return {@link PayParamVO} */ PayParamVO getPayParam(String code, String orderId, HttpServletRequest request); /** * 获取小游戏支付方式 * * @param userData 用户数据 * @return {@link Integer} */ Integer getAppletPayDevice(UserData userData); /** * 下单支付 * * @param product : 商品信息 * @param userData : 用户信息 * @return {@link ResultMap} */ ResultMap payCreate(ProductPayParam product, UserData userData); /** * 支付异步回调 * * @param request : 请求参数 * @param response : 接过 * @param payType : 支付类型 * @return {@link String} * @throws IOException : 异常 */ String notify(HttpServletRequest request, HttpServletResponse response, Integer payType) throws IOException; /** * 异步回调 * * @param request : 请求参数 * @param payType : 支付类型 * @return {@link ResultMap} */ ResultMap synNotify(HttpServletRequest request, Integer payType); /** * 订单支付结果查询 * * @param orderId : 订单id * @return {@link Boolean} */ Boolean payResult(String orderId); }