网页支付
接入网页支付,需 CP 方按此文档实现以下接口:
域名地址
- 测试环境域名地址:https://api.dev.seayoo.io/webpay/
- 生产环境域名地址:https://api.seayoo.io/webpay/
登录接口
接口描述:用户获取玩家信息、商品信息
请求方式:
GET
请求地址:游戏方提供
请求参数:
Name Type Must Example Description gameUserId
String 是 1064666 游戏生成的玩家唯一标识ID,最大长度64字符 sign
String 是 74e9e370720968e1f8d80a0875989534 参数签名,详见文档 签名与验签
响应参数:
Name Type Must Example Description code
Number Yes 0 响应状态码: 0: 成功,其它: 失败
msg
String Yes success 响应提示信息: success
,user not found
,internal server error
data
Object No 当响应状态码 code=1
时, 会返回data.userInfo
Object Yes 玩家信息 userInfo.sdkUserId
String Yes 20001268 接入世游 SDK,登录成功以后世游SDK返回给游戏的 cpUid。 userInfo.userName
String Yes 盖伦 玩家昵称 data.goodsInfo
Object No 根据玩家购买记录动态返回的商品信息 goodsInfo.firstTopUpDiamond
Object No 首充奖励的钻石商品,第二次及第 N 次购买时不再给与赠送的商品。玩家第一次购买时页面会显示 “钻石数量 + 赠送数量”( 600 + 600 ),第二次以及第 N 次显示 “钻石数量”( 600 ) firstTopUpDiamond.goodsId
String Yes whisper.shadow.usd.300 商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符 firstTopUpDiamond.promotion
Number Yes 600 赠送数量,如果玩家未购买过该商品,会在页面显示 promotion 数量 firstTopUpDiamond.granted
Boolean Yes true 是否已经购买过 goodsInfo.limitedPackage
Object No limitedPackage.goodsId
String Yes whisper.shadow.pkg.1 商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符 limitedPackage.limitCount
Number Yes 7 限购次数 limitedPackage.grantedCount
Number Yes 6 已购买次数 goodsInfo.monthlyPass
Object No monthlyPass.goodsId
String Yes whisper.shadow.mon.1 商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符 monthlyPass.granted
Boolean Yes true 是否已经购买过 goodsInfo.battlePass
Object No battlePass.goodsId
String Yes whisper.shadow.btl.1 商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符 battlePass.granted
Boolean Yes true 是否已经购买过 响应示例:
HTTP Response JSON
{
"code": 0,
"msg": "success",
"data": {
"userInfo": {
"sdkUserId": "20001268",
"userName": "盖伦"
},
"goodsInfo": {
"firstTopUpDiamond": [
{
"goodsId": "whisper.shadow.usd.300",
"promotion": 300,
"granted": true
},
{
"goodsId": "whisper.shadow.usd.600",
"promotion": 600,
"granted": false
}
],
"limitedPackage": [
{
"goodsId": "whisper.shadow.pkg.1",
"limitCount": 7,
"grantedCount": 7
},
{
"goodsId": "whisper.shadow.pkg.2",
"limitCount": 7,
"grantedCount": 6
}
],
"monthlyPass": [
{
"goodsId": "whisper.shadow.mon.1",
"granted": true
},
{
"goodsId": "whisper.shadow.mon.2",
"granted": false
}
],
"battlePass": [
{
"goodsId": "whisper.shadow.btl.1",
"granted": true
},
{
"goodsId": "whisper.shadow.btl.2",
"granted": false
}
]
}
}
}
创建订单接口
接口描述:请求游戏方创建游戏订单,并返回游戏订单号、玩家信息、商品信息
请求方式:
GET
请求地址:游戏方提供
请求参数:
Name Type Must Example Description gameUserId
String Yes 1064666 游戏生成的玩家唯一标识ID,最大长度 64 字符 goodsId
String No whisper.shadow.mon.1 商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符 sign
String No 74e9e370720968e1f8d80a0875989534 参数签名,详见文档 签名与验签
响应参数:
Name Type Description Must Example code
Number 响应状态码: 0: 成功,其它: 失败
Yes 0 msg
String 响应提示信息: success
,user not found
,internal server error
Yes success data
Object 当响应状态码 code=1
时, 会返回No data.orderInfo
Object 订单信息 Yes orderInfo.gameOrderId
String 游戏生成的订单号。最大长度 128 字符 Yes ws-123456789 orderInfo.payItem
String 自定义透传信息,通知游戏发货时会设置到 pay_item 字段原封不动的进行通知。最大长度128字符 No 自定义透传信息 orderInfo.promotion
String 600 No 订单是否包含优惠,字段内容由研发自定义,可以传文字描述,可以传优惠数量。如果该字段不为空证明存在优惠,则三方支付系统不再进行充值返利。 orderInfo.callBackUrl
Object 支付成功以后通知游戏发货地址,如果不传,则使用接入OmniSDK应用内支付配置的通知发货地址。最大长度255字符 No https://whisper.shadow.com/omni/payment/notification
响应示例:
HTTP Response JSON
{
"code": 0,
"msg": "success",
"data": {
"orderInfo": {
"gameOrderId": "ws-123456789",
"payItem": "自定义透传信息",
"promotion": "首充双倍",
"callBackUrl": "https://whisper.shadow.com/omni/payment/notification"
}
}
}
通知发货接口
接口描述:通知游戏发货
请求方式:
POST
/Content-Type: application/x-www-form-urlencoded
请求地址:游戏方提供
请求参数:
Name Type Must Example Description order_id
String Yes 1374307433282932736 世游生成的订单号 app_id
Number Yes 1064 接入 OmniSDK 以后,由世游分配的应用 ID app_channel
Number Yes 36 充值渠道 ID,codashop:36,razer: 42,xsolla:52 uid
Number Yes 20001268 接入世游 SDK,登录成功以后世游 SDK 返回给游戏的 cpUid。 amt
float Yes 0.99 订单金额,单位为美元 goods_id
String Yes whisper.shadow.mon.1 商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字 third_order_id
String Yes ws-123456789 游戏生成的订单号。最大长度 128 字符 pay_item
String No 自定义透传信息 自定义透传信息,通知游戏发货时会设置到 pay_item
字段原封不动的进行通知。最大长度128字符zone_id
String No 989_98900001200112 游戏提供的 服务器 ID
拼接角色 ID
order_type
Number Yes 4 设备类型: 1-android
,2-iOS
,3-h5Mobile
,4-web
,999-未知
pay_time
Number Yes 1615948748 支付时间,格式 : UNIX 时间戳 gift
Object string No 见下方 gift 字段的 JSON String
充值返利信息 。为了引导用户使用优的支付方式购买道具。三方支付可以配置充值返利。充值返利逻辑为:在某个时间段内使用某种支付方式购买某个商品会进行返利赠送。 gift.start_time
Number Yes 1638158400 奖品发放开启时间(时间戳,精确到秒) gift.end_time
Number Yes 1643882400 奖品发放截止时间(时间戳,精确到秒) gift.gift_id
String Yes 720896001 奖品 ID,游戏方提供,双方进行配置 gift.pay_type
String Yes RAZ_RAZG 支付方式 ID,由 OmniSDK 定义 gift.gift_count
Number Yes 10 奖品数据量 gift.limit_times
Number Yes 1 返利次数, 1: 返利一次
,-1: 无限返利
sandbox
Bool Yes true 是否是沙盒订单: true: 是
,false: 否
sign
String Yes 74e9e370720968e1f8d80a0875989534 参数签名,详见文档 签名与验签 gift 字段的 JSON String
[
{
"start_time": 1638158400,
"gift_id": "720896001",
"end_time": 1643882400,
"pay_type": "RAZ_RAZG",
"gift_count": 10,
"limit_times": 1
}
]响应参数
成功响应 success, 失败响应 fail
CDK兑换接口(可选)
接口描述:玩家在网站输入CDK,可兑换游戏内道具/商品
请求方式:GET
请求地址:游戏方提供
请求参数:
Name Type Must Example Description gameUserId
String Yes 1064666 游戏生成的玩家唯一标识ID,玩家可以在游戏客户端中查看并获取该ID,输入到三方支付网站,三方支付网站会将该ID发送给游戏方。最大长度64字符 cdkCode
String Yes whisper.shadow.cdk.ladsjka456 CDK 码,由游戏生成 sign
String Yes 74e9e370720968e1f8d80a0875989534 参数签名,详见文档 签名与验签
响应参数
Name Type Must Example Description code
Number Yes 0 响应状态码: 0: 成功
,其它: 失败
msg
String Yes success 响应提示信息: success
响应示例
{
"code": 0,
"msg": "success"
}
响应状态码
关于错误码
错误码可由游戏方定义,双方约定处理逻辑;msg 尽可能的返回用户友好的提示,msg 可能在页面弹出提示给用户
code | msg | 说明 |
---|---|---|
0 | success | 响应成功 |
1 | user not found | 玩家不存在 |
2 | internal server error | 内部错误 |