接收付费订单推送
WeLink接收来自付费应用推送的订单信息,并返回购买人的租户ID和租户名或者购买人不是WeLink租户。
请求格式说明
请求方式: POST
请求地址: https://open.welink.huaweicloud.com/api/weopen/v1/isv/order
认证方式: access_token,请参考获取access_token
请求头部:
x-wlk-Authorization: access_token
Content-Type: application/json
请求参数:
根据以下不同的场景,将传递不同的参数,传递的参数跟华为云市场回调的参数基本一致,分如下新购商品、商品续费、商品过期、商品资源释放四种场景:
1) 新购商品
当收到华为云的“新购商品”通知时,需要通知WeLink购买方的华为云账号等信息 WeLink在收到此通知时,将为购买该应用的租户订阅和开通该应用;
| 参数名 | 是否必选 | 类型 | 取值范围 | 说明 |
|---|---|---|---|---|
| timeStamp | M | String | 20 | 请求发起时的时间戳,取UTC时间。格式:yyyyMMddHHmmssSSS |
| activity | M | String | 20 | 接口标识。 取值:newInstance |
| customerId | M | String | 100 | 客户在华为云注册账号的唯一标识。 |
| customerName | O | String | 64 | 客户在华为云注册的账户名。 |
| userId | O | String | 64 | 客户以IAM用户认证方式登录时对应子用户的唯一标识。 |
| userName | O | String | 64 | 客户以IAM用户认证方式登录的用户名。 |
| businessId | M | String | 64 | 云市场业务ID。 |
| orderId | M | String | 64 | 云市场订单ID。 |
| skuCode | O | String | 64 | 产品规格标识。租户购买包月或包年的产品后,可能会续费,续费支持变更周期类型(例如包月转包年),此时,租户开通的实例instanceId对应的productId会变化,但skuCode不变。 说明:该参数可在商品审核上架后,进入“卖家中心 > 商品管理 > 我的商品 ”页面,单击该商品操作列的“详情”进入商品详情页面获取。 |
| productId | M | String | 64 | 产品标识,同一skuCode下,不同周期类型的productId不同。例如:ISV发布产品,新增一个规格,会生成一个skuCode,再配置包年价格,包月价格,会生成两个productId。 说明: 该参数可在商品审核上架后,进入“卖家中心 > 商品管理 > 我的商品 ”页面,单击该商品操作列的“详情”进入商品详情页面获取。 |
| trialFlag | O | String | 2 | 是否是开通试用实例。 1:试用实例 0:非试用实例 不传试用参数:2018年5月12日之前已发布成功的产品实例 默认取值为“0”。 |
| expireTime | O | DateTime | 20 | 过期时间。 格式:yyyyMMddHHmmss 说明: 1. 按周期售卖的商品,会请求该参数。 2. 按次售卖的商品,不会请求该参数。 3. 过期时间根据订单创建时间和购买周期计算而来,与订单实际过期时间有误差,仅供参考。 |
| chargingMode | O | Integer | [3] | 计费模式。 3:表示按次购买。 说明: - 包周期购买场景请求时不传该参数。 - 按次购买场景请求时传该参数。 |
| instanceId | M | String | 64 | 交付给购买者的应用实例信息,要求全局唯一,建议按照云市场要求和businessId一致 |
| info | O | String | 1024 | 客户购买成功的说明和特别提示,可选; |
2) 商品续费
当收到华为云的“商品续费”消息时,对应通知WeLink,将为商品更新相关规格和有效期,同时提示WeLink用户续费成功。
| 参数 | 是否必选 | 类型 | 取值范围 | 说明 |
|---|---|---|---|---|
| activity | M | String | 20 | 接口标识。 取值:refreshInstance |
| orderId | M | String | 64 | 云市场订单ID。 |
| instanceId | M | String | 64 | 实例ID。 |
| productId | O | String | 64 | 产品标识,租户续费或转正产品实例时,如果订购周期类型发生变化,会传入变化后的产品类型对应的productId。 |
| expireTime | M | String | 20 | 过期时间。 格式:yyyyMMddHHmmss |
| trialToFormal | O | String | 2 | 是否是试用转正请求 • 不传参数:不是 • 1:是 默认不是试用转正。 默认不是试用转按需。 |
| timeStamp | M | String | 20 | 请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS |
3) 商品过期
当收到华为云的“商品过期”消息时,对应通知WeLink,WeLink将提示用户商品过期,提醒用户及早续费,但是WeLink不拦截用户对该应用的使用,由ISV自行决定和处理是否让用户继续使用,和如何提示用户。从WeLink应用的UI规范要求,遇到过期的用户使用该产品时,ISV应用应该提供合适的提示机制,明确告知用户所面临的商品过期状况。
| 参数 | 是否必选 | 类型 | 取值范围 | 说明 |
|---|---|---|---|---|
| activity | M | String | 20 | 接口标识。 取值:expireInstance |
| instanceId | M | String | 64 | 实例ID |
| testFlag | O | String | 2 | 是否为调试请求。 1:调试请求 0:非调试业务 默认取值为“0”。 |
| timeStamp | M | String | 20 | 请求发起时的时间戳,取UTC时间。格式:yyyyMMddHHmmssSSS |
4) 商品资源释放
当收到华为云的“资源释放”消息时,ISV应用应通知WeLink,WeLink将为该租户取消订阅该应用;
| 参数 | 是否必选 | 类型 | 取值范围 | 说明 |
|---|---|---|---|---|
| activity | M | String | 20 | 接口标识。 取值:releaseInstance |
| instanceId | M | String | 64 | 实例ID。 |
| testFlag | O | String | 2 | 是否为调试请求。 1:调试请求 0:非调试请求 默认取值为“0”。 |
| timeStamp | M | String | 20 | 请求发起时的时间戳,取UTC时间。 格式:yyyyMMddHHmmssSSS |
响应格式说明
返回结果:
{
"code": "0",
"message": "success",
"tenantId": "xxx",
"tenantName": "xxxxxx",
"userId": "xxx"
}
返回参数说明:
| 参数 | 是否必选 | 类型 | 说明 |
|---|---|---|---|
| code | M | String | 数据正常返回“0”,如果发生错误,会返回对应的错误码。 |
| message | M | String | 调用结果描述。 |
| tennantId | O | String | 订购租户的WeLink租户ID,仅在新增订购时返回,如果需要租户详细信息,可以调用企业详细信息 |
| tenantName | O | String | 订购租户的租户名称,仅在新增订购时返回,并且tenantName仅是当前租户名,租户后续可能修改租户名, 若需持续同步租户名,可实现业务回调 |
| userId | O | String | 实际订购者在WeLink内的用户标识,仅在新增订购时返回 |
错误码说明:
| 错误码 | 说明 |
|---|---|
| 58005 | 华为云ID没有和WeLink租户ID绑定。这个错误码说明购买行为不是来自WeLink |
| 58006 | instanceId不存在 |
| 58007 | 请求参数非法。遇到此错误码,请检查是否参数是否有遗漏项 |
| 68009 | 没有ISV权限,不能调用此API |
| 500 | 系统错误 |