The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::API::Stripe::Billing::Invoice::BalanceSettings - A Stripe Customer Invoice Balance Transaction Upon Voiding

SYNOPSIS

    my $obj = $sub->invoice_customer_balance_settings({
        # Boolean
        consume_applied_balance_on_void => 1,
    });

VERSION

    v0.100.0

DESCRIPTION

This is instantiated by method invoice_customer_balance_settings from Net::API::Stripe::Billing::Subscription

CONSTRUCTOR

new( %ARG )

Creates a new Net::API::Stripe::Billing::Invoice::BalanceSettings object. It may also take an hash like arguments, that also are method of the same name.

METHODS

consume_applied_balance_on_void

Controls whether a customer balance applied to this invoice should be consumed and not credited or debited back to the customer if voided.

Stripe support explained me: "One can void invoices only when they are in either the open or the uncollectible status but never when they are paid status. So voiding an invoice does not result in issuing a credit.

When an invoice generated by the subscription is voided, the invoice is treated as zero-value and the customer balance isn't be applied."

API SAMPLE

    {
      "id": "sub_fake124567890",
      "object": "subscription",
      "application_fee_percent": null,
      "billing_cycle_anchor": 1572739659,
      "billing_thresholds": null,
      "cancel_at_period_end": false,
      "canceled_at": null,
      "collection_method": "charge_automatically",
      "created": 1572739659,
      "current_period_end": 1575331659,
      "current_period_start": 1572739659,
      "customer": "cus_fake124567890",
      "days_until_due": null,
      "default_payment_method": null,
      "default_source": null,
      "default_tax_rates": [

      ],
      "discount": null,
      "ended_at": null,
      "invoice_customer_balance_settings": {
        "consume_applied_balance_on_void": true
      },
      "items": {
        "object": "list",
        "data": [
          {
            "id": "si_fake124567890",
            "object": "subscription_item",
            "billing_thresholds": null,
            "created": 1572739659,
            "metadata": {
            },
            "plan": {
              "id": "plan_fake124567890",
              "object": "plan",
              "active": true,
              "aggregate_usage": null,
              "amount": 999,
              "amount_decimal": "999",
              "billing_scheme": "per_unit",
              "created": 1572736765,
              "currency": "usd",
              "interval": "month",
              "interval_count": 1,
              "livemode": false,
              "metadata": {
              },
              "nickname": null,
              "product": "prod_fake124567890",
              "tiers": null,
              "tiers_mode": null,
              "transform_usage": null,
              "trial_period_days": null,
              "usage_type": "licensed"
            },
            "quantity": 1,
            "subscription": "sub_fake124567890",
            "tax_rates": [

            ]
          }
        ],
        "has_more": false,
        "url": "/v1/subscription_items?subscription=sub_fake124567890"
      },
      "latest_invoice": null,
      "livemode": false,
      "metadata": {
      },
      "next_pending_invoice_item_invoice": null,
      "pending_invoice_item_interval": null,
      "pending_setup_intent": null,
      "plan": {
        "id": "plan_fake124567890",
        "object": "plan",
        "active": true,
        "aggregate_usage": null,
        "amount": 999,
        "amount_decimal": "999",
        "billing_scheme": "per_unit",
        "created": 1572736765,
        "currency": "usd",
        "interval": "month",
        "interval_count": 1,
        "livemode": false,
        "metadata": {
        },
        "nickname": null,
        "product": "prod_fake124567890",
        "tiers": null,
        "tiers_mode": null,
        "transform_usage": null,
        "trial_period_days": null,
        "usage_type": "licensed"
      },
      "quantity": 1,
      "start_date": 1572739659,
      "status": "active",
      "tax_percent": null,
      "trial_end": null,
      "trial_start": null
    }

HISTORY

v0.1

Initial version

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api/subscriptions/object?lang=node#subscription_object-invoice_customer_balance_settings, https://stripe.com/docs/billing/invoices/workflow#void, https://stripe.com/docs/billing/customer/balance#customer-balance

COPYRIGHT & LICENSE

Copyright (c) 2019-2020 DEGUEST Pte. Ltd.

You can use, copy, modify and redistribute this package and associated files under the same terms as Perl itself.