package com.community.huiju.service;

import com.community.commom.session.UserElement;

import java.util.List;
import java.util.Map;

public interface WxPayServiceI {
	/**
	 * 微信支付统一下单
	 * @return
	 * @param outTradeNo
	 * @param userElement
	 */
	Map<String, String> wxUnifiedOrder(String outTradeNo, UserElement userElement) throws Exception;
	
	/**
	 * 支付成功的回调
	 * @return
	 * @param resultMap
	 */
	String wxNotify(Map<String, String> resultMap) throws Exception;
	
	/**
	 * 订单查询
	 * @return
	 */
	Map<String, String> wxOrderQuery(String outTradeNo) throws Exception;
	
	/**
	 * 准备支付
	 * @param billInvoiceIdArray
	 * @param userElement
	 * @throws Exception
	 */
	String wxStartPay(List<Integer> billInvoiceIdArray, UserElement userElement) throws Exception;
	
	/**
	 * 取消支付
	 * @param outTradeNo 订单号
	 * @param userElement
	 */
	void wxCancelPay(String outTradeNo, UserElement userElement) throws Exception;
}
