购买商品

在销售系统下单购买商品。

接口方法

esales.order.purchase

传入参数

名称类型必须描述
out_order_idstringtrue商家订单号
product_idinttrue商品编号
quantityinttrue购买数量
charge_paramsjsonfalse充值参数,充值类商品必须传入
notify_urlstringfalse订单异步通知地址
end_customer_ipstringfalse终端客户IP
end_customer_regionstringfalse终端客户区域
end_total_pricedecimalfalse终端客户总价

自定义模板charge_params参数说明

假设商品的充值参数如下:

[
    {
        "name": "充值账号",
        "type": "charge_account",
        "comment": "请输入充值账号",
        "key": "charge_account"
    },
    {
        "name": "充值方式",
        "type": "select",
        "options": [
            "月卡",
            "季卡",
            "年卡"
        ],
        "comment": "请选择充值方式",
        "key": "charge_type"
    }
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

charge_params参数示例:

{
  "charge_account": 18055615168,
  "charge_type": "月卡"
}
1
2
3
4

有些参数可能没有key值,此种情况下,用name作为键名也可以,下面的参数效果一样:

{
  "charge_account": 18055615168,
  "充值方式": "月卡"
}
1
2
3
4

建议优先使用key作为json对象的键名,方便后期维护(如name由手机号改为手机号码,如果用key,则不受影响)。

预置模板charge_params说明

名称类型必须描述
charge_accountstringtrue充值账号
gamestringfalse游戏值
game_namestringfalse游戏名称
areastringfalse区域值
area_namestringfalse区域名称
serverstringfalse服务器值
server_namestringfalse服务器名称
charge_modestringfalse充值类型值
charge_mode_namestringfalse充值类型名称
charge_account_typestringfalse充值账号类型值
charge_account_type_namestringfalse充值账号类型名称
charge_account_passwordstringfalse充值账号密码

示例:

{
	"game": "110",
	"charge_mode": "1021101902000000001",
	"charge_account": "1",
	"area": "1",
	"server": "1"
}
1
2
3
4
5
6
7

返回数据

参数名类型说明
order_idbigint订单号
statusint订单状态(100:等待发货,200:交易成功,500:交易失败,300:可疑订单)
status_infostring充值返回信息
total_pricedecimal总支付价格
cardsjson卡密(仅当订单成功并且商品类型为卡密时返回此数据)

示例

{
	"code": "0",
	"message": "",
	"data": {
		"order_id": 557305089422,
        "status": 200,
        "status_info": "交易成功",
        "total_price": "3.0000",
		"cards": [{
			"card_no": "vip009",
			"card_password": "DDd2kpCxZosyy7d",
            "expiration_date": "2025-05-28"
		}, {
			"card_no": "vip010",
			"card_password": "UwQ4WnAKfi6wby6",
            "expiration_date": "2025-05-28"
		}, {
			"card_no": "vip011",
			"card_password": "qKgITDZUuahfmiu",
            "expiration_date": "2025-05-28"
		}]
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Last Updated: 2/21/2025, 1:15:00 PM
Contributors: qq, Zhang Yuteng, abusyman@live.com