订阅

订阅 管理 优惠券

创建订阅后,您或您的客户需要管理它们以在许多不同的场景下维护它们。


一次性收费

Chargify允许您将费用添加到常规经常性结算周期之外的订阅。这被称为a “一次性”收费 虽然它只是指一旦发生一次并且从API提交电荷或通过手动创建电荷,但是在应用中提交充电的费用。

例如,如果您想要添加1美元的费用 - 它看起来像以下内容:

// POST /subscriptions/{subscription_id}/charges.json
{
    "charge":
    {
        "amount_in_cents": 100,
        "memo": "This is the description of the reason for the $1 charge."
    }
}

有关用于创建收费的API详细信息的更多信息,请参阅 这里.

优惠券和调整

通常,优惠券和调整是将计费的金额更改为顾客的其他方法(如重复使用优惠券)或更单独的基础(如单一使用优惠券或平衡调整)。

优惠券

您是否希望为当前或潜在客户提供折扣? Chargify易于处理所有促销代码,折扣和优惠券。只需姓名促销即可,设置所需的促销代码,然后输入折扣。您甚至可以控制到期日期以及促销与您的产品一起运行的时间。

让我们创建一个优惠券,然后我们可以在创建下一个订阅时使用。

// POST /coupons.json
{
    "coupon": {
        "name": "15% off",
        "code": "15OFF",
        "description": "15% off for life",
        "percentage": "15",
        "allow_negative_balance": "false",
        "recurring": "false",
        "end_date": "2012-08-29T12:00:00-04:00",
        "product_family_id": "2"
    }
}

要创建优惠券,请参阅 这里.

要在创建新订阅时使用优惠券,请参阅 这里.

请查看完整的API文档 优惠券 有关更多详细信息。

调整

调整类似于优惠券,但它们更简单。他们是订阅余额的一次性变化。

假设您希望将订阅的余额增加4美元(可能在计费中的某些错误),您将执行以下操作:

// POST /subscriptions/{subscription_id}/adjustments.json
{
    "adjustment": {
        "amount": "4.00",
        "memo": "This is the description of an adjustment on a subscription that increases the balance by a certain dollar amount."
    }
}

请查看完整的API文档 调整 有关更多详细信息。

结算日期

管理订阅的常用方法可能是为了更改的结算日期(如下,订阅是下次处理/评估,可能会从订阅的付款方式中捕获费用)。这通常是:作为扩展或缩短试验的常见方法,或者立即处理订阅或只是改变计费日期以供使用 Calandar结算 scenarios.

更新订阅计费日期的快速示例将如下所示:

/// POST /subscriptions/{subsciption_id}.json
{
    "subscription": {
        "next_billing_at": "2016-08-29T12:00:00-04:00"
    }
}

请查看完整的API文档 更新订阅评估日期 想要查询更多的信息。

产品变化

每次您对产品进行更改时,Chargify都将创建一个项目的新“版本”。这允许您:

  • 不会扰乱原始版本上的用户(在您进行更改之前)
  • 保留产品的历史记录
  • “移动”产品版本之间的订阅。

就API而言,无法访问订阅或修改旧版本。 API将简单地与产品信息一起返回版本。

有关产品版本的更多信息,请参阅以下内容 文件.

更新付款详细信息

更新付款详细信息是您如何更改某人用于其订阅的卡。您还可以使用此方法简单地更改卡的到期日期。

If your subscriber pays taxes on their purchased product, and you are attempting to update the payment_profile, complete address information is required. For information on required address formatting to allow your subscriber to be taxed, please see our documentation 这里.

您可以以几种方式更新付款详细信息:

通过自助页面更新

您可以使用自助公共托管页面甚至新的账单门户来允许您的用户自己更新他们的信息本身。

对于公共服务页面卡更新,您只需将它们指向特定的URL:

//{subdomain}.ikvrej.icu/update_payment/{subscription_id}/{token}

  • The subdomain is just your subdomain. Our imaginary company “Acme”’s URL would start like the following: //acme.ikvrej.icu

  • The subscription_id would be the integer ID of the subscription as it is in the Chargify site/subdomain.

  • The token is calculated using the first 10 characters of the SHA-1 hex digest of this message:

message = "update_payment--{subscription_id}--{shared_key}"
token = SHA1(message)[0..9]

有关自助式卡更新公用页面的更多信息,请参阅 下列.

您的用户还可以自助服务更新他们的付款方式如果使用Chargify Charing Portal功能,请参阅 这里 想要查询更多的信息。

通过API更新

更新API在您与Chargify更直接集成的情况下非常有用。

您可以通过API进行许多执行此操作的方法,您可以:

  1. 通过订阅更新间接更新付款概况
  2. 直接更新付款概要文件

通过订阅更新更新付款方式如下所示:

笔记 - 不允许通过此端点允许Authorize.Net的部分卡更新。

/// PUT /subscriptions/{subscription_id}.json
{
    "subscription": {
        "credit_card_attributes": {
          "full_number": "2",
          "expiration_month": "10",
          "expiration_year": "2030"
        }
    }
}

更新付款配置文件直接看起来像以下内容:

// PUT /payment_profiles/{payment_profile_id}.json
{
    "payment_profile": {
        "full_number": "2",
        "expiration_month": "10",
        "expiration_year": "2030"
    }
}

请看完整 API. 文档 有关通过API更新付款配置文件的更多完整文档。

取消

取消订阅是用户需要执行的另一个常见任务,或者在无法捕获付款时代表执行。

例如,如果您想使用API​​取消订阅:

// DELETE /subscriptions/{subscription_id}.json
{
    "subscription": {
        "消除_message": "Canceling the subscription via the API"
    }
}

也可以在当前结算周期结束时取消订阅,这被称为“延迟取消”,它的API调用看起来像以下内容:

// DELETE /subscriptions/{subscription_id}.json
{
    "subscription": {
        "cancel_at_end_of_period": 1,
        "消除_message": "Canceling the subscription via the API"
    }
}

有关使用API​​取消的信息,请参阅 通过API取消.

有关取消订阅的信息,请参阅 消除.

退款

处理到任何付款方式的收费时,有时需要退款。退款仅支持我们的以下网关 帮助文件。请参阅以前链接的文件,以便最多了解网关支持退款的详细信息。

对于像Bambora这样的网关,您需要执行“手动退款”,以便在您在网关帐户中执行实际退款后将退款作为交易记录。

您可以使用API​​执行非手动退款,如以下示例:

{
    "refund": {
        "payment_id": "{payment_id}",
        "amount": "4.00",
        "memo": "Your memo here."
    }
}

You will substitute values for payment_id, amount and memo in this example. The payment_id is the ID of the payment transaction that the credit will be applied to.

有关更多信息,请参阅 API. 退款.

For a manual/external refund, the API call will be almost the exact same except you also supply a value for external:

{
    "refund": {
        "payment_id": "{payment_id}",
        "amount": "4.00",
        "memo": "Your memo here."
    },
    "external": 1
}

在手动或外部退款的情况下,将无法传递到您的网关中,它将简单地添加到订阅中,修改余额并添加事务记录。

有关更多信息,请参阅 API. 退款(外部).

订阅通过计费门户更新

通过计费门户,订阅者也可以更新订阅。结算门户是允许订阅者对其当前订阅执行某些管理行动的方法。作为商家,您还有能力限制用户可以执行的操作。

作为示例,这里有一些可以通过计费门户执行的操作示例:

  • 计划变化
  • 订阅取消
  • 信用卡更新
  • 组件购买/分配更新

有关Chargify Charing Portal的更多信息,我们鼓励您查看我们的完整文档 这里。


下一步

  • 保持应用程序数据 同步 with Chargify
  • 订阅API. 文件