package com.cirle.scientific.service;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.cirle.scientific.dto.WxUerInfoDTO;
import com.cirle.scientific.po.SalesOrdersMain;
import com.cirle.scientific.utils.weixin.WeiXinPay;

public interface WeixinService {

	Map<String,String> wxapay(WeiXinPay weiXinPay);

	String mwebpay(WeiXinPay weiXinPay);

	Map<String,String> jsapipay(WeiXinPay weiXinPay);

	Map<String,String> jsapicollagepay(WeiXinPay weiXinPay);

	Map<String,String> nativepay(SalesOrdersMain ordersMain, String ip);

	Map<String,String> apppay(WeiXinPay weiXinPay);

	Map<String,String> wxshare(String url);

	String getTicket();

	Map<String, String> getTokenByCode(String appid, String secret, String code, String grant_type);

	WxUerInfoDTO getUserInfo(String access_token, String openid);

	Map<String, String> refund(String appid, String mch_id, String apiKey, String out_trade_no,
			Double total_fee, Double refund_fee, String refund_desc);

	JSONObject generateWxUserInfo(String appId, String secret, String openId);

	Map<String, String> queryPayStatus(String orderNo);

	WxUerInfoDTO oauth2getAccessToken(String code, String memCard);

	Map<String, String> getTokenByCodeNew(String appid, String secret, String code, String grant_type);
}
