获取订阅信息

您可以通过以下方式获得关于订阅活动的信息:

通过API调用进行设置

在应用程序的客户端侧,实现通过HTTP GET请求获取关于用户订阅的信息。

艾克索拉API使用HTTP访问认证。请求必须包含Authorization: Bearer <client_user_jwt>头,其中<client_user_jwt>是一个根据Base64编码的唯一令牌。获取方法:

在路径参数projectId中指定项目ID。可在发布商帐户项目名称旁边找到该参数。

指定以下查询参数:

  • limit — 页面元素的数量限制(默认显示15个元素)。
  • offset — 从该元素生成列表的元素编号(从0开始数)。
  • locale — 界面语言(默认为英语)。接受符合ISO 639-1标准的值。

Copy
Full screen
Small screen
请求示例:
  'https://subscriptions.xsolla.com​/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer client_user_jwt'

Copy
Full screen
Small screen
响应示例:
{
  "items": [
    {
      "id": 13371337,
      "plan_id": 66053,
      "plan_external_id": "TestChangePlanBase",
      "plan_name": "package_recurrent_name_66053",
      "plan_description": "package_recurrent_description_66053",
      "product_id": null,
      "product_external_id": null,
      "product_name": null,
      "product_description": null,
      "status": "active",
      "date_create": "2021-03-11T13:50:11+03:00",
      "date_next_charge": "2031-04-11T13:51:02+03:00",
      "date_last_charge": "2021-03-11T13:51:02+03:00",
      "charge": {
        "amount": "0.2500",
        "currency": "USD"
      },
      "period": {
        "value": 5,
        "unit": "day"
      }
    }
  ],
  "has_more": true
}

设置Webhook

订阅解决方案支持以下事件的Webhook:

Note
要取消订阅,必须取消上一次付款。如果用户手动续订了订阅计划或购买了多个期限,必须取消所有付款。

  • 退款:
    • 退款(在发布商帐户中取消了付款)
    • 已更新订阅(取消了付款,但订阅仍在生效。可能原因是用户意外对同一订阅支付了两次并只取消了最后一次付款。)
    • 已取消订阅(在发布商帐户中取消了订阅或取消了所有有效期的付款)

Note
关于Webhook的详细信息,请参阅API文档

要设置Webhook:

  1. 发布商帐户中,前往项目设置 > Webhooks
  2. Webhooks部分的开关设置为

  1. 指定您的Webhook URL,然后单击保存设置

  1. 在发布商帐户中测试Webhook
  2. 测试订阅支付
  3. 测试续订订阅计划
  4. 测试取消订阅

在发布商帐户中测试Webhook

  1. 发布商帐户 > 项目设置 > Webhooks中,前往订阅选项卡。

  1. 要测试Webhook,请指定要包含在请求中向所提供Webhook URL发送的项目值(用户ID、发票ID)。如果没有真实值,可输入随意值。完成以下表单字段:

Note
在发布商帐户中,只能测试基本用户验证支付 Webhook。如要测试其他Webhook类型,请前往:

  1. 单击测试
  2. 如果测试成功,服务器将返回一个204 HTTP状态代码。如果不成功,服务器将返回一个400或500 HTTP状态代码和错误描述

测试订阅支付

测试支付时,将向在设置Webhook步骤中指定的URL发送用户验证支付已创建订阅 Webhook。要测试支付过程,您可以:

Note
对于具有试用期的订阅,只能通过进行真实付款进行,因为沙盒模式不支持将账单帐户与订阅关联。

沙盒模式

  1. 获取用于沙盒模式的令牌。将0值传入试用期(trial_days)参数。
  2. 选择信用卡/借记卡付款方式组。
  3. 输入测试银行卡详细信息。在其余字段中输入任意值。您也可以指定不正确的细节(卡号、到期日、或CVV)以生成错误。

Note
沙盒模式下只能使用测试银行卡。沙盒模式下的银行卡付款支持以下货币:USD、EUR、RUB、GBP、AED、ALL、AMD、ARS、AUD、AZN、BGN、BRL、BYN、CAD、CHF、CLP、CNY、COP、CZK、DKK、DZD、EGP、GEL、HKD、HRK、HUF、IDR、ILS、INR、ISK、JPY、KES、KGS、KRW、KZT、MAD、MDL、MKD、MNT、MXN、MYR、NGN、PEN、PHP、PKR、PLN、RON、RSD、SAR、SEK、SGD、THB、TRY、TWD、UAH、UYU、UZS、VEF、VND、ZAR。

  1. 设置Webhook步骤指定的URL上接收用户验证支付已更新订阅 Webhook。

真实付款

要测试有试用期的订阅计划,必须进行真实支付:

  1. 完成在发布商帐户中测试Webhook并激活订阅模块。
  2. 签署许可协议。方法是前往发布商帐户 > 会计 > 许可协议,完成协议表单的填写然后等待确认。

Note
签署许可协议将激活真实订阅的销售。

  1. 获取令牌以用于真实支付。

Notice
接收真实付款前请从令牌请求中删除"mode":"sandbox"参数。

  1. 通过以下链接打开支付UI:https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN,其中ACCESS_TOKEN是上一步中获得的令牌。
  2. 选择信用卡/借记卡付款方式组。
  3. 输入有效的银行卡详细信息。

Note
测试银行卡仅适用于沙盒模式。建议使用Visa和MasterCard卡来测试真实付款过程。

  1. 设置Webhook步骤提供的Webhook URL上接收用户验证支付已更新订阅Webhook。
  2. 退回之前的付款。方法是前往发布商帐户 > 支持 > 交易搜索
  3. 选择测试交易,然后单击更多(•••)菜单按钮。在弹出菜单中单击退款(交易状态应为完成)。该操作将发送已取消订阅退款Webhook。

测试续订订阅计划

Notice
仅适用于没有试用期的订阅。

要测试续订订阅计划:

  1. 获取用于沙盒模式的令牌。将值0传入试用期(trial_days)参数。
  2. 使用任意付款方式支付订阅费用。
  3. 重新在沙盒模式下打开支付界面。
  4. 使用任意付款方式再次支付以续订订阅计划。
  5. 设置Webhook步骤中指定的Webhook URL上收到用户验证支付已更新订阅 Webhook。

测试取消订阅

要测试取消订阅,请使用如下方法:

按订阅搜索

  1. 发布商帐户中前往支持 > 订阅数
  2. 找到要取消的订阅。
  3. 打开订阅状态菜单,然后选择
    1. 取消并退款,接收已取消订阅退款 Webhook。
    2. 取消但不退款,接收已取消订阅Webhook。

按最近交易搜索

  1. 发布商帐户中,前往支持 > 交易搜索
  2. 找到最近交易进行取消。
  3. 单击更多(•••)图标。在弹出菜单中单击退款以接收已取消订阅退款Webhook。

Note
如果一个订阅存在多次付款,需取消所有付款。

通过API调用

通过更新订阅 API调用将订阅状态更改为已取消并接收已取消订阅 Webhook。

在沙盒模式下打开支付UI

要打开沙盒支付UI,请获取设置了sandbox模式的令牌。获取包含所需令牌的链接的方法如下:

通过发布商帐户

  1. 在发布商帐户中测试Webhook。将试用期字段的值指定为0来测试没有试用期的订阅。收到测试成功的确认消息后,包含所需令牌的链接将在沙盒URL标题下显示。

  1. 点击沙盒URL链接。

通过API调用

  1. "settings":{"mode":"sandbox"}参数传入创建令牌方法。传入"purchase": {"subscription":{"trial_days": 0}}参数测试没有试用期的订阅。
  2. 使用以下链接:https://sandbox-secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN,其中ACCESS_TOKEN是上一步中获得的令牌。

您的进度
感谢您的反馈!
上次更新时间: 2022年5月20日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!