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::Customer::BalanceTransaction - A Stripe Customer Balance Tranaction Object

SYNOPSIS

    my $bt = $stripe->balance_transaction({
        amount => 2000,
        currency => 'jpy',
        customer => $customer_object,
        description => 'Payment for professional service',
        invoice => $invoice_object,
        metadata => { transaction_id => 123 },
        type => 'initial',
    });

Crediting the customer:

    my $bt = $stripe->balance_transaction({
        amount => -2000,
        credit_note => $credit_note_object,
        currency => 'jpy',
        customer => $customer_object,
        description => 'Credit note for cancelled invoice',
        invoice => $invoice_object,
        metadata => { transaction_id => 123 },
        type => 'credit_note',
    });

See documentation in Net::API::Stripe for example to make api calls to Stripe to create those objects.

VERSION

    v0.100.0

DESCRIPTION

Each customer has a balance value, which denotes a debit or credit that's automatically applied to their next invoice upon finalization. You may modify the value directly by using the update customer API (https://stripe.com/docs/api/customers/update), or by creating a Customer Balance Transaction, which increments or decrements the customer's balance by the specified amount.

CONSTRUCTOR

new( %ARG )

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

METHODS

id string

Unique identifier for the object.

object string, value is "customer_balance_transaction"

String representing the object’s type. Objects of the same type share the same value.

amount integer

The amount of the transaction. A negative value is a credit for the customer’s balance, and a positive value is a debit to the customer’s balance.

created timestamp

Time at which the object was created. Measured in seconds since the Unix epoch.

credit_note string (expandable)

The ID of the credit note (if any) related to the transaction. When expanded this is a Net::API::Stripe::Billing::CreditNote object.

currency currency

Three-letter ISO currency code, in lowercase. Must be a supported currency.

customer string (expandable)

The ID of the customer the transaction belongs to. When expanded, this is a Net::API::Stripe::Customer object.

description string

An arbitrary string attached to the object. Often useful for displaying to users.

ending_balance integer

The customer’s balance after the transaction was applied. A negative value decreases the amount due on the customer’s next invoice. A positive value increases the amount due on the customer’s next invoice.

invoice string (expandable)

The ID of the invoice (if any) related to the transaction. When expanded, this is a Net::API::Stripe::Billing::Invoice object.

livemode boolean

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

metadata hash

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

type string

Transaction type: adjustment, applied_to_invoice, credit_note, initial, invoice_too_large, invoice_too_small, unapplied_from_invoice, or unspent_receiver_credit. See the Customer Balance page to learn more about transaction types.

API SAMPLE

        {
          "object": "balance",
          "available": [
                {
                  "amount": 0,
                  "currency": "jpy",
                  "source_types": {
                        "card": 0
                  }
                }
          ],
          "connect_reserved": [
                {
                  "amount": 0,
                  "currency": "jpy"
                }
          ],
          "livemode": false,
          "pending": [
                {
                  "amount": 7712,
                  "currency": "jpy",
                  "source_types": {
                        "card": 7712
                  }
                }
          ]
        }

HISTORY

v0.1

Initial version

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api/customer_balance_transactions, https://stripe.com/docs/billing/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.