设置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. 签署许可协议。方法是前往发布商帐户 > 会计 > 许可协议,完成协议表单的填写然后等待确认。
  3. 获取用于真实付款的令牌

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来测试没有试用期的订阅。
  2. 收到测试成功的确认消息后,将启用订阅模块开关设置为。包含所需令牌的链接将在沙盒URL标题下显示。

Note
如果您的公司已签署许可协议,激活该模块后将立即可销售真实订阅计划。

  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是上一步中获得的令牌。

本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
为此页面评分
为此页面评分
我们还有其他可改进之处吗?

不想回答

感谢您的反馈!

继续阅读

上次更新时间: 2021年9月1日

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

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