package recharge

import "fmt"

/***
查询用户信息
*/
func GetUser(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/user", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}

/***
获取产品
type	int	1	false	产品类型ID,非必须
cate_id	int	10	false	分类ID,非必须
*/
func GetProduct(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/product", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}

/***
产品ID查询【新增】
id	int	1	true	产品ID
*/
func GetPrice(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/price", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}

/***
获取产品类型和产品分类
*/
func GetProductCate(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/typecate", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}

/***
自发查询订单状态
out_trade_nums	string	CZH668877,CZH9988666	true	商户订单号;多个用英文,分割
*/
func GetOrder(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/check", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}

/***
电费支持地区查询
*/
func GetArea(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/elecity", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}

/***
充值提交接口
out_trade_num	string	GG5822222266	true	商户订单号,由商户自己生成唯一单号。(同一商户,不能存在相同单号订单,相同订单号不能提单)
product_id	number	68	true	产品ID(代理后台查看)
mobile	string	18866667777	true	充值号码(手机号、电费户、qq号等)
notify_url	string	http://www.abc.com	true	回调地址,用于接收充值状态回调
userid	string	10001	true	商户ID,通过客服或代理后台获取
amount	number	100	false	面值,(不传不校验)如果产品的面值与此参数不同,提单驳回
price	number	94.8	false	最高成本,(不传不校验)如果产品成本超过这个值,提单驳回
area	string	广东	false	电费省份/直辖市,如:四川、北京、上海,仅电费带此参数
ytype	string	1	false	电费验证三要素,1-身份证后6位,2-银行卡后六位,3-营业执照后六位,仅南网电费带此参数
id_card_no	string	123456	false	身份证后6位/银行卡后6位/营业执照后6位,仅南网电费带此参数
city	string	广州	false	地级市名,仅部分南网电费带此参数,是否带此参数需咨询渠道方
param1	string	*	false	扩展参数,后台查看提交的产品类目是否需要提交此参数
param2	string	*	false	扩展参数,后台查看提交的产品类目是否需要提交此参数
param3	string	*	false	扩展参数,后台查看提交的产品类目是否需要提交此参数
*/
func Pay(url, apiKey string, param map[string]string) (string, error) {
	s, err := send(url, "index/recharge", apiKey, param)
	fmt.Println(s)
	fmt.Println(err)
	return s, err
}