跳到主要内容

Midasbuy Trade SDK

1. SDK 描述

通过传入玩家的 “人” 的信息,拉起 midasbuy 物品列表的 “货” 和 midasbuy 交易商城的 “场”。

2. 引入 SDK

在 HTML 文件中引入 script:

<script src="https://cdn.midasbuy.com/js/trade.stable.js"></script>

3. API 说明

3.1. midas.trade(options)

创建 tradeApi 实例:

const tradeApi = midas.trade({
appid: '1460000764',
language: 'en',
region: 'us',
sandbox: 1,
});
参数是否必填位置类型格式说明
appidYesparamsStringstring.min_len: 1应用 ID
languageYesparamsStringstring.len: 2语言代码,目前 midasbuy 支持 ar,hk,tr,de,id,pu,tw,en,ja,ru,vn,es,ko,fr,my,th
regionYesparamsStringstring.len: 2国家代码,目前 midasbuy 开放站点列表参考 [region select]
sandboxNoparamsNumber0 现网,1 沙箱。默认为 0,联调时使用 1

3.2. tradeApi.show(playerInfo).then(paymentSuccessCallback).catch(failCallback)

展示物品列表弹窗,并抛出支付成功和失败的回调事件:

tradeApi.show({
game_openid: '1321xxx',
role_id: '186xxx',
server_id: '319',
charac_name: 'test name',
})
.then((data) => {
// 支付成功回调
})
.catch((err) => {
// 支付失败回调,有多种情况,详见下面错误码
});

玩家信息参数

参数是否必填位置类型格式说明
game_openidYesparamsStringstring.min_len: 1游戏用户 ID
role_idYesparamsStringstring.min_len: 1角色 ID
server_idYesparamsStringstring.min_len: 1分区 ID
charac_nameYesparamsStringstring.min_len: 1玩家昵称
balanceNoparamsStringNumber
thirdBalanceNoparamsStringNumber

3.2.1. 支付成功回调数据

参数类型说明
order_idString订单号
product_idString物品 ID

成功示例:

{
"product_id": "1460000764_18_coins_midasbuy_us",
"order_id": "SG2410xxxxxx"
}

3.2.2. 失败回调数据

参数类型说明
nameEnum失败含多种情况,比如参数校验不过、用户手动触发sdk关闭、程序crash等等原因,不为空
messageString用于描述响应错误信息,可能为空
detailsArray用于给出更详尽信息,例如:重试详情、配额错误、渠道错误等,可能为空
linksArray当发生故障时可能返回解决该问题的文档地址,可能为空
debug_idString当前请求的标识,用户表示Midas的一次请求。反馈问题时可带上该标识,可能为空
causesArray该异常的解决方案,可能为空

失败示例:

{
"name": "INVALID_ARGUMENT",
"message": "invalid CreateOrderRequest.ApplicationContext: embedded message failed validation | caused by: invalid ApplicationContext.RegionCode: value does not match regex pattern \"^[A-Z]{2}$\"",
"details": [
{
"@type": "type.apis.com/rpc.BadRequest.FieldViolation",
"field": "ApplicationContext",
"description": "embedded message failed validation",
"value": ""
}
],
"links": [],
"debug_id": "247df6a6ed3ab364",
"causes": []
}

3.2.3. name 错误码枚举值

参数说明
INVALID_ARGUMENT参数校验不过
USER_IS_DISTURBED用户手动触发sdk关闭中断了购买流程
QUERY_SHELF_FAILED请求货架物品失败
QUERY_CHANNEL_FAILED拉起渠道失败
PAYMENT_COMP_NOT_LOADED支付组件加载失败
ORDER_FAILED下单失败
PAYMENT_FAILED支付失败
UNKNOWN_CRASHsdk程序crash

4. 调用示例

demo 页面链接:Midasbuy Trade SDK Demo