package com.ruoyi.pay.type.weixin.service;


import com.ruoyi.response.ResponseData;

import java.math.BigDecimal;

/**
 * @author liuyao
 * Created by Mr.Loe on 2019-01-08
 */
public interface WXPayService {


    /**
     * 微信支付
     *
     * @param orderNo
     * @param amount
     * @param returnUrl
     * @return
     */
    ResponseData wxPayUserPay(String orderNo, BigDecimal amount, String returnUrl,Long orderId);


    /**
     * h5微信支付
     * @param orderInfoId
     * @param price
     * @param notify
     * @return
     */
    ResponseData wxH5Pay(String orderNo, BigDecimal price, String notify,Long orderId);


    /**
     * 微信小程序支付
     * @param orderNum
     * @param price
     * @param openId
     * @param notify
     * @return
     */
    ResponseData wxAppletPay(String orderNo, BigDecimal price, String openId, String notify,Long orderId);


    /**
     * 微信退款
     * @param orderNo
     * @param payPrice
     * @param refundPrice
     * @return
     */
    ResponseData wxRefund(String orderNo, BigDecimal payPrice, BigDecimal refundPrice);


    /**
     * 微信小程序支付
     *
     * @param orderNo
     * @param amount
     * @param openId
     * @param returnUrl
     * @return
     */
    ResponseData wxPayMethodApplet(String orderNo, BigDecimal amount, String openId, String returnUrl);
}
