跳到主要内容

网页支付

接入网页支付,需 CP 方按此文档实现以下接口:

域名地址

登录接口

  • 接口描述:用户获取玩家信息、商品信息

  • 请求方式:GET

  • 请求地址:游戏方提供

  • 请求参数:

    NameTypeMustExampleDescription
    gameUserIdString1064666游戏生成的玩家唯一标识ID,最大长度64字符
    signString74e9e370720968e1f8d80a0875989534参数签名,详见文档 签名与验签
  • 响应参数:

    NameTypeMustExampleDescription
    codeNumberYes0响应状态码:0: 成功,其它: 失败
    msgStringYessuccess响应提示信息:success, user not found, internal server error
    dataObjectNo当响应状态码code=1时, 会返回
    data.userInfoObjectYes玩家信息
    userInfo.sdkUserIdStringYes20001268接入世游 SDK,登录成功以后世游SDK返回给游戏的 cpUid。
    userInfo.userNameStringYes盖伦玩家昵称
    data.goodsInfoObjectNo根据玩家购买记录动态返回的商品信息
    goodsInfo.firstTopUpDiamondObjectNo首充奖励的钻石商品,第二次及第 N 次购买时不再给与赠送的商品。玩家第一次购买时页面会显示 “钻石数量 + 赠送数量”( 600 + 600 ),第二次以及第 N 次显示 “钻石数量”( 600 )
    firstTopUpDiamond.goodsIdStringYeswhisper.shadow.usd.300商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符
    firstTopUpDiamond.promotionNumberYes600赠送数量,如果玩家未购买过该商品,会在页面显示 promotion 数量
    firstTopUpDiamond.grantedBooleanYestrue是否已经购买过
    goodsInfo.limitedPackageObjectNo
    limitedPackage.goodsIdStringYeswhisper.shadow.pkg.1商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符
    limitedPackage.limitCountNumberYes7限购次数
    limitedPackage.grantedCountNumberYes6已购买次数
    goodsInfo.monthlyPassObjectNo
    monthlyPass.goodsIdStringYeswhisper.shadow.mon.1商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符
    monthlyPass.grantedBooleanYestrue是否已经购买过
    goodsInfo.battlePassObjectNo
    battlePass.goodsIdStringYeswhisper.shadow.btl.1商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符
    battlePass.grantedBooleanYestrue是否已经购买过
  • 响应示例:

    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

  • 请求地址:游戏方提供

  • 请求参数:

    NameTypeMustExampleDescription
    gameUserIdStringYes1064666游戏生成的玩家唯一标识ID,最大长度 64 字符
    goodsIdStringNowhisper.shadow.mon.1商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字符
    signStringNo74e9e370720968e1f8d80a0875989534参数签名,详见文档 签名与验签
  • 响应参数:

    NameTypeDescriptionMustExample
    codeNumber响应状态码:0: 成功,其它: 失败Yes0
    msgString响应提示信息:success, user not found, internal server errorYessuccess
    dataObject当响应状态码code=1时, 会返回No
    data.orderInfoObject订单信息Yes
    orderInfo.gameOrderIdString游戏生成的订单号。最大长度 128 字符Yesws-123456789
    orderInfo.payItemString自定义透传信息,通知游戏发货时会设置到 pay_item 字段原封不动的进行通知。最大长度128字符No自定义透传信息
    orderInfo.promotionString600No订单是否包含优惠,字段内容由研发自定义,可以传文字描述,可以传优惠数量。如果该字段不为空证明存在优惠,则三方支付系统不再进行充值返利。
    orderInfo.callBackUrlObject支付成功以后通知游戏发货地址,如果不传,则使用接入OmniSDK应用内支付配置的通知发货地址。最大长度255字符Nohttps://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

  • 请求地址:游戏方提供

  • 请求参数:

    NameTypeMustExampleDescription
    order_idStringYes1374307433282932736世游生成的订单号
    app_idNumberYes1064接入 OmniSDK 以后,由世游分配的应用 ID
    app_channelNumberYes36充值渠道 ID,codashop:36,razer: 42,xsolla:52
    uidNumberYes20001268接入世游 SDK,登录成功以后世游 SDK 返回给游戏的 cpUid。
    amtfloatYes0.99订单金额,单位为美元
    goods_idStringYeswhisper.shadow.mon.1商品 ID,由游戏生成,并提供给世游方进行三方支付配置。最大长度128字
    third_order_idStringYesws-123456789游戏生成的订单号。最大长度 128 字符
    pay_itemStringNo自定义透传信息自定义透传信息,通知游戏发货时会设置到 pay_item 字段原封不动的进行通知。最大长度128字符
    zone_idStringNo989_98900001200112游戏提供的服务器 ID 拼接角色 ID
    order_typeNumberYes4设备类型: 1-android2-iOS3-h5Mobile4-web999-未知
    pay_timeNumberYes1615948748支付时间,格式 : UNIX 时间戳
    giftObject stringNo见下方 gift 字段的 JSON String充值返利信息 。为了引导用户使用优的支付方式购买道具。三方支付可以配置充值返利。充值返利逻辑为:在某个时间段内使用某种支付方式购买某个商品会进行返利赠送。
    gift.start_timeNumberYes1638158400奖品发放开启时间(时间戳,精确到秒)
    gift.end_timeNumberYes1643882400奖品发放截止时间(时间戳,精确到秒)
    gift.gift_idStringYes720896001奖品 ID,游戏方提供,双方进行配置
    gift.pay_typeStringYesRAZ_RAZG支付方式 ID,由 OmniSDK 定义
    gift.gift_countNumberYes10奖品数据量
    gift.limit_timesNumberYes1返利次数,1: 返利一次-1: 无限返利
    sandboxBoolYestrue是否是沙盒订单:true: 是false: 否
    signStringYes74e9e370720968e1f8d80a0875989534参数签名,详见文档 签名与验签
    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

  • 请求地址:游戏方提供

  • 请求参数:

    NameTypeMustExampleDescription
    gameUserIdStringYes1064666游戏生成的玩家唯一标识ID,玩家可以在游戏客户端中查看并获取该ID,输入到三方支付网站,三方支付网站会将该ID发送给游戏方。最大长度64字符
    cdkCodeStringYeswhisper.shadow.cdk.ladsjka456CDK 码,由游戏生成
    signStringYes74e9e370720968e1f8d80a0875989534参数签名,详见文档 签名与验签
  • 响应参数

    NameTypeMustExampleDescription
    codeNumberYes0响应状态码:0: 成功其它: 失败
    msgStringYessuccess响应提示信息:success
  • 响应示例

    {
    "code": 0,
    "msg": "success"
    }

响应状态码

关于错误码

错误码可由游戏方定义,双方约定处理逻辑;msg 尽可能的返回用户友好的提示,msg 可能在页面弹出提示给用户

codemsg说明
0success响应成功
1user not found玩家不存在
2internal server error内部错误