SYNOPSIS

    my $stripe = Net::API::Stripe->new({
        debug => 3,
        conf_file => './stripe-settings.json',
        livemode => 0,
        ignore_unknown_parameters => 1,
        expand => 'all',
    }) || die( Net::API::Stripe->error );

A Stripe json settings file looks like this:

    {
        "livemode": false,
        "test_secret_key": "sk_test_1234567890abcdefg",
        "test_public_key": "pk_test_1234567890abcdefg",
        "live_secret_key": "sk_live_0987654321zyxwvut",
        "live_public_key": "pk_live_0987654321zyxwvut",
        "version": "2020-03-02",
    }

Create a customer:

    # Create an address object
    my $addr;
    if( $v->{street} || $v->{city} || $v->{postal_code} || $v->{country} )
    {
        $addr = $stripe->address({
            line1 => $v->{street},
            line2 => $v->{building},
            city => $v->{city},
            postal_code => $v->{postal_code},
            state => $v->{state},
            country => $v->{country},
        }) || bailout( "Unable to create a postal address object: ", $stripe->error );
    }
    my $cust_object = $stripe->customer({
        balance => 20000,
        address => $addr,
        # Must be set up previously before using it
        coupon => '2020DISCOUNT50',
        # Japanese Yen
        currency => 'jpy',
        description => 'VIP customer',
        email => 'john@example.com',
        invoice_prefix => 'VIP',
        # Default payment must be set up beforehand for it to be declared here
        invoice_settings => { default_payment_method => 'pm_fake1234567' },
        metadata => { db_id => 123, process_id => 456 },
        name => 'John Doe',
        phone => '+81-90-1234-5678',
        preferred_locales => [qw( en ja )],
        shipping => $addr,
    });

    # Submit this customer to Stripe for creation
    my $cust = $stripe->customers( create => $cust_object ) || die( sprintf( "Failed with error message %s and code %d\n", $stripe->error->message, $stripe->error->code ) );

Retrieve customer:

    my $cust = $stripe->customers( retrieve => 'cust_fake12345' );
    # or we can also pass a customer object
    my $cust = $stripe->customers( retrieve => $cust_object ) || do
    {
        if( $stripe->http_response->code == 404 )
        {
            die( "Customer ", $cust_object->id, " does not exist!\n" );
        }
        else
        {
            die( "Some unexpected error occurred: ", $stripe->error, "\n" );
        }
    };

Other methods are describe below and the parameters they take are documented in their respective module.

VERSION

    v1.3.0

DESCRIPTION

This is a comprehensive Stripe API. It provides an object oriented friendly interface for which I put a lot of hard work so you could spend your time on other aspects of your development.

This distribution is almost completely auto-generated based on Stripe API documentation version 2022-08-01 and contains 203 modules.

It inherits from Module::Generic{.perl-module} and Net::API::Stripe{.perl-module} sub modules inherits from Net::API::Stripe::Generic{.perl-module}

This interface aims at making it easy to make api calls to Stripe, however it is important and a time-saver to read Stripe documentation comprehensively.

This interface will do minimal data integrity check. Thus, even though this interface will check for proper data types like array, right property names used, mandatory parameters in api calls, etc it does not do any check on the data itself, so you should always check for return value from Stripe api calls and look at the Stripe error returned. If an error occured, the Stripe api method will return undef and set an error message accordingly. See "ERROR HANDLING"{.perl-module}

CONSTRUCTOR

new

Provided with an hash of parameters and this creates a new Net::API::Stripe{.perl-module} objects.

Its arguments also have methods of the same name.

api_uri

: The base uri of the Stripe API. This should not be changed.

browser

: The user agent id to use when making http api calls

conf_file

: The file path to the configuration file. Each property in this configuration file is same as the parameters to instantiate a new Net::API::Stripe{.perl-module} object.

debug

: Toggles debug mode on/off

expand

: Integer. Sets the depth level of expansion of Stripe objects. If objects are not expanded, Stripe API will return the object id, but when they are expanded, Stripe returns the entire object and its properties. You can then chain your code and do something like:

        print $cust->invoice_settings->default_payment_method->type

ignore_unknown_parameters

: Boolean. When this is on, this will ignore any properties sent back from Stripe API that are unknown to us. This happens frequently as Stripe updates its API. When this value is set to false, then unknown properties will cause this to stop processing and return an error.

livemode

: Boolean value to toggle test or live mode

verbose

: Toggles verbose mode on/off

version

: The version of the Stripe API to use. Example 2020-03-02

METHODS

account

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Account{.perl-module} object.

account_bank_account

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} object.

account_card

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::ExternalAccount::Card{.perl-module} object.

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Account::Link{.perl-module} object.

address

Provided with optional hash parameters, this returns a Net::API::Stripe::Address{.perl-module} object.

address_kana

Provided with optional hash parameters, this returns an Net::API::Stripe::AddressKana{.perl-module} object.

address_kanji

Provided with optional hash parameters, this returns an Net::API::Stripe::AddressKanji{.perl-module} object.

amount

Provided with a number, this returns a Module::Generic::Number{.perl-module} object, which extends Number::Format{.perl-module}

api_uri

Returns the URI{.perl-module} object of the Stripe api.

application_fee

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ApplicationFee{.perl-module} object.

application_fee_refund

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ApplicationFee::Refund{.perl-module} object.

apps_secret

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::AppsSecret{.perl-module} object.

authorization

Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Authorization{.perl-module} object.

balance

Provided with optional hash parameters, this returns a Net::API::Stripe::Balance{.perl-module} object.

balance_transaction

Provided with optional hash parameters, this returns a Net::API::Stripe::Balance::Transaction{.perl-module} object.

bank_account

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} object.

billing_details

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Details{.perl-module} object.

billing_portal_configuration

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::PortalConfiguration{.perl-module} object.

billing_portal_session

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::PortalSession{.perl-module} object.

billing_thresholds

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Thresholds{.perl-module} object.

browser

Set or get the user agent string used when making calls to Stripe API.

business_profile

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Business::Profile{.perl-module} object.

capability

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Account::Capability{.perl-module} object.

card

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ExternalAccount::Card{.perl-module} object.

card_holder

Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Card::Holder{.perl-module} object.

charge

Provided with optional hash parameters, this returns a Net::API::Stripe::Charge{.perl-module} object.

checkout_session

Provided with optional hash parameters, this returns an Net::API::Stripe::Checkout::Session{.perl-module} object.

code2error

Given a code returned by Stripe upon error, this returns the corresponding string.

    my $cust = $stripe->customers( retrieve => $id ) || 
      die( $stripe->code2error( $stripe->error->code ), "\n" );

code_verification

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Source::CodeVerification{.perl-module} object.

company

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::Company{.perl-module} object.

conf_file( [ file path ] )

Given a json configuration file, it will read the data, set the property conf_data to the decoded hash and return it. When called without argument, it returns the current value of conf_data.

connection_token

Provided with optional hash parameters, this returns a Net::API::Stripe::Terminal::ConnectionToken{.perl-module} object.

country_spec

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::CountrySpec{.perl-module} object.

coupon

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Coupon{.perl-module} object.

credit_note

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::CreditNote{.perl-module} object.

currency

Set or get the 3-letter iso 4217 currency, such as jpy for Japanese yen or eur for Euro.

customer

Provided with optional hash parameters, this returns a Net::API::Stripe::Customer{.perl-module} object.

customer_balance_transaction

Provided with optional hash parameters, this returns a Net::API::Stripe::Customer::BalanceTransaction{.perl-module} object.

customer_cash_balance_transaction

Provided with optional hash parameters, this returns an Net::API::Stripe::Cash::Transaction{.perl-module} object.

customer_tax_id

Provided with optional hash parameters, this returns a Net::API::Stripe::Customer::TaxId{.perl-module} object.

data

Provided with optional hash parameters, this returns an Net::API::Stripe::Event::Data{.perl-module} object.

delete( END POINT, HASH PAYLOAD )

Given a Stripe end point as a URI absolute path, and a payload as a hash reference, this will issue a DELETE http query and return a hash reference corresponding to the json data returned by Stripe, or, in case of error, it will return undef and set the error which can be accessed with $stripe-error> (a Module::Generic::Exception{.perl-module} object).

discount

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Discount{.perl-module} object.

dispute

Provided with optional hash parameters, this returns a Net::API::Stripe::Dispute{.perl-module} object.

document

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::Document{.perl-module} object.

encode_with_json

Takes a bollean value. This is used to set whether the payload should be encoded with json. This should not be changed.

event

Provided with optional hash parameters, this returns a Net::API::Stripe::Event{.perl-module} object.

evidence

Provided with optional hash parameters, this returns an Net::API::Stripe::Issuing::Dispute::Evidence{.perl-module} object.

evidence_details

Provided with optional hash parameters, this returns an Net::API::Stripe::Dispute::EvidenceDetails{.perl-module} object.

expand

Integer. Sets or get the depth of Stripe object expansion. See Stripe api documentation for more information: https://stripe.com/docs/api/expanding_objects

fee_refund

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::ApplicationFee::Refund{.perl-module} object.

fields

Given an object type, this returns an array reference of all the methods (aka fields) for that module.

file

Provided with optional hash parameters, this returns a Net::API::Stripe::File{.perl-module} object.

Provided with optional hash parameters, this returns a Net::API::Stripe::File::Link{.perl-module} object.

financial_connections_account

Provided with optional hash parameters, this returns an Net::API::Stripe::Financial::Connections::Account{.perl-module} object.

financial_connections_account_owner

Provided with optional hash parameters, this returns an Net::API::Stripe::Financial::Connections::AccountOwner{.perl-module} object.

financial_connections_account_ownership

Provided with optional hash parameters, this returns an Net::API::Stripe::Financial::Connections::AccountOwnership{.perl-module} object.

financial_connections_session

Provided with optional hash parameters, this returns an Net::API::Stripe::Financial::Connections::Session{.perl-module} object.

fraud

Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud{.perl-module} object.

funding_instructions

Provided with optional hash parameters, this returns an Net::API::Stripe::Issuing::FundingInstructions{.perl-module} object.

generate_uuid

Returns a uuid version 4. This uses Data::UUID{.perl-module} to achieve that.

get( END POINT, HASH PAYLOAD )

Given a Stripe absolute uri and a hash reference, this will issue a http GET request and return a hash reference representing the json data returned by Stripe or undef if an error occurred. The error can then be retrieved like $stripe-error> which is a Module::Generic::Exception{.perl-module} object.

http_client

This returns the LWP::UserAgent{.perl-module} object and create it if it is not yet instantiated.

http_request

Get or set the HTTP::Request{.perl-module} based on the data provided.

http_response

Get or set the HTTP::Response{.perl-module} based on the data provided.

identity_verification_report

Provided with optional hash parameters, this returns an Net::API::Stripe::Identity::VerificationReport{.perl-module} object.

identity_verification_session

Provided with optional hash parameters, this returns an Net::API::Stripe::Identity::VerificationSession{.perl-module} object.

ignore_unknown_parameters

Boolean. When true, this module will ignore unknown properties returned from calls made to Stripe api. if set to false, and an unknown property is received, this will generate an error and return undef, stopping the flow of the request instead of ignoring it.

invoice

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice{.perl-module} object.

invoice_item

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice::Item{.perl-module} object.

invoice_line_item

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice::LineItem{.perl-module} object.

invoice_settings

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice::Settings{.perl-module} object.

invoiceitem

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Invoice::Item{.perl-module} object.

ip_address_location

Provided with optional hash parameters, this returns an Net::API::Stripe::GeoLocation{.perl-module} object.

issuing_authorization

Provided with optional hash parameters, this returns an Net::API::Stripe::Issuing::Authorization{.perl-module} object.

issuing_card

Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Card{.perl-module} object.

issuing_cardholder

Provided with optional hash parameters, this returns an Net::API::Stripe::Issuing::Card::Holder{.perl-module} object.

issuing_dispute

Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Dispute{.perl-module} object.

issuing_transaction

Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Transaction{.perl-module} object.

item

Provided with optional hash parameters, this returns an Net::API::Stripe::List::Item{.perl-module} object.

json

This returns a JSON object with option allow_nonref enabled.

key( STRIPE API SECRET KEY )

Provided with your Stripe api secret key, this will set this property accordingly, but will also set the auth property as well. auth is used to authenticate you when making calls to Stripe api. auth would be something like this:

    Basic c2tfMTIzNDU2Nzg5MGFiY2RlZmdoaWo6Cg

line_item

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Invoice::LineItem{.perl-module} object.

livemode

Boolean. Set or get the livemode status. If it is true, then all api query will be mad in live mode.

location

Provided with optional hash parameters, this returns a Net::API::Stripe::Terminal::Location{.perl-module} object.

Provided with optional hash parameters this returns a Net::API::Stripe::Connect::Account::LoginLink{.perl-module} object.

merchant_data

Provided with optional hash parameters, this returns an Net::API::Stripe::Issuing::MerchantData{.perl-module} object.

next_action

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Intent::NextAction{.perl-module} object.

order

Provided with optional hash parameters, this returns a Net::API::Stripe::Order{.perl-module} object.

order_item

Provided with optional hash parameters, this returns a Net::API::Stripe::Order::Item{.perl-module} object.

outcome

Provided with optional hash parameters, this returns an Net::API::Stripe::Charge::Outcome{.perl-module} object.

owner

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Source::Owner{.perl-module} object.

package_dimensions

Provided with optional hash parameters, this returns an Net::API::Stripe::Order::SKU::PackageDimensions{.perl-module} object.

payment_intent

Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Intent{.perl-module} object.

payment_method

Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Method{.perl-module} object.

payment_method_details

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Method::Details{.perl-module} object.

payout

Provided with optional hash parameters, this returns a Net::API::Stripe::Payout{.perl-module} object.

period

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Invoice::Period{.perl-module} object.

person

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Person{.perl-module} object.

plan

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Plan{.perl-module} object.

post( END POINT, HASH PAYLOAD )

Given a Stripe end point absolute uri and a hash reference, this will issue a POST http request to the Stripe api and return a hash reference representing the object provided by Stripe or undef with an error set, which can be retrieved using the "error"{.perl-module} method.

If no idempotency parameter was provided, post will automatically create one.

post_multipart( END POINT, HASH PAYLOAD )

Given a Stripe end point absolute uri and a hash reference, this will issue a POST multipart http request to the Stripe api and return a hash reference representing the object returned by Stripe. If an error had occurred, it will return undef and set an error that can be retrieved using the "error"{.perl-module} method.

This method is used primarily when upload file. See the section below on "FILES"{.perl-module}

price

Provided with optional hash parameters, this returns an Net::API::Stripe::Price{.perl-module} object.

product

Provided with optional hash parameters, this returns a Net::API::Stripe::Product{.perl-module} object.

radar_early_fraud_warning

Provided with optional hash parameters, this returns an Net::API::Stripe::Fraud{.perl-module} object.

radar_value_list

Provided with optional hash parameters, this returns an Net::API::Stripe::Fraud::ValueList{.perl-module} object.

radar_value_list_item

Provided with optional hash parameters, this returns an Net::API::Stripe::Fraud::ValueList::Item{.perl-module} object.

reader

Provided with optional hash parameters, this returns a Net::API::Stripe::Terminal::Reader{.perl-module} object.

receiver

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Source::Receiver{.perl-module} object.

redirect

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Source::Redirect{.perl-module} object.

refund

Provided with optional hash parameters, this returns a Net::API::Stripe::Refund{.perl-module} object.

relationship

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::Relationship{.perl-module} object.

reporting_report_run

Provided with optional hash parameters, this returns an Net::API::Stripe::Reporting::ReportRun{.perl-module} object.

reporting_report_type

Provided with optional hash parameters, this returns an Net::API::Stripe::Reporting::ReportType{.perl-module} object.

request

Provided with optional hash parameters, this returns an Net::API::Stripe::Event::Request{.perl-module} object.

requirements

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::Requirements{.perl-module} object.

return

Provided with optional hash parameters, this returns a Net::API::Stripe::Order::Return{.perl-module} object.

review

Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud::Review{.perl-module} object.

schedule

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

schedule_query

Provided with optional hash parameters, this returns a Net::API::Stripe::Sigma::ScheduledQueryRun{.perl-module} object.

scheduled_query_run

Provided with optional hash parameters, this returns an Net::API::Stripe::Sigma::ScheduledQueryRun{.perl-module} object.

session

Provided with optional hash parameters, this returns a Net::API::Stripe::Checkout::Session{.perl-module} object.

settings

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::Settings{.perl-module} object.

setup_intent

Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Intent::Setup{.perl-module} object.

shipping

Provided with optional hash parameters, this returns a Net::API::Stripe::Shipping{.perl-module} object.

sku

Provided with optional hash parameters, this returns a Net::API::Stripe::Order::SKU{.perl-module} object.

source

Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Source{.perl-module} object.

source_order

Provided with optional hash parameters, this returns an Net::API::Stripe::Order{.perl-module} object.

status_transitions

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Invoice::StatusTransition{.perl-module} object.

subscription

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Subscription{.perl-module} object.

subscription_item

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Subscription::Item{.perl-module} object.

subscription_schedule

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

tax_ids

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::TaxID{.perl-module} object.

tax_rate

Provided with optional hash parameters, this returns a Net::API::Stripe::Tax::Rate{.perl-module} object.

terminal_configuration

Provided with optional hash parameters, this returns an Net::API::Stripe::Terminal::Configuration{.perl-module} object.

terminal_connection_token

Provided with optional hash parameters, this returns an Net::API::Stripe::Terminal::ConnectionToken{.perl-module} object.

terminal_location

Provided with optional hash parameters, this returns an Net::API::Stripe::Terminal::Location{.perl-module} object.

terminal_reader

Provided with optional hash parameters, this returns an Net::API::Stripe::Terminal::Reader{.perl-module} object.

test_helpers_test_clock

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::TestHelpersTestClock{.perl-module} object.

token

Provided with optional hash parameters, this returns a Net::API::Stripe::Token{.perl-module} object.

topup

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::TopUp{.perl-module} object.

tos_acceptance

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::TosAcceptance{.perl-module} object.

transfer

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Transfer{.perl-module} object.

transfer_data

Provided with optional hash parameters, this returns an Net::API::Stripe::Payment::Intent::TransferData{.perl-module} object.

transfer_reversal

Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Transfer::Reversal{.perl-module} object.

transform_usage

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::Plan::TransformUsage{.perl-module} object.

treasury_credit_reversal

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::CreditReversal{.perl-module} object.

treasury_debit_reversal

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::DebitReversal{.perl-module} object.

treasury_financial_account

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::FinancialAccount{.perl-module} object.

treasury_financial_account_features

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::FinancialAccountFeatures{.perl-module} object.

treasury_inbound_transfer

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::InboundTransfer{.perl-module} object.

treasury_outbound_payment

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::OutboundPayment{.perl-module} object.

treasury_outbound_transfer

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::OutboundTransfer{.perl-module} object.

treasury_received_credit

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::ReceivedCredit{.perl-module} object.

treasury_received_debit

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::ReceivedDebit{.perl-module} object.

treasury_transaction

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::Transaction{.perl-module} object.

treasury_transaction_entry

Provided with optional hash parameters, this returns an Net::API::Stripe::Treasury::TransactionEntry{.perl-module} object.

usage_record

Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::UsageRecord{.perl-module} object.

usage_record_summary

Provided with optional hash parameters, this returns an Net::API::Stripe::Billing::UserRecord::Summary{.perl-module} object.

value_list

Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud::ValueList{.perl-module} object.

value_list_item

Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud::ValueList::Item{.perl-module} object.

verification

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::Account::Verification{.perl-module} object.

verification_data

Provided with optional hash parameters, this returns an Net::API::Stripe::Issuing::Authorization::VerificationData{.perl-module} object.

verification_fields

Provided with optional hash parameters, this returns an Net::API::Stripe::Connect::CountrySpec::VerificationFields{.perl-module} object.

version

Set or get the api version. This must be set on the Stripe dashboard{.perl-module}

webhook

Provided with optional hash parameters, this returns a Net::API::Stripe::WebHook::Object{.perl-module} object.

webhook_endpoint

Provided with optional hash parameters, this returns an Net::API::Stripe::WebHook::Object{.perl-module} object.

ACCOUNT

You can create, delete, list, reject, retrieve or update account

create

    my $obj = $stripe->accounts( create => {
        capabilities =>
        {
            card_payments =>
            {
                requested => "1",
            }
            transfers     =>
            {
                requested => "1",
            }
        }
        country      => "US",
        email        => q{jenny.rosen@example.com},
        type         => "custom", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::Account{.perl-module} object or a hash reference, this will create a Stripe account and return an Net::API::Stripe::Connect::Account{.perl-module} object.

Possible parameters are:

account_token

: An account token{.perl-module}, used to securely provide details to the account.

business_profile

: Business information about the account.

business_type

: The business type.

capabilities

: required for Custom accounts Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.

company

: Information about the company or business. This field is available for any business_type.

country

: The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use CA as the country for the account being created. Available countries include Stripe's global markets{.perl-module} as well as countries where cross-border payouts{.perl-module} are supported.

default_currency

: Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country{.perl-module}.

documents

: Documents that may be submitted to satisfy various informational requests.

email

: The email address of the account holder. This is only to make the account easier to identify to you. Stripe only emails Custom accounts with your consent.

external_account

: A card or bank account to attach to the account for receiving payouts{.perl-module} (you won't be able to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js{.perl-module}, or a dictionary, as documented in the external_account parameter for bank account{.perl-module} creation. <br><br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account{.perl-module} or card creation{.perl-module} APIs.

individual

: Information about the person represented by the account. This field is null unless business_type is set to individual.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

settings

: Options for customizing how the account functions within Stripe.

tos_acceptance

: Details on the account's acceptance of the Stripe Services Agreement{.perl-module}.

type

: Required. The type of Stripe account to create. May be one of custom, express or standard.

More information from Stripe api documentation at https://stripe.com/docs/api/accounts/create

delete

    my $obj = $stripe->accounts( delete => $args ) || die( $stripe->error );

Provided with a account{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the account. It returns the account object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/accounts/delete

list

    my $obj = $stripe->accounts( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a account{.perl-module} object, this issue an api call to get the list of all account.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/accounts/list

reject

    my $obj = $stripe->accounts( reject => {
        reason => "fraud", } ) || die( $stripe->error );

Provided with a account{.perl-module}, or a hash reference, this will issue a reject api call.

Returns an account with payouts_enabled and charges_enabled set to false on success. If the account ID does not exist, this call returns an error{.perl-module}.

Possible parameters are:

reason

: Required. The reason for rejecting the account. Can be fraud, terms_of_service, or other.

More information from Stripe api documentation at https://stripe.com/docs/api/account/reject

retrieve

    my $obj = $stripe->accounts( retrieve => $args ) || die( $stripe->error );

Provided with a account{.perl-module} object or a hash reference, this will retrieve a Stripe account and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/accounts/retrieve

update

    my $obj = $stripe->accounts( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a account{.perl-module} object or a hash reference, this will update a Stripe account and return its corresponding object{.perl-module}

Possible parameters are:

account_token

: An account token{.perl-module}, used to securely provide details to the account.

business_profile

: Business information about the account.

business_type

: The business type.

capabilities

: Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.

company

: Information about the company or business. This field is available for any business_type.

default_currency

: Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country{.perl-module}.

documents

: Documents that may be submitted to satisfy various informational requests.

email

: The email address of the account holder. This is only to make the account easier to identify to you. Stripe only emails Custom accounts with your consent.

external_account

: A card or bank account to attach to the account for receiving payouts{.perl-module} (you won't be able to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js{.perl-module}, or a dictionary, as documented in the external_account parameter for bank account{.perl-module} creation. <br><br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account{.perl-module} or card creation{.perl-module} APIs.

individual

: Information about the person represented by the account. This field is null unless business_type is set to individual.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

settings

: Options for customizing how the account functions within Stripe.

tos_acceptance

: Details on the account's acceptance of the Stripe Services Agreement{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/accounts/update

ACCOUNT BANK ACCOUNT

You can create, delete, list, retrieve or update account bank account

create

    my $obj = $stripe->account_bank_accounts( create => {
        external_account => "btok_1Le9F12eZvKYlo2CGBPhcUyo", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} object or a hash reference, this will create a Stripe account bank account and return an Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} object.

Possible parameters are:

default_for_currency

: When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.

external_account

: Required. Either a token, like the ones returned by Stripe.js{.perl-module}, or a dictionary containing a user's bank account details (with the options shown below).

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_bank_accounts/create

delete

    my $obj = $stripe->account_bank_accounts( delete => $args ) || die( $stripe->error );

Provided with a account bank account{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the account bank account. It returns the account bank account object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_bank_accounts/delete

list

    my $obj = $stripe->account_bank_accounts( list => {
        limit  => "3",
        object => "bank_account", } ) || die( $stripe->error );

Provided with a account bank account{.perl-module} object, this issue an api call to get the list of all account bank account.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_bank_accounts/list

retrieve

    my $obj = $stripe->account_bank_accounts( retrieve => $args ) || die( $stripe->error );

Provided with a account bank account{.perl-module} object or a hash reference, this will retrieve a Stripe account bank account and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_bank_accounts/retrieve

update

    my $obj = $stripe->account_bank_accounts( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a account bank account{.perl-module} object or a hash reference, this will update a Stripe account bank account and return its corresponding object{.perl-module}

Possible parameters are:

account_holder_name

: The name of the person or business that owns the bank account.

account_holder_type

: The type of entity that holds the account. This can be either individual or company.

account_type

: The bank account type. This can only be checking or savings in most countries. In Japan, this can only be futsu or toza.

default_for_currency

: When set to true, this becomes the default external account for its currency.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_bank_accounts/update

ACCOUNT CARD

You can create, delete, list, retrieve or update account card

create

    my $obj = $stripe->account_cards( create => {
        external_account => "tok_mastercard_debit", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::ExternalAccount::Card{.perl-module} object or a hash reference, this will create a Stripe account card and return an Net::API::Stripe::Connect::ExternalAccount::Card{.perl-module} object.

Possible parameters are:

default_for_currency

: When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.

external_account

: Required. A token, like the ones returned by Stripe.js{.perl-module}. Stripe will automatically validate the card.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_cards/create

delete

    my $obj = $stripe->account_cards( delete => $args ) || die( $stripe->error );

Provided with a account card{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the account card. It returns the account card object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_cards/delete

list

    my $obj = $stripe->account_cards( list => {
        limit  => "3",
        object => "card", } ) || die( $stripe->error );

Provided with a account card{.perl-module} object, this issue an api call to get the list of all account card.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_cards/list

retrieve

    my $obj = $stripe->account_cards( retrieve => $args ) || die( $stripe->error );

Provided with a account card{.perl-module} object or a hash reference, this will retrieve a Stripe account card and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_cards/retrieve

update

    my $obj = $stripe->account_cards( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a account card{.perl-module} object or a hash reference, this will update a Stripe account card and return its corresponding object{.perl-module}

Possible parameters are:

address_city

: City/District/Suburb/Town/Village.

address_country

: Billing address country, if provided when creating card.

address_line1

: Address line 1 (Street address/PO Box/Company name).

address_line2

: Address line 2 (Apartment/Suite/Unit/Building).

address_state

: State/County/Province/Region.

address_zip

: ZIP or postal code.

default_for_currency

: When set to true, this becomes the default external account for its currency.

exp_month

: Two digit number representing the card's expiration month.

exp_year

: Four digit number representing the card's expiration year.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: Cardholder name.

More information from Stripe api documentation at https://stripe.com/docs/api/external_account_cards/update

ACCOUNT LINK

You can create account link

create

    my $obj = $stripe->account_links( create => {
        account     => "acct_1032D82eZvKYlo2C",
        refresh_url => "https://example.com/reauth",
        return_url  => "https://example.com/return",
        type        => "account_onboarding", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::Account::Link{.perl-module} object or a hash reference, this will create a Stripe account link and return an Net::API::Stripe::Connect::Account::Link{.perl-module} object.

Possible parameters are:

account

: Required. The identifier of the account to create an account link for.

collect

: Which information the platform needs to collect from the user. One of currently_due or eventually_due. Default is currently_due.

refresh_url

: required The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user.

return_url

: required The URL that the user will be redirected to upon leaving or completing the linked flow.

type

: Required. The type of account link the user is requesting. Possible values are account_onboarding or account_update.

More information from Stripe api documentation at https://stripe.com/docs/api/account_links/create

APPLICATION FEE

You can list or retrieve application fee

list

    my $obj = $stripe->application_fees( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a application fee{.perl-module} object, this issue an api call to get the list of all application fee.

Possible parameters are:

charge

: Only return application fees for the charge specified by this charge ID.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/application_fees/list

retrieve

    my $obj = $stripe->application_fees( retrieve => $args ) || die( $stripe->error );

Provided with a application fee{.perl-module} object or a hash reference, this will retrieve a Stripe application fee and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/application_fees/retrieve

APPS SECRET

You can delete, find, list or set apps secret

delete

    my $obj = $stripe->apps_secrets( delete => {
        name  => "my-api-key",
        scope =>
        {
            type => "account",
        } } ) || die( $stripe->error );

Provided with a apps secret{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the apps secret. It returns the apps secret object that was deleted with its property deleted set to true.

Possible parameters are:

name

: Required. A name for the secret that's unique within the scope.

scope

: Required. Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.

More information from Stripe api documentation at https://stripe.com/docs/api/apps/secret_store/delete

find

    my $obj = $stripe->apps_secrets( find => {
        name  => "my-api-key",
        scope =>
        {
            type => "account",
        } } ) || die( $stripe->error );

Provided with a apps secret{.perl-module}, or a hash reference, this will issue a find api call.

Returns a secret object.

Possible parameters are:

name

: Required. A name for the secret that's unique within the scope.

scope

: Required. Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.

More information from Stripe api documentation at https://stripe.com/docs/api/apps/secret_store/find

list

    my $obj = $stripe->apps_secrets( list => {
        limit => "2",
        scope =>
        {
            type => "account",
        } } ) || die( $stripe->error );

Provided with a apps secret{.perl-module} object, this issue an api call to get the list of all apps secret.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

scope

: Required. Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/apps/secret_store/list

set

    my $obj = $stripe->apps_secrets( set => {
        name    => "my-api-key",
        payload => "secret_key_xxxxxx",
        scope   =>
        {
            type => "account",
        } } ) || die( $stripe->error );

Provided with a apps secret{.perl-module}, or a hash reference, this will issue a set api call.

Returns a secret object.

Possible parameters are:

expires_at

: The Unix timestamp for the expiry time of the secret, after which the secret deletes.

name

: Required. A name for the secret that's unique within the scope.

payload

: Required. The plaintext secret value to be stored.

scope

: Required. Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user.

More information from Stripe api documentation at https://stripe.com/docs/api/apps/secret_store/set

BALANCE

You can retrieve balance

retrieve

    my $obj = $stripe->balances( retrieve => $args ) || die( $stripe->error );

Provided with a balance{.perl-module} object or a hash reference, this will retrieve a Stripe balance and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/balance/balance_retrieve

BALANCE TRANSACTION

You can retrieve or list the balance transactions.

list

This can take various parameter to influence the list of data returned by Stripe. It returns a Net::API::Stripe::List{.perl-module} object of Net::API::Stripe::Balance::Transaction{.perl-module} objects. Valid parameters are as follows. See Stripe API for more information: https://stripe.com/docs/api/balance_transactions/list

    my $list = $stripe->balance_transactions( 'list' ) || die( $stripe->error );
    while( my $bt = $list->next )
    {
        printf( <<EOT, $bt->id, $bt->amount, $bt->created->iso8601, $bt->currency, $bt->customer->name, $bt->description );
Id: %s
Amount: %s
Created on: $s
Currency: %s
Cusomer name: %s
Description: %s
EOT
    }

Possible parameters are:

available_on

:

created

:

currency

: 3-letter iso 4217 currency

ending_before

: Stripe balance transaction id

limit

: Integer

payout

:

source

:

starting_after

:

type

: Only returns transactions of the given type

retrieve

    my $trans = $stripe->balances( retrieve => 'txn_fake1234567890' ) || die( $stripe->error );

Provided a balance_transaction object or an id, this returns a Net::API::Stripe::Balance::Transaction{.perl-module} object or undef upon error.

BALANCES

You an retrieve balances.

retrieve

    my $bal = $stripe->balances( 'retrieve' ) || die( $stripe->error );

Provided with a Net::API::Stripe::Balance{.perl-module} object, or a hash reference, this will retrieve a Stripe balance and return its Net::API::Stripe::Balance{.perl-module} object.

There is no argument.

BANK ACCOUNT

You can create, delete, list, retrieve, update or verify bank account

create

    my $acct = $stripe->bank_accounts( create => $stripe->bank_account({
        account_holder_name => 'Big Corp, Inc',
        account_holder_type => 'company',
        bank_name => 'Big Bank, Corp'
        country => 'us',
        currency => 'usd',
        # Net::API::Stripe::Customer object
        customer => $customer_object,
        default_for_currency => $stripe->true,
        fingerprint => 'kshfkjhfkjsjdla',
        last4 => 1234,
        metadata => { transaction_id => 2222 },
        routing_number => 123,
        status => 'new',
    })) || die( "Oops: ", $stripe->error );

Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} that has its account property set, or simply a hash reference this will create a Stripe bank account and return its object as a Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module}

Possible parameters are:

account

: A Stripe account id. This is required.

external_account This is required. Either a token, like the ones returned by Stripe.js, or a hash reference containing a user’s bank account details with the following properties:

:

*object* (required)

:   

*country* (required)

:   

*currency* (required)

:   

*account\_holder\_name*

:   

*account\_holder\_type*

:   

*routing\_number*

:   

*account\_number* (required)

:   

default_for_currency Boolean

:

metadata

: An arbitrary hash reference

For more information see Stripe documentation here: https://stripe.com/docs/api/external_account_bank_accounts/create

delete

    my $removed_acct = $stripe->bank_accounts( delete => 'ba_fake123456789' ) || die( "Oops: ", $stripe->error );

Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} that has its account property set, or simply a hash reference this will remove a Stripe bank account and return its object as a Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module}

Possible parameters are:

id

: A Stripe bank account id. This is required.

account

: A Stripe account id. This is required.

For more information see Stripe documentation here: https://stripe.com/docs/api/external_account_bank_accounts/delete

list

    my $list = $stripe->bank_accounts( 'list' ) || die( $stripe->error );
    printf( "%d total transaction(s) found\n", $list->count );
    while( my $acct = $list->next )
    {
        ## Do something with this object
    }

Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} that has its account property set, or simply a hash reference this will list all Stripe bank accounts and return a list object as a Net::API::Stripe::List{.perl-module}

Possible parameters are:

account

: A Stripe account id. This is required.

For more information see Stripe documentation here: https://stripe.com/docs/api/external_account_bank_accounts/list

retrieve

    my $acct = $stripe->bank_accounts( retrieve => 'ba_fake123456789' ) || die( "Oops: ", $stripe->error );

Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} that has its account property set, or simply a hash reference this will retrieve a Stripe bank account and return its object as a Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module}

Possible parameters are:

id

: A Stripe bank account id. This is required.

account

: A Stripe account id. This is required.

For more information see Stripe documentation here: https://stripe.com/docs/api/external_account_bank_accounts/retrieve

update

    my $acct = $stripe->bank_accounts( update => $stripe->bank_account({
        account_holder_name => 'Big Corp, Co., Ltd.',
        default_for_currency => $stripe->false,
    })) || die( "Oops: ", $stripe->error );

    # or passing a hash rather than an object

    my $acct = $stripe->bank_accounts( update => {
        account_holder_name => 'Big Corp, Co., Ltd.',
        default_for_currency => $stripe->false,
    }) || die( "Oops: ", $stripe->error );

Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module} that has its account property set, or simply a hash reference this will update a Stripe bank account and return its object as a Net::API::Stripe::Connect::ExternalAccount::Bank{.perl-module}

Possible parameters are:

id

: A Stripe bank account id. This is required.

account

: A Stripe account id. This is required.

account_holder_name String

:

account_holder_type String

:

default_for_currency Boolean

:

metadata

: An arbitrary hash reference

For more information see Stripe documentation here: https://stripe.com/docs/api/external_account_bank_accounts/update

verify

    my $obj = $stripe->bank_accounts( verify => {
        amounts => [qw( 32 45 )], } ) || die( $stripe->error );

Provided with a bank account{.perl-module}, or a hash reference, this will issue a verify api call.

Returns the bank account object with a status of <strong>verified</strong>.

Possible parameters are:

amounts

: Two positive integers, in cents, equal to the values of the microdeposits sent to the bank account.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_bank_accounts/verify

BILLING PORTAL CONFIGURATION

You can create, list, retrieve or update billing portal configuration

create

    my $obj = $stripe->billing_portal_configurations( create => {
        business_profile =>
        {
            privacy_policy_url   => "https://example.com/privacy",
            terms_of_service_url => "https://example.com/terms",
        }
        features         =>
        {
            customer_update =>
            {
                allowed_updates => [qw( email tax_id )],
                enabled         => "1",
            }
            invoice_history =>
            {
                enabled => "1",
            }
        } } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::PortalConfiguration{.perl-module} object or a hash reference, this will create a Stripe billing portal configuration and return an Net::API::Stripe::Billing::PortalConfiguration{.perl-module} object.

Possible parameters are:

business_profile

: Required. The business information shown to customers in the portal.

default_return_url

: The default URL to redirect customers to when they click on the portal's link to return to your website. This can be overriden{.perl-module} when creating the session.

features

: Required. Information about the features available in the portal.

login_page

: The hosted login page for this configuration. Learn more about the portal login page in our integration docs{.perl-module}.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_portal/configurations/create

list

    my $obj = $stripe->billing_portal_configurations( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a billing portal configuration{.perl-module} object, this issue an api call to get the list of all billing portal configuration.

Possible parameters are:

active

: Only return configurations that are active or inactive (e.g., pass true to only list active configurations).

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

is_default

: Only return the default or non-default configurations (e.g., pass true to only list the default configuration).

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_portal/configurations/list

retrieve

    my $obj = $stripe->billing_portal_configurations( retrieve => $args ) || die( $stripe->error );

Provided with a billing portal configuration{.perl-module} object or a hash reference, this will retrieve a Stripe billing portal configuration and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_portal/configurations/retrieve

update

    my $obj = $stripe->billing_portal_configurations( update => {
        business_profile =>
        {
            privacy_policy_url   => "https://example.com/privacy",
            terms_of_service_url => "https://example.com/terms",
        } } ) || die( $stripe->error );

Provided with a billing portal configuration{.perl-module} object or a hash reference, this will update a Stripe billing portal configuration and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the configuration is active and can be used to create portal sessions.

business_profile

: The business information shown to customers in the portal.

default_return_url

: The default URL to redirect customers to when they click on the portal's link to return to your website. This can be overriden{.perl-module} when creating the session.

features

: Information about the features available in the portal.

login_page

: The hosted login page for this configuration. Learn more about the portal login page in our integration docs{.perl-module}.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_portal/configurations/update

BILLING PORTAL SESSION

You can create billing portal session

create

    my $obj = $stripe->billing_portal_sessions( create => {
        customer   => "cus_AJ78ZaALpqgiuZ",
        return_url => "https://example.com/account", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::PortalSession{.perl-module} object or a hash reference, this will create a Stripe billing portal session and return an Net::API::Stripe::Billing::PortalSession{.perl-module} object.

Possible parameters are:

configuration

: The ID of an existing configuration{.perl-module} to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.

customer

: Required. The ID of an existing customer.

locale

: The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer's preferred_locales or browser's locale is used.

on_behalf_of

: The on_behalf_of account to use for this session. When specified, only subscriptions and invoices with this on_behalf_of account appear in the portal. For more information, see the docs{.perl-module}. Use the Accounts API{.perl-module} to modify the on_behalf_of account's branding settings, which the portal displays.

return_url

: The default URL to redirect customers to when they click on the portal's link to return to your website.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_portal/sessions/create

CAPABILITY

You can list, retrieve or update capability

list

    my $obj = $stripe->capabilitys( list => $args ) || die( $stripe->error );

Provided with a capability{.perl-module} object, this issue an api call to get the list of all capability.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/capabilities/list

retrieve

    my $obj = $stripe->capabilitys( retrieve => $args ) || die( $stripe->error );

Provided with a capability{.perl-module} object or a hash reference, this will retrieve a Stripe capability and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/capabilities/retrieve

update

    my $obj = $stripe->capabilitys( update => {
        requested => "1", } ) || die( $stripe->error );

Provided with a capability{.perl-module} object or a hash reference, this will update a Stripe capability and return its corresponding object{.perl-module}

Possible parameters are:

requested

: Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the requirements arrays.

More information from Stripe api documentation at https://stripe.com/docs/api/capabilities/update

CARD

You can create, retrieve, update, delete or list cards.

create

Provided a customer object Net::API::Stripe::Customer{.perl-module} or a card object Net::API::Stripe::Payment::Card{.perl-module} that has its customer property set, or simply a hash reference this will create a Stripe card and return its object as a Net::API::Stripe::Payment::Card{.perl-module}

Possible parameters are:

id

: A customer id

source

: A hash reference with the following properties: object number exp_month exp_year cvc currency name metadata default_for_currency address_line1 address_line2 address_city address_state address_zip address_country

metadata An arbitrary hash reference

:

delete

Provided with a customer{.perl-module} or a card{.perl-module} object, or a hash reference, this will issue an api call to Stripe to remove the customer's card. It returns the card object that was deleted with its property deleted set to true.

Possible parameters are:

id

: Stripe customer id

card_id

: Stripe card id

list

Provided with a customer{.perl-module} object, this issue an api call to get the list of all cards for a given customer.

Possible parameters are:

id

: Stripe customer id

ending_before

: A card id

limit Integer

:

starting_after A card id

:

For more information, see Stripe api documentation here: https://stripe.com/docs/api/cards/list

retrieve

Provided a customer object Net::API::Stripe::Customer{.perl-module} or a card object Net::API::Stripe::Payment::Card{.perl-module} that has its customer property set, or simply a hash reference this will retrieve the customer card information as a Net::API::Stripe::Payment::Card{.perl-module} object

Possible parameters are:

id

: Stripe card id

customer

: Stripe customer id

update

Provided a customer object Net::API::Stripe::Customer{.perl-module} or a card object Net::API::Stripe::Payment::Card{.perl-module} that has its customer property set, or simply a hash reference this will update the customer card information, but what can be updated is limited by Stripe and it is typically the expiration date or postal address

Possible parameters are:

id

: Stripe card id

customer

: Stripe customer id

address_city City

:

address_country

: Country as 2-letters ISO 3166 country code

address_line1

: Address first line

address_line2

: Address second line

address_state

: State / region

address_zip

: Postal code

exp_month

: Expiration month

exp_year

: Expiration year

metadata

: Arbitrary hash reference

name

: Name for this credit card

CASH BALANCE

You can retrieve or update cash balance

retrieve

    my $obj = $stripe->cash_balances( retrieve => $args ) || die( $stripe->error );

Provided with a cash balance{.perl-module} object or a hash reference, this will retrieve a Stripe cash balance and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/cash_balance/retrieve

update

    my $obj = $stripe->cash_balances( update => {
        settings =>
        {
            reconciliation_mode => "manual",
        } } ) || die( $stripe->error );

Provided with a cash balance{.perl-module} object or a hash reference, this will update a Stripe cash balance and return its corresponding object{.perl-module}

Possible parameters are:

settings

: A hash of settings for this cash balance.

More information from Stripe api documentation at https://stripe.com/docs/api/cash_balance/update

CHARGE

You can create, retrieve, update, capture or list charges.

capture

Provided with a Net::API::Stripe::Charge{.perl-module} object or a hash reference, this will capture a Stripe charge and return its corresponding charge object Net::API::Stripe::Charge{.perl-module}

Possible parameters are:

id A Stripe charge id. This is required

:

amount Integer

:

application_fee_amount Integer

:

destination A hash reference with one property: amount

:

receipt_email E-mail address

:

statement_descriptor Text

:

statement_descriptor_suffix String

:

transfer_data A hash reference with one property: amount

:

transfer_group Text

:

For more information see Stripe documentation here: https://stripe.com/docs/api/charges/capture

create

Provided with a Net::API::Stripe::Charge{.perl-module} object or a hash reference, this will create a Stripe charge and return a charge object Net::API::Stripe::Charge{.perl-module}

Possible parameters are:

amount Amount as integer. This is required

:

currency A 3-letter iso 4217 code such sa jpy for Japanese Yen

:

application_fee_amount Integer

:

capture Boolean

:

customer A customer id

:

description An arbitrary text

:

destination A hash with properties account and amount.

:

metadata Arbitrary hash reference

:

on_behalf_of Stripe account id

:

receipt_email E-mail address

:

shipping Shipping address as a hash reference with the following properties: address name carrier phone tracking_number. See also Net::API::Stripe::Shipping{.perl-module}

:

source A source id

:

statement_descriptor Text

:

statement_descriptor_suffix Text

:

transfer_data A date

:

transfer_group Text

:

idempotency identifier

:

For more information see Stripe documentation here: https://stripe.com/docs/api/charges/create

list

This will list all the charges for a given customer and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

created A date that can also be expressed as a unix timestamp

:

customer A Stripe customer id

:

ending_before A Stripe charge id

:

limit Integer

:

payment_intent A payment intent Stripe id

:

source A source Stripe id

:

starting_after A Stripe charge id

:

transfer_group Text

:

For more information see Stripe documentation here: https://stripe.com/docs/api/charges/list

retrieve

Provided with a Net::API::Stripe::Charge{.perl-module} object or a hash reference, this will retrieve a Stripe charge and return its corresponding charge object Net::API::Stripe::Charge{.perl-module}

Possible parameters are:

id Stripe charge id. This is required

:

For more information see Stripe documentation here: https://stripe.com/docs/api/charges/retrieve

    my $obj = $stripe->charges( search => {
        query => "amount>999 AND metadata['order_id']:'6735'", } ) || die( $stripe->error );

Provided with a charge{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit charges. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for charges{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/charges/search

update

Provided with a Net::API::Stripe::Charge{.perl-module} object or a hash reference, this will update a Stripe charge and return its corresponding charge object Net::API::Stripe::Charge{.perl-module}

Possible parameters are:

id A Stripe charge id. This is required

:

customer A customer id

:

description An arbitrary text

:

fraud_details A hash with one property: user_report

:

metadata Arbitrary hash reference

:

receipt_email E-mail address

:

shipping Shipping address as a hash reference with the following properties: address name carrier phone tracking_number. See also Net::API::Stripe::Shipping{.perl-module}

:

transfer_group Text

:

For more information see Stripe documentation here: https://stripe.com/docs/api/charges/update

CHECKOUT SESSION

You can create, expire, items, list or retrieve checkout session

create

    my $obj = $stripe->checkout_sessions( create => {
        cancel_url  => "https://example.com/cancel",
        line_items  => [,
            price    => "price_H5ggYwtDq4fbrJ",
            quantity => "2",
        ],
        mode        => "payment",
        success_url => "https://example.com/success", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Checkout::Session{.perl-module} object or a hash reference, this will create a Stripe checkout session and return an Net::API::Stripe::Checkout::Session{.perl-module} object.

Possible parameters are:

after_expiration

: Configure actions after a Checkout Session has expired.

allow_promotion_codes

: Enables user redeemable promotion codes.

automatic_tax

: Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.

billing_address_collection

: Specify whether Checkout should collect the customer's billing address.

cancel_url

: Required. The URL the customer will be directed to if they decide to cancel payment and return to your website.

client_reference_id

: A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems.

consent_collection

: Configure fields for the Checkout Session to gather active consent from customers.

currency

: Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

customer

: ID of an existing Customer, if one exists. In payment mode, the customer's most recent card payment method will be used to prefill the email, name, card details, and billing address on the Checkout page. In subscription mode, the customer's default payment method{.perl-module} will be used if it's a card, and otherwise the most recent card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details.

If the Customer already has a valid
[email](https://stripe.com/docs/api/customers/object#customer_object-email){.perl-module}
set, the email will be prefilled and not editable in Checkout. If
the Customer does not have a valid `email`, Checkout will set the
email entered during the session on the Customer.

If blank for Checkout Sessions in `payment` or `subscription` mode,
Checkout will create a new Customer object based on information
provided during the payment flow.

You can set
[`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage){.perl-module}
to have Checkout automatically attach the payment method to the
Customer you pass in for future reuse.

customer_creation

: Configure whether a Checkout Session creates a Customer{.perl-module} during Session confirmation.

When a Customer is not created, you can still retrieve email,
address, and other customer data entered in Checkout with
[customer\_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details){.perl-module}.

Sessions that don\'t create Customers instead create [Guest
Customers](https://support.stripe.com/questions/guest-customer-faq){.perl-module}
in the Dashboard. Promotion codes limited to first time customers
will return invalid for these Sessions.

Can only be set in `payment` and `setup` mode.

customer_email

: If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once a session is complete, use the customer field.

customer_update

: Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when customer is provided.

discounts

: The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.

expires_at

: The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.

line_items

: A list of items the customer is purchasing. Use this parameter to pass one-time or recurring Prices{.perl-module}.

For `payment` mode, there is a maximum of 100 line items, however it
is recommended to consolidate line items if there are more than a
few dozen.

For `subscription` mode, there is a maximum of 20 line items with
recurring Prices and 20 line items with one-time Prices. Line items
with one-time Prices will be on the initial invoice only.

locale

: The IETF language tag of the locale Checkout is displayed in. If blank or auto, the browser's locale is used.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

mode

: required conditionally The mode of the Checkout Session. Required when using prices or setup mode. Pass subscription if the Checkout Session includes at least one recurring item.

payment_intent_data

: A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in payment mode.

payment_method_collection

: Specify whether Checkout should collect a payment method. When set to if_required, Checkout will not collect a payment method when the total due for the session is 0. This may occur if the Checkout Session includes a free trial or a discount.

Can only be set in `subscription` mode.

If you\'d like information on how to collect a payment method
outside of Checkout, read the guide on configuring [subscriptions
with a free
trial](https://stripe.com/docs/payments/checkout/free-trials){.perl-module}.

payment_method_options

: Payment-method-specific configuration.

payment_method_types

: A list of the types of payment methods (e.g., card) this Checkout Session can accept.

Do not include this attribute if you prefer to manage your payment
methods from the [Stripe
Dashboard](https://dashboard.stripe.com/settings/payment_methods){.perl-module}.

Read more about the supported payment methods and their requirements
in our [payment method details
guide](https://stripe.com/docs/payments/checkout/payment-methods){.perl-module}.

If multiple payment methods are passed, Checkout will dynamically
reorder them to prioritize the most relevant payment methods based
on the customer\'s location and other characteristics.

phone_number_collection

: Controls phone number collection settings for the session.

We recommend that you review your privacy policy and check with your
legal contacts before using this feature. Learn more about
[collecting phone numbers with
Checkout](https://stripe.com/docs/payments/checkout/phone-numbers){.perl-module}.

setup_intent_data

: A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in setup mode.

shipping_address_collection

: When set, provides configuration for Checkout to collect a shipping address from a customer.

shipping_options

: The shipping rate options to apply to this Session.

submit_type

: Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. submit_type can only be specified on Checkout Sessions in payment mode, but not Checkout Sessions in subscription or setup mode.

subscription_data

: A subset of parameters to be passed to subscription creation for Checkout Sessions in subscription mode.

success_url

: Required. The URL to which Stripe should send customers when payment or setup is complete. If you'd like to use information from the successful Checkout Session on your page, read the guide on customizing your success page{.perl-module}.

tax_id_collection

: Controls tax ID collection settings for the session.

More information from Stripe api documentation at https://stripe.com/docs/api/checkout/sessions/create

expire

    my $obj = $stripe->checkout_sessions( expire => $args ) || die( $stripe->error );

Provided with a checkout session{.perl-module}, or a hash reference, this will issue a expire api call.

Returns a Session object if the expiration succeeded. Returns an error if the Session has already expired or isn't in an expireable state.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/checkout/sessions/expire

items

    my $obj = $stripe->checkout_sessions( items => $args ) || die( $stripe->error );

Provided with a checkout session{.perl-module}, or a hash reference, this will issue a items api call.

A dictionary with a data property that contains an array of up to limit Checkout Session line items, starting after Line Item starting_after. Each entry in the array is a separate Line Item object. If no more line items are available, the resulting array will be empty.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/checkout/sessions/line_items

list

    my $obj = $stripe->checkout_sessions( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a checkout session{.perl-module} object, this issue an api call to get the list of all checkout session.

Possible parameters are:

customer

: Only return the Checkout Sessions for the Customer specified.

customer_details

: Only return the Checkout Sessions for the Customer details specified.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

payment_intent

: Only return the Checkout Session for the PaymentIntent specified.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

subscription

: Only return the Checkout Session for the subscription specified.

More information from Stripe api documentation at https://stripe.com/docs/api/checkout/sessions/list

retrieve

    my $obj = $stripe->checkout_sessions( retrieve => $args ) || die( $stripe->error );

Provided with a checkout session{.perl-module} object or a hash reference, this will retrieve a Stripe checkout session and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/checkout/sessions/retrieve

CHECKOUT SESSIONS

You can create or retrieve checkout sessions

create {#createcreate}

Provided with a Net::API::Stripe::Checkout::Session{.perl-module} object or an hash reference of parameters and this will create a Stripe checkout session and return a Net::API::Stripe::Checkout::Session{.perl-module} object.

Possible parameters are:

cancel_url URL

:

payment_method_types String. One of card or ideal

:

success_url URL

:

billing_address_collection String. One of auto or required

:

client_reference_id String

:

customer A Stripe customer id

:

customer_email String

:

line_items An array of hash reference with the following properties: amount currency name quantity description images

:

locale a 2-letter iso 639, such as fr or ja or local

:

mode String. One of setup or subscription

:

payment_intent_data An hash reference with the following properties: application_fee_amount capture_method description metadata on_behalf_of receipt_email setup_future_usage

:

setup_intent_data An hash reference with the following properties: description metadata on_behalf_of

:

submit_type String. One of auto, book, donate or pay

:

subscription_data An hash reference with the following properties: items application_fee_percent metadata trial_end trial_from_plan trial_period_days

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/checkout/sessions/create

list {#listlist}

Provided with an hash reference of parameters, this will get the list of checkout sessions and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

ending_before A Stripe credit note id

:

limit Integer

:

payment_intent A Stripe payment intent id

:

subscription A Stripe subscription id

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/checkout/sessions/list

retrieve {#retrieveretrieve}

Provided with a Net::API::Stripe::Checkout::Session{.perl-module} object or an hash reference of parameters and this will retrieve a Stripe checkout session and return a Net::API::Stripe::Checkout::Session{.perl-module} object.

Possible parameters are:

id A Stripe checkout session

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/checkout/sessions/retrieve

COUNTRY SPEC

You can list or retrieve country spec

list {#list-12}

    my $obj = $stripe->country_specs( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a country spec{.perl-module} object, this issue an api call to get the list of all country spec.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/country_specs/list

retrieve {#retrieve-14}

    my $obj = $stripe->country_specs( retrieve => $args ) || die( $stripe->error );

Provided with a country spec{.perl-module} object or a hash reference, this will retrieve a Stripe country spec and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/country_specs/retrieve

COUPON

You can create, delete, list, retrieve or update coupon

create {#create-10}

    my $obj = $stripe->coupons( create => {
        duration           => "repeating",
        duration_in_months => "3",
        percent_off        => "25.5", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Coupon{.perl-module} object or a hash reference, this will create a Stripe coupon and return an Net::API::Stripe::Billing::Coupon{.perl-module} object.

Possible parameters are:

amount_off

: A positive integer representing the amount to subtract from an invoice total (required if percent_off is not passed).

applies_to

: A hash containing directions for what this Coupon will apply discounts to.

currency

: Three-letter ISO code for the currency{.perl-module} of the amount_off parameter (required if amount_off is passed).

currency_options

: Coupons defined in each available currency option (only supported if amount_off is passed). Each key must be a three-letter ISO currency code{.perl-module} and a supported currency{.perl-module}. For example, to define your coupon in eur, pass the fields below in the eur key of currency_options.

duration

: Specifies how long the discount will be in effect if used on a subscription. Can be forever, once, or repeating. Defaults to once.

duration_in_months

: Required only if duration is repeating, in which case it must be a positive integer that specifies the number of months the discount will be in effect.

id

: Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you.

max_redemptions

: A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the id is shown if name is not set.

percent_off

: A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if amount_off is not passed).

redeem_by

: Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.

More information from Stripe api documentation at https://stripe.com/docs/api/coupons/create

delete

    my $obj = $stripe->coupons( delete => $args ) || die( $stripe->error );

Provided with a coupon{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the coupon. It returns the coupon object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/coupons/delete

list {#list-13}

    my $obj = $stripe->coupons( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a coupon{.perl-module} object, this issue an api call to get the list of all coupon.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/coupons/list

retrieve {#retrieve-15}

    my $obj = $stripe->coupons( retrieve => $args ) || die( $stripe->error );

Provided with a coupon{.perl-module} object or a hash reference, this will retrieve a Stripe coupon and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/coupons/retrieve

update

    my $obj = $stripe->coupons( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a coupon{.perl-module} object or a hash reference, this will update a Stripe coupon and return its corresponding object{.perl-module}

Possible parameters are:

currency_options

: Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter ISO currency code{.perl-module} and a supported currency{.perl-module}. For example, to define your coupon in eur, pass the fields below in the eur key of currency_options.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the id is shown if name is not set.

More information from Stripe api documentation at https://stripe.com/docs/api/coupons/update

COUPONS

You can create, retrieve, update, delete or list coupons.

create {#create-11}

Provided with a Net::API::Stripe::Billing::Coupon{.perl-module} object or a hash reference, this will create a Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon{.perl-module}

Possible parameters are:

duration String that can be forever, once or repeating

:

amount_off Integer

:

currency Three-letters iso 4217 currency code such as jpy for Japanese Yen

:

duration_in_months Integer

:

id A Coupon id, which is also the coupon code, so you are encouraged to create it

:

max_redemptions Integer

:

metadata Arbitrary hash reference

:

name String

:

percent_off Percentage such as > 0 and <= 100

:

redeem_by Date

:

For more information see Stripe documentation here: https://stripe.com/docs/api/coupons/create

delete

Provided with a Net::API::Stripe::Billing::Coupon{.perl-module} object or a hash reference, this will remove the Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon{.perl-module} with the property deleted set to true.

For more information see Stripe documentation here: https://stripe.com/docs/api/coupons/delete

list {#list-14}

This will list all the coupons and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

created A date that can also be expressed as a unix timestamp

:

customer A Stripe customer id

:

ending_before A Stripe charge id

:

limit Integer

:

starting_after A Stripe charge id

:

For more information see Stripe documentation here: https://stripe.com/docs/api/coupons/list

retrieve {#retrieve-16}

Provided with a Net::API::Stripe::Billing::Coupon{.perl-module} object or a hash reference, this will retrieve a Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon{.perl-module}.

Possible parameters are:

id A Stripe coupon id

:

For more information see Stripe documentation here: https://stripe.com/docs/api/coupons/retrieve

update

Provided with a Net::API::Stripe::Billing::Coupon{.perl-module} object or a hash reference, this will update a Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon{.perl-module}.

Possible parameters are:

id A Stripe coupon id

:

metadata Arbitrary hash reference

:

name String

:

For more information see Stripe documentation here: https://stripe.com/docs/api/coupons/update

CREDIT NOTE

You can create, list, preview, retrieve, update or void credit note

create {#create-12}

    my $obj = $stripe->credit_notes( create => {
        invoice => "in_1Le9F22eZvKYlo2C5gZ5i57e",
        lines   => [,
            invoice_line_item => "il_1Le9F22eZvKYlo2C8u1PfwX0",
            quantity          => "1",
            type              => "invoice_line_item",
        ], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this will create a Stripe credit note and return an Net::API::Stripe::Billing::CreditNote{.perl-module} object.

Possible parameters are:

amount

: The integer amount in JPY representing the total amount of the credit note.

credit_amount

: The integer amount in JPY representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.

invoice

: Required. ID of the invoice.

lines

: Line items that make up the credit note.

memo

: The credit note's memo appears on the credit note PDF.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

out_of_band_amount

: The integer amount in JPY representing the amount that is credited outside of Stripe.

reason

: Reason for issuing this credit note, one of duplicate, fraudulent, order_change, or product_unsatisfactory

refund

: ID of an existing refund to link this credit note to.

refund_amount

: The integer amount in JPY representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/create

list {#list-15}

    my $obj = $stripe->credit_notes( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a credit note{.perl-module} object, this issue an api call to get the list of all credit note.

Possible parameters are:

customer

: Only return credit notes for the customer specified by this customer ID.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

invoice

: Only return credit notes for the invoice specified by this invoice ID.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/list

preview

    my $obj = $stripe->credit_notes( preview => {
        invoice => "in_1Le9F22eZvKYlo2C5gZ5i57e",
        lines   => [,
            invoice_line_item => "il_1Le9F22eZvKYlo2C8u1PfwX0",
            quantity          => "1",
            type              => "invoice_line_item",
        ], } ) || die( $stripe->error );

Provided with a credit note{.perl-module}, or a hash reference, this will issue a preview api call.

Returns a credit note object.

Possible parameters are:

amount

: The integer amount in JPY representing the total amount of the credit note.

credit_amount

: The integer amount in JPY representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.

invoice

: Required. ID of the invoice.

lines

: Line items that make up the credit note.

memo

: The credit note's memo appears on the credit note PDF.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

out_of_band_amount

: The integer amount in JPY representing the amount that is credited outside of Stripe.

reason

: Reason for issuing this credit note, one of duplicate, fraudulent, order_change, or product_unsatisfactory

refund

: ID of an existing refund to link this credit note to.

refund_amount

: The integer amount in JPY representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/preview

retrieve {#retrieve-17}

    my $obj = $stripe->credit_notes( retrieve => $args ) || die( $stripe->error );

Provided with a credit note{.perl-module} object or a hash reference, this will retrieve a Stripe credit note and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/retrieve

update

    my $obj = $stripe->credit_notes( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a credit note{.perl-module} object or a hash reference, this will update a Stripe credit note and return its corresponding object{.perl-module}

Possible parameters are:

memo

: Credit note memo.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/update

void

    my $obj = $stripe->credit_notes( void => $args ) || die( $stripe->error );

Provided with a credit note{.perl-module}, or a hash reference, this will issue a void api call.

Returns the voided credit note object if the call succeeded.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/void

CREDIT NOTE LINE ITEM

You can list credit note line item

list {#list-16}

    my $obj = $stripe->credit_note_line_items( list => {
        invoice => "in_1Le9F22eZvKYlo2C5gZ5i57e",
        lines   => [,
            invoice_line_item => "il_1Le9F22eZvKYlo2C8u1PfwX0",
            quantity          => "1",
            type              => "invoice_line_item",
        ], } ) || die( $stripe->error );

Provided with a credit note line item{.perl-module} object, this issue an api call to get the list of all credit note line item.

Possible parameters are:

amount

: The integer amount in JPY representing the total amount of the credit note.

credit_amount

: The integer amount in JPY representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

invoice

: Required. ID of the invoice.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

lines

: Line items that make up the credit note.

memo

: The credit note's memo appears on the credit note PDF.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

out_of_band_amount

: The integer amount in JPY representing the amount that is credited outside of Stripe.

reason

: Reason for issuing this credit note, one of duplicate, fraudulent, order_change, or product_unsatisfactory

refund

: ID of an existing refund to link this credit note to.

refund_amount

: The integer amount in JPY representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/credit_notes/preview_lines

CREDIT NOTES

You can preview, create, lines, lines_preview, retrieve, update, void or list credit notes.

create {#create-13}

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this will create a Stripe credit note and return a credit note Net::API::Stripe::Billing::CreditNote{.perl-module} object.

Possible parameters are:

invoice A Stripe invoice id. This is required.

:

amount Integer

:

credit_amount Integer

:

lines An array of hash with properties: amount description invoice_line_item quantity tax_rates type unit_amount unit_amount_decimal

:

memo Text

:

metadata Arbitrary hash reference

:

out_of_band_amount Integer

:

reason Text

:

refund A Stripe refund id

:

refund_amount Integer

:

For more information see Stripe documentation here: https://stripe.com/docs/api/credit_notes/create

lines

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this gets the list of all the credit note line items and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

id A Stripe credit note id. This is required.

:

ending_before A Stripe credit note id.

:

limit Integer

:

starting_after A Stripe credit note id.

:

For more information see Stripe documentation here: https://stripe.com/docs/api/credit_notes/lines

lines_preview

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this gets the list of all the credit note preview line items and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

amount Integer

:

credit_amount Integer

:

ending_before A Stripe credit note id.

:

invoice A Stripe invoice id. This is required.

:

limit Integer

:

lines An array of hash with properties: amount description invoice_line_item quantity tax_rates type unit_amount unit_amount_decimal

:

memo Text

:

metadata Arbitrary hash reference

:

out_of_band_amount Integer

:

reason Text

:

refund A Stripe refund id

:

refund_amount Integer

:

starting_after A Stripe credit note id.

:

For more information see Stripe documentation here: https://stripe.com/docs/api/credit_notes/lines

list {#list-17}

Given a set of optional parameters, this get the list of credit notes and return a Net::API::Stripe::List{.perl-module} object.

created Date or unix timestamp

:

ending_before A Stripe credit note id

:

limit Integer

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/credit_notes/list

preview

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} or a hash reference, this will create a Stripe credit note preview and return a Net::API::Stripe::Billing::CreditNote{.perl-module} object.

invoice A Stripe invoice id. This is required.

:

amount Integer

:

credit_amount Integer

:

lines An array of hash with properties: amount description invoice_line_item quantity tax_rates type unit_amount unit_amount_decimal

:

memo Text

:

metadata Arbitrary hash reference

:

out_of_band_amount Integer

:

reason Text

:

refund A Stripe refund id

:

refund_amount Integer

:

retrieve {#retrieve-18}

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this will retrieve the Stripe credit note and return a Net::API::Stripe::Billing::CreditNote{.perl-module} object

Possible parameters are:

id A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/credit_notes/retrieve

update

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this will update a Stripe credit note and return a Net::API::Stripe::Billing::CreditNote{.perl-module} object

Possible parameters are:

id A Stripe credit note id. This is required

:

memo Text

:

metadata Arbitrary hash reference

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/credit_notes/update

void

Provided with a Net::API::Stripe::Billing::CreditNote{.perl-module} object or a hash reference, this will void a Stripe credit note and return a Net::API::Stripe::Billing::CreditNote{.perl-module} object

Possible parameters are:

id A Stripe credit note id. This is required

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/credit_notes/void

CUSTOMER

You can create, delete, list, retrieve, search or update customer

create {#create-14}

    my $obj = $stripe->customers( create => {
        description => "My First Test Customer (created for API docs at https://www.stripe.com/docs/api)", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Customer{.perl-module} object or a hash reference, this will create a Stripe customer and return an Net::API::Stripe::Customer{.perl-module} object.

Possible parameters are:

address

: The customer's address.

balance

: An integer amount in JPY that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.

cash_balance

: Balance information and default balance settings for this customer.

coupon

: If you provide a coupon code, the customer will have a discount applied on all recurring charges. Charges you create through the API will not have the discount.

description

: An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.

email

: Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to 512 characters.

invoice_prefix

: The prefix for the customer used to generate unique invoice numbers. Must be 3--12 uppercase letters or numbers.

invoice_settings

: Default invoice settings for this customer.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: The customer's full name or business name.

next_invoice_sequence

: The sequence to be used on the customer's next invoice. Defaults to 1.

payment_method

: The ID of the PaymentMethod to attach to the customer.

phone

: The customer's phone number.

preferred_locales

: Customer's preferred languages, ordered by preference.

promotion_code

: The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.

shipping

: The customer's shipping information. Appears on invoices emailed to this customer.

source

: When using payment sources created via the Token or Sources APIs, passing source will create a new source object, make it the new customer default source, and delete the old customer default if one exists. If you want to add additional sources instead of replacing the existing default, use the card creation API{.perl-module}. Whenever you attach a card to a customer, Stripe will automatically validate the card.

tax

: Tax details about the customer.

tax_exempt

: The customer's tax exemption. One of none, exempt, or reverse.

tax_id_data

: The customer's tax IDs.

test_clock

: ID of the test clock to attach to the customer.

More information from Stripe api documentation at https://stripe.com/docs/api/customers/create

delete

    my $obj = $stripe->customers( delete => $args ) || die( $stripe->error );

Provided with a customer{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the customer. It returns the customer object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/customers/delete

list {#list-18}

    my $obj = $stripe->customers( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a customer{.perl-module} object, this issue an api call to get the list of all customer.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

email

: A case-sensitive filter on the list based on the customer's email field. The value must be a string.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

test_clock

: Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set.

More information from Stripe api documentation at https://stripe.com/docs/api/customers/list

retrieve {#retrieve-19}

    my $obj = $stripe->customers( retrieve => $args ) || die( $stripe->error );

Provided with a customer{.perl-module} object or a hash reference, this will retrieve a Stripe customer and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/customers/retrieve

search

    my $obj = $stripe->customers( search => {
        query => "name:'fakename' AND metadata['foo']:'bar'", } ) || die( $stripe->error );

Provided with a customer{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit customers. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for customers{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/customers/search

update

    my $obj = $stripe->customers( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a customer{.perl-module} object or a hash reference, this will update a Stripe customer and return its corresponding object{.perl-module}

Possible parameters are:

address

: The customer's address.

balance

: An integer amount in JPY that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.

cash_balance

: Balance information and default balance settings for this customer.

coupon

: If you provide a coupon code, the customer will have a discount applied on all recurring charges. Charges you create through the API will not have the discount.

default_source

: If you are using payment methods created via the PaymentMethods API, see the invoicesettings.defaultpayment_method{.perl-module} parameter.

Provide the ID of a payment source already attached to this customer
to make it this customer\'s default payment source.

If you want to add a new payment source and make it the default, see
the
[source](https://stripe.com/docs/api/customers/update#update_customer-source){.perl-module}
property.

description

: An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.

email

: Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to 512 characters.

invoice_prefix

: The prefix for the customer used to generate unique invoice numbers. Must be 3--12 uppercase letters or numbers.

invoice_settings

: Default invoice settings for this customer.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: The customer's full name or business name.

next_invoice_sequence

: The sequence to be used on the customer's next invoice. Defaults to 1.

phone

: The customer's phone number.

preferred_locales

: Customer's preferred languages, ordered by preference.

promotion_code

: The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.

shipping

: The customer's shipping information. Appears on invoices emailed to this customer.

source

: When using payment sources created via the Token or Sources APIs, passing source will create a new source object, make it the new customer default source, and delete the old customer default if one exists. If you want to add additional sources instead of replacing the existing default, use the card creation API{.perl-module}. Whenever you attach a card to a customer, Stripe will automatically validate the card.

tax

: Tax details about the customer.

tax_exempt

: The customer's tax exemption. One of none, exempt, or reverse.

More information from Stripe api documentation at https://stripe.com/docs/api/customers/update

CUSTOMER BALANCE TRANSACTION

You can create, list, retrieve or update customer balance transaction

create {#create-15}

    my $obj = $stripe->customer_balance_transactions( create => {
        amount   => "-500",
        currency => "usd", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Customer::BalanceTransaction{.perl-module} object or a hash reference, this will create a Stripe customer balance transaction and return an Net::API::Stripe::Customer::BalanceTransaction{.perl-module} object.

Possible parameters are:

amount

: Required. The integer amount in JPY to apply to the customer's credit balance.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}. If the customer's currency{.perl-module} is set, this value must match it. If the customer's currency is not set, it will be updated to this value.

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_balance_transactions/create

list {#list-19}

    my $obj = $stripe->customer_balance_transactions( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a customer balance transaction{.perl-module} object, this issue an api call to get the list of all customer balance transaction.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_balance_transactions/list

retrieve {#retrieve-20}

    my $obj = $stripe->customer_balance_transactions( retrieve => $args ) || die( $stripe->error );

Provided with a customer balance transaction{.perl-module} object or a hash reference, this will retrieve a Stripe customer balance transaction and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_balance_transactions/retrieve

update

    my $obj = $stripe->customer_balance_transactions( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a customer balance transaction{.perl-module} object or a hash reference, this will update a Stripe customer balance transaction and return its corresponding object{.perl-module}

Possible parameters are:

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_balance_transactions/update

CUSTOMER CASH BALANCE TRANSACTION

You can fund_cash_balance, list or retrieve customer cash balance transaction

fund_cash_balance

    my $obj = $stripe->customer_cash_balance_transactions( fund_cash_balance => {
        amount   => "5000",
        currency => "eur", } ) || die( $stripe->error );

Provided with a customer cash balance transaction{.perl-module}, or a hash reference, this will issue a fund_cash_balance api call.

Returns a specific cash balance transaction, which funded the customer's cash balance{.perl-module}.

Possible parameters are:

amount

: Required. Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the smallest currency unit{.perl-module} (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency).

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

reference

: A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's reconciliation algorithm{.perl-module} applies to different user inputs.

More information from Stripe api documentation at https://stripe.com/docs/api/cash_balance_transactions/fund_cash_balance

list {#list-20}

    my $obj = $stripe->customer_cash_balance_transactions( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a customer cash balance transaction{.perl-module} object, this issue an api call to get the list of all customer cash balance transaction.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/cash_balance_transactions/list

retrieve {#retrieve-21}

    my $obj = $stripe->customer_cash_balance_transactions( retrieve => $args ) || die( $stripe->error );

Provided with a customer cash balance transaction{.perl-module} object or a hash reference, this will retrieve a Stripe customer cash balance transaction and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/cash_balance_transactions/retrieve

CUSTOMERS

You can create, retrieve, update, delete, delete_discount or list customers.

create {#create-16}

Provided with a Net::API::Stripe::Customer{.perl-module} object or a hash reference, this will create a Stripe customer and return its Net::API::Stripe::Customer{.perl-module} object.

Possible parameters are:

account_balance Integer

:

address A Net::API::Stripe::Address{.perl-module} object or a hash reference with the following properties: line1 city country line2 postal_code state

:

balance Integer

:

coupon A string that matches an existing Stripe coupon.

:

default_source

:

description Test

:

email String

:

id A customer id, or Stripe will create one

:

invoice_prefix String

:

invoice_settings A hash reference with the following properties: custom_fields default_payment_method footer

:

metadata An arbitrary hash reference

:

name String. Customer name

:

payment_method A Stripe payment method id

:

phone String.

:

preferred_locales An array of strings representing 2-letters ISO 639 language codes such as [qw( en fr ja )]

:

shipping A Net::API::Stripe::Address{.perl-module} object or a hash reference with the following properties: line1 city country line2 postal_code state

:

source

:

tax_exempt String that can be either none, exempt or reverse

:

tax_id_data An array reference of string representing tax id or Net::API::Stripe::Customer::TaxId{.perl-module} objects

:

tax_info A Net::API::Stripe::Customer::TaxInfo{.perl-module} object or a hash reference with the following properties: tax_id type

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customers/create

delete

Provided with a Net::API::Stripe::Customer{.perl-module} object or a hash reference, this will remove a Stripe customer and return its Net::API::Stripe::Customer{.perl-module} object with the property deleted set to true.

Possible parameters are:

id A Stripe customer id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customers/delete

delete_discount

Provided with a Net::API::Stripe::Customer{.perl-module} object or a hash reference, this will remove a Stripe customer discount and return the discount removed as a Net::API::Stripe::Billing::Discount{.perl-module} object.

Possible parameters are:

id A Stripe customer id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/discounts/delete

list {#list-21}

Provided with some optional parameters, this will get a list of Stripe customers and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

created Date or unix timestamp

:

email String. E-mail address

:

ending_before A Stripe credit note id

:

limit Integer

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customers/list

retrieve {#retrieve-22}

Provided with a Net::API::Stripe::Customer{.perl-module} object or a hash reference, this will retrieve a Stripe customer and return its Net::API::Stripe::Customer{.perl-module} object.

Possible parameters are:

id A Stripe customer id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customers/retrieve

update

Provided with a Net::API::Stripe::Customer{.perl-module} object or a hash reference, this will update a Stripe customer and return its Net::API::Stripe::Customer{.perl-module} object.

Possible parameters are:

account_balance Integer

:

address A Net::API::Stripe::Address{.perl-module} object or a hash reference with the following properties: line1 city country line2 postal_code state

:

balance Integer

:

coupon A string that matches an existing Stripe coupon.

:

default_source

:

description Test

:

email String

:

id A customer id, or Stripe will create one

:

invoice_prefix String

:

invoice_settings A hash reference with the following properties: custom_fields default_payment_method footer

:

metadata An arbitrary hash reference

:

name String. Customer name

:

next_invoice_sequence String

:

payment_method A Stripe payment method id

:

phone String.

:

preferred_locales An array of strings representing 2-letters ISO 639 language codes such as [qw( en fr ja )]

:

shipping A Net::API::Stripe::Address{.perl-module} object or a hash reference with the following properties: line1 city country line2 postal_code state

:

source

:

tax_exempt String that can be either none, exempt or reverse

:

tax_id_data An array reference of string representing tax id or Net::API::Stripe::Customer::TaxId{.perl-module} objects

:

tax_info A Net::API::Stripe::Customer::TaxInfo{.perl-module} object or a hash reference with the following properties: tax_id type

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customers/create

DISCOUNT

You can delete, delete_customer or delete_subscription discount

delete

    my $obj = $stripe->discounts( delete => $args ) || die( $stripe->error );

Provided with a discount{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the discount. It returns the discount object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/discounts/subscription_delete

DISPUTE

You can close, list, retrieve or update dispute

close

    my $obj = $stripe->disputes( close => $args ) || die( $stripe->error );

Provided with a dispute{.perl-module}, or a hash reference, this will issue a close api call.

Returns the dispute object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/disputes/close

list {#list-22}

    my $obj = $stripe->disputes( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a dispute{.perl-module} object, this issue an api call to get the list of all dispute.

Possible parameters are:

charge

: Only return disputes associated to the charge specified by this charge ID.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

payment_intent

: Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/disputes/list

retrieve {#retrieve-23}

    my $obj = $stripe->disputes( retrieve => $args ) || die( $stripe->error );

Provided with a dispute{.perl-module} object or a hash reference, this will retrieve a Stripe dispute and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/disputes/retrieve

update

    my $obj = $stripe->disputes( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a dispute{.perl-module} object or a hash reference, this will update a Stripe dispute and return its corresponding object{.perl-module}

Possible parameters are:

evidence

: Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

submit

: Whether to immediately submit evidence to the bank. If false, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to true (the default).

More information from Stripe api documentation at https://stripe.com/docs/api/disputes/update

DISPUTES

You can close, retrieve, update or list disputes

close

Provided with a Net::API::Stripe::Dispute{.perl-module} object or an hash reference and this will close a Stripe dispute and return Net::API::Stripe::Dispute{.perl-module} object.

Possible parameters are:

id A Stripe dispute id.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/disputes/close

list {#list-23}

Provided with some optional parameters and this will issue a Stripe api call to get the list of disputes and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

created Date or unix timestamp

:

charge A Stripe charge id

:

ending_before A Stripe credit note id

:

limit Integer

:

payment_intent A Stripe payment intent id

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/disputes/list

retrieve {#retrieve-24}

Provided with a Net::API::Stripe::Dispute{.perl-module} or a hash reference of parameters, this will retrieve the Stripe dispute and return a Net::API::Stripe::Dispute{.perl-module} object.

Possible parameters are:

id A Stripe dispute id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/disputes/retrieve

update

Provided with a Net::API::Stripe::Dispute{.perl-module} or a hash reference of parameters, this will update a Stripe dispute and return a Net::API::Stripe::Dispute{.perl-module} object.

Possible parameters are:

id A Stripe dispute id. This is required.

:

evidence This is a hash reference with following possible properties:

:

*access\_activity\_log*

:   

*billing\_address*

:   

*cancellation\_policy*

:   

*cancellation\_policy\_disclosure*

:   

*cancellation\_rebuttal*

:   

*customer\_communication*

:   

*customer\_email\_address*

:   

*customer\_name*

:   

*customer\_purchase\_ip*

:   

*customer\_signature*

:   

*duplicate\_charge\_documentation*

:   

*duplicate\_charge\_explanation*

:   

*duplicate\_charge\_id*

:   

*product\_description*

:   

*receipt*

:   

*refund\_policy*

:   

*refund\_policy\_disclosure*

:   

*refund\_refusal\_explanation*

:   

*service\_date*

:   

*service\_documentation*

:   

*shipping\_address*

:   

*shipping\_carrier*

:   

*shipping\_date*

:   

*shipping\_documentation*

:   

*shipping\_tracking\_number*

:   

*uncategorized\_file*

:   

*uncategorized\_text*

:   

For more information, see Stripe documentation here: https://stripe.com/docs/api/disputes/update

ERROR HANDLING

Net::API::Stripe{.perl-module} never dies, or at least not voluntarily. Instead, when an error occurs and is reported, it returns undef and the error can be retrieved with the "error"{.perl-module} method, such as:

    my $prod = $stripe->products( retrieve => $prod_id ) || die( $stripe->error, "\n" );

The error method returns the Module::Generic::Exception{.perl-module} set. Please refer to the manual page of "error" in Module::Generic{.perl-module} for more information, but essentially, the following methods are available with the error objects:

as_string

This is triggered when the error object is stringified

code

The error code returned by Stripe

file

The file containing the error

line

The line number of the error

message

The actual error message

package

The package name where the error occurred.

rethrow

Used to re-trigger the error

subroutine

The subroutine name where the error originates

trace

The full stack trace object. This is a Devel::StackTrace{.perl-module}

type

The error type, if any

EVENT

You can list or retrieve event

list {#list-24}

    my $obj = $stripe->events( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a event{.perl-module} object, this issue an api call to get the list of all event.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

delivery_success

: Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type

: A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property.

types

: An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either type or types, but not both.

More information from Stripe api documentation at https://stripe.com/docs/api/events/list

retrieve {#retrieve-25}

    my $obj = $stripe->events( retrieve => $args ) || die( $stripe->error );

Provided with a event{.perl-module} object or a hash reference, this will retrieve a Stripe event and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/events/retrieve

FEE REFUND

You can create, list, retrieve or update fee refund

create {#create-17}

    my $obj = $stripe->fee_refunds( create => $args ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::ApplicationFee::Refund{.perl-module} object or a hash reference, this will create a Stripe fee refund and return an Net::API::Stripe::Connect::ApplicationFee::Refund{.perl-module} object.

Possible parameters are:

amount

: A positive integer, in JPY, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/fee_refunds/create

list {#list-25}

    my $obj = $stripe->fee_refunds( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a fee refund{.perl-module} object, this issue an api call to get the list of all fee refund.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/fee_refunds/list

retrieve {#retrieve-26}

    my $obj = $stripe->fee_refunds( retrieve => $args ) || die( $stripe->error );

Provided with a fee refund{.perl-module} object or a hash reference, this will retrieve a Stripe fee refund and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/fee_refunds/retrieve

update

    my $obj = $stripe->fee_refunds( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a fee refund{.perl-module} object or a hash reference, this will update a Stripe fee refund and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/fee_refunds/update

FILE

You can create, list or retrieve file

create {#create-18}

    my $obj = $stripe->files( create => {
        file    => "{a file descriptor}",
        purpose => "dispute_evidence", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::File{.perl-module} object or a hash reference, this will create a Stripe file and return an Net::API::Stripe::File{.perl-module} object.

Possible parameters are:

file

: Required. A file to upload. The file should follow the specifications of RFC 2388 (which defines file transfers for the multipart/form-data protocol).

file_link_data

: Optional parameters to automatically create a file link{.perl-module} for the newly created file.

purpose

: Required. The purpose{.perl-module} of the uploaded file.

More information from Stripe api documentation at https://stripe.com/docs/api/files/create

list {#list-26}

    my $obj = $stripe->files( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a file{.perl-module} object, this issue an api call to get the list of all file.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

purpose

: The file purpose to filter queries by. If none is provided, files will not be filtered by purpose.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/files/list

retrieve {#retrieve-27}

    my $obj = $stripe->files( retrieve => $args ) || die( $stripe->error );

Provided with a file{.perl-module} object or a hash reference, this will retrieve a Stripe file and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/files/retrieve

FILE LINK

You can create, list, retrieve or update file link

create {#create-19}

    my $obj = $stripe->file_links( create => {
        file => "file_1JXy922eZvKYlo2CV17dW6tI", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::File::Link{.perl-module} object or a hash reference, this will create a Stripe file link and return an Net::API::Stripe::File::Link{.perl-module} object.

Possible parameters are:

expires_at

: A future timestamp after which the link will no longer be usable.

file

: Required. The ID of the file. The file's purpose must be one of the following: business_icon, business_logo, customer_signature, dispute_evidence, finance_report_run, identity_document_downloadable, pci_document, selfie, sigma_scheduled_query, tax_document_user_upload, or terminal_reader_splashscreen.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/file_links/create

list {#list-27}

    my $obj = $stripe->file_links( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a file link{.perl-module} object, this issue an api call to get the list of all file link.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expired

: Filter links by their expiration status. By default, all links are returned.

file

: Only return links for the given file.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/file_links/list

retrieve {#retrieve-28}

    my $obj = $stripe->file_links( retrieve => $args ) || die( $stripe->error );

Provided with a file link{.perl-module} object or a hash reference, this will retrieve a Stripe file link and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/file_links/retrieve

update

    my $obj = $stripe->file_links( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a file link{.perl-module} object or a hash reference, this will update a Stripe file link and return its corresponding object{.perl-module}

Possible parameters are:

expires_at

: A future timestamp after which the link will no longer be usable, or now to expire the link immediately.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/file_links/update

FILES

You can create, retrieve or list files

create {#create-20}

Provided with a Net::API::Stripe::File{.perl-module} or a hash reference of parameters, this will create a Stripe file and return a Net::API::Stripe::File{.perl-module} object.

Possible parameters are:

file File path.

: It will check if the file exists, is not zero length, is readable and make the file path absolute if it is relative (using Cwd::abs_path)

file_link_data A hash reference with the following properties: create expires_at metadata

:

purpose String that can be either business_icon business_logo customer_signature dispute_evidence identity_document pci_document or tax_document_user_upload

:

For more information, see Stripe documentation here: httpshttps://stripe.com/docs/api/files/create{.perl-module}

list {#list-28}

Provided with some optional parameters and this will issue a Stripe api call to get the list of files and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

created Date or unix timestamp

:

ending_before A Stripe credit note id

:

limit Integer

:

purpose String.

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/files/list

retrieve {#retrieve-29}

Provided with a Net::API::Stripe::File{.perl-module} or a hash reference of parameters, this will retrieve the Stripe file and return a Net::API::Stripe::File{.perl-module} object.

Possible parameters are:

id A Stripe file id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/files/retrieve

FINANCIAL CONNECTIONS ACCOUNT

You can disconnect, list, refresh or retrieve financial connections account

disconnect

    my $obj = $stripe->financial_connections_accounts( disconnect => $args ) || die( $stripe->error );

Provided with a financial connections account{.perl-module}, or a hash reference, this will issue a disconnect api call.

Returns an Account object if a valid identifier was provided, and returns an error{.perl-module} otherwise.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/accounts/disconnect

list {#list-29}

    my $obj = $stripe->financial_connections_accounts( list => {
        account_holder =>
        {
            customer => "cus_AJ78ZaALpqgiuZ",
        } } ) || die( $stripe->error );

Provided with a financial connections account{.perl-module} object, this issue an api call to get the list of all financial connections account.

Possible parameters are:

account_holder

: If present, only return accounts that belong to the specified account holder. account_holder[customer] and account_holder[account] are mutually exclusive.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

session

: If present, only return accounts that were collected as part of the given session.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/accounts/list

refresh

    my $obj = $stripe->financial_connections_accounts( refresh => $args ) || die( $stripe->error );

Provided with a financial connections account{.perl-module}, or a hash reference, this will issue a refresh api call.

Returns an Account object if a valid identifier was provided and if you have sufficient permissions to that account. Returns an error{.perl-module} otherwise.

Possible parameters are:

features

: Required. The list of account features that you would like to refresh. Either: balance or ownership.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/accounts/refresh

retrieve {#retrieve-30}

    my $obj = $stripe->financial_connections_accounts( retrieve => $args ) || die( $stripe->error );

Provided with a financial connections account{.perl-module} object or a hash reference, this will retrieve a Stripe financial connections account and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/accounts/retrieve

FINANCIAL CONNECTIONS ACCOUNT OWNER

You can list financial connections account owner

list {#list-30}

    my $obj = $stripe->financial_connections_account_owners( list => {
        limit     => "3",
        ownership => "fcaowns_1Le9F42eZvKYlo2CfwkUGxZt", } ) || die( $stripe->error );

Provided with a financial connections account owner{.perl-module} object, this issue an api call to get the list of all financial connections account owner.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

ownership

: Required. The ID of the ownership object to fetch owners from.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/ownership/list

FINANCIAL CONNECTIONS SESSION

You can create or retrieve financial connections session

create {#create-21}

    my $obj = $stripe->financial_connections_sessions( create => {
        account_holder =>
        {
            customer => "cus_AJ78ZaALpqgiuZ",
            type     => "customer",
        }
        filters        =>
        {
            countries => [qw( US )],
        }
        permissions    => [qw( payment_method balances )], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Financial::Connections::Session{.perl-module} object or a hash reference, this will create a Stripe financial connections session and return an Net::API::Stripe::Financial::Connections::Session{.perl-module} object.

Possible parameters are:

account_holder

: Required. The account holder to link accounts for.

filters

: Filters to restrict the kinds of accounts to collect.

permissions

: Required. List of data features that you would like to request access to.

Possible values are `balances`, `transactions`, `ownership`, and
`payment_method`.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/sessions/create

retrieve {#retrieve-31}

    my $obj = $stripe->financial_connections_sessions( retrieve => $args ) || die( $stripe->error );

Provided with a financial connections session{.perl-module} object or a hash reference, this will retrieve a Stripe financial connections session and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/financial_connections/sessions/retrieve

FUNDING INSTRUCTIONS

You can create, fund or list funding instructions

create {#create-22}

    my $obj = $stripe->funding_instructionss( create => {
        bank_transfer =>
        {
            type => "eu_bank_transfer",
        }
        currency      => "eur",
        funding_type  => "bank_transfer", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Issuing::FundingInstructions{.perl-module} object or a hash reference, this will create a Stripe funding instructions and return an Net::API::Stripe::Issuing::FundingInstructions{.perl-module} object.

Possible parameters are:

bank_transfer

: Required. Additional parameters for bank_transfer funding types

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

funding_type

: Required. The funding_type to get the instructions for.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/funding_instructions/create

fund

    my $obj = $stripe->funding_instructionss( fund => {
        amount   => "4200",
        currency => "eur", } ) || die( $stripe->error );

Provided with a funding instructions{.perl-module}, or a hash reference, this will issue a fund api call.

Returns testmode funding instructions for an Issuing balance

Possible parameters are:

amount

: Required. The amount to top up

currency

: Required. The currency to top up

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/funding_instructions/fund

list {#list-31}

    my $obj = $stripe->funding_instructionss( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a funding instructions{.perl-module} object, this issue an api call to get the list of all funding instructions.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/funding_instructions/list

IDENTITY VERIFICATION REPORT

You can list or retrieve identity verification report

list {#list-32}

    my $obj = $stripe->identity_verification_reports( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a identity verification report{.perl-module} object, this issue an api call to get the list of all identity verification report.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type

: Only return VerificationReports of this type

verification_session

: Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_reports/list

retrieve {#retrieve-32}

    my $obj = $stripe->identity_verification_reports( retrieve => $args ) || die( $stripe->error );

Provided with a identity verification report{.perl-module} object or a hash reference, this will retrieve a Stripe identity verification report and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_reports/retrieve

IDENTITY VERIFICATION SESSION

You can cancel, create, list, redact, retrieve or update identity verification session

cancel

    my $obj = $stripe->identity_verification_sessions( cancel => $args ) || die( $stripe->error );

Provided with a identity verification session{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the canceled VerificationSession object

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_sessions/cancel

create {#create-23}

    my $obj = $stripe->identity_verification_sessions( create => {
        type => "document", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Identity::VerificationSession{.perl-module} object or a hash reference, this will create a Stripe identity verification session and return an Net::API::Stripe::Identity::VerificationSession{.perl-module} object.

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

options

: A set of options for the session's verification checks.

return_url

: The URL that the user will be redirected to upon completing the verification flow.

type

: Required. The type of verification check{.perl-module} to be performed.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_sessions/create

list {#list-33}

    my $obj = $stripe->identity_verification_sessions( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a identity verification session{.perl-module} object, this issue an api call to get the list of all identity verification session.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return VerificationSessions with this status. Learn more about the lifecycle of sessions{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_sessions/list

redact

    my $obj = $stripe->identity_verification_sessions( redact => $args ) || die( $stripe->error );

Provided with a identity verification session{.perl-module}, or a hash reference, this will issue a redact api call.

Returns the redacted VerificationSession object

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_sessions/redact

retrieve {#retrieve-33}

    my $obj = $stripe->identity_verification_sessions( retrieve => $args ) || die( $stripe->error );

Provided with a identity verification session{.perl-module} object or a hash reference, this will retrieve a Stripe identity verification session and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_sessions/retrieve

update

    my $obj = $stripe->identity_verification_sessions( update => {
        type => "id_number", } ) || die( $stripe->error );

Provided with a identity verification session{.perl-module} object or a hash reference, this will update a Stripe identity verification session and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

options

: A set of options for the session's verification checks.

type

: The type of verification check{.perl-module} to be performed.

More information from Stripe api documentation at https://stripe.com/docs/api/identity/verification_sessions/update

INVOICE

You can create, delete, finalise, finalize, invoice_write_off, lines, lines_upcoming, list, pay, retrieve, search, send, uncollectible, upcoming, update or void invoice

create {#create-24}

    my $obj = $stripe->invoices( create => {
        customer => "cus_AJ78ZaALpqgiuZ", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or a hash reference, this will create a Stripe invoice and return an Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

account_tax_ids

: The account tax IDs associated with the invoice. Only editable when the invoice is a draft.

application_fee_amount

: A fee in JPY that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees documentation{.perl-module}.

auto_advance

: Controls whether Stripe will perform automatic collection{.perl-module} of the invoice. When false, the invoice's state will not automatically advance without an explicit action.

automatic_tax

: Settings for automatic tax lookup for this invoice.

collection_method

: Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to charge_automatically.

currency

: The currency to create this invoice in. Defaults to that of customer if not specified.

custom_fields

: A list of up to 4 custom fields to be displayed on the invoice.

customer

: The ID of the customer who will be billed.

days_until_due

: The number of days from when the invoice is created until it is due. Valid only for invoices where collection_method=send_invoice.

default_payment_method

: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.

default_source

: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.

default_tax_rates

: The tax rates that will apply to any line item that does not have tax_rates set.

description

: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.

discounts

: The coupons to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts.

due_date

: The date on which payment for this invoice is due. Valid only for invoices where collection_method=send_invoice.

footer

: Footer to be displayed on the invoice.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of

: The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the Invoices with Connect{.perl-module} documentation for details.

payment_settings

: Configuration settings for the PaymentIntent that is generated when the invoice is finalized.

pending_invoice_items_behavior

: How to handle pending invoice items on invoice creation. One of include or exclude. include will include any pending invoice items, and will create an empty draft invoice if no pending invoice items exist. exclude will always create an empty invoice draft regardless if there are pending invoice items or not. Defaults to exclude if the parameter is omitted.

rendering_options

: Options for invoice PDF rendering.

statement_descriptor

: Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default statement_descriptor will be set to the first subscription item's product's statement_descriptor.

subscription

: The ID of the subscription to invoice, if any. If set, the created invoice will only include pending invoice items for that subscription and pending invoice items not associated with any subscription if pending_invoice_items_behavior is include. The subscription's billing cycle and regular subscription events won't be affected.

transfer_data

: If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/create

delete

    my $obj = $stripe->invoices( delete => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the invoice. It returns the invoice object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/delete

finalize

    my $obj = $stripe->invoices( finalize => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a finalize api call.

Returns an invoice object with status=open.

Possible parameters are:

auto_advance

: Controls whether Stripe will perform automatic collection{.perl-module} of the invoice. When false, the invoice's state will not automatically advance without an explicit action.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/finalize

list {#list-34}

    my $obj = $stripe->invoices( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a invoice{.perl-module} object, this issue an api call to get the list of all invoice.

Possible parameters are:

collection_method

: The collection method of the invoice to retrieve. Either charge_automatically or send_invoice.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: Only return invoices for the customer specified by this customer ID.

due_date

: A filter on the list based on the object due_date field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: The status of the invoice, one of draft, open, paid, uncollectible, or void. Learn more{.perl-module}

subscription

: Only return invoices for the subscription specified by this subscription ID.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/list

pay

    my $obj = $stripe->invoices( pay => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a pay api call.

Returns the invoice object.

Possible parameters are:

forgive

: In cases where the source used to pay the invoice has insufficient funds, passing forgive=true controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due.

Passing `forgive=false` will fail the charge if the source hasn\'t
been pre-funded with the right amount. An example for this case is
with ACH Credit Transfers and wires: if the amount wired is less
than the amount due by a small amount, you might want to forgive the
difference. Defaults to `false`.

mandate

: ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the paymentmethod param or the invoice's defaultpaymentmethod or defaultsource, if set.

off_session

: Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to true (off-session).

paid_out_of_band

: Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to false.

payment_method

: A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid.

source

: A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/pay

retrieve {#retrieve-34}

    my $obj = $stripe->invoices( retrieve => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module} object or a hash reference, this will retrieve a Stripe invoice and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/retrieve

search

    my $obj = $stripe->invoices( search => {
        query => "total>999 AND metadata['order_id']:'6735'", } ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit invoices. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for invoices{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/search

send

    my $obj = $stripe->invoices( send => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a send api call.

Returns the invoice object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/send

uncollectible

    my $obj = $stripe->invoices( uncollectible => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a uncollectible api call.

Returns the invoice object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/mark_uncollectible

upcoming

    my $obj = $stripe->invoices( upcoming => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a upcoming api call.

Returns an invoice if valid customer information is provided. Returns an error{.perl-module} otherwise.

Possible parameters are:

automatic_tax

: Settings for automatic tax lookup for this invoice preview.

coupon

: The code of the coupon to apply. If subscription or subscription_items is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.

currency

: The currency to preview this invoice in. Defaults to that of customer if not specified.

customer

: Required if subscription unset The identifier of the customer whose upcoming invoice you'd like to retrieve.

customer_details

: Required if subscription and customer unset Details about the customer you want to invoice or overrides for an existing customer.

discounts

: The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the coupon parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use coupon instead.

invoice_items

: List of invoice items to add or update in the upcoming invoice preview.

schedule

: The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.

subscription

: The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a subscription_items is provided, you will preview creating a subscription with those items. If neither subscription nor subscription_items is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.

subscription_billing_cycle_anchor

: For new subscriptions, a future timestamp to anchor the subscription's billing cycle{.perl-module}. This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to now or unchanged.

subscription_cancel_at

: Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using proration_behavior.

subscription_cancel_at_period_end

: Boolean indicating whether this subscription should cancel at the end of the current period.

subscription_cancel_now

: This simulates the subscription being canceled or expired immediately.

subscription_default_tax_rates

: If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have tax_rates set.

subscription_items

: A list of up to 20 subscription items, each with an attached price.

subscription_proration_behavior

: Determines how to handle prorations{.perl-module} when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes.

subscription_proration_date

: If previewing an update to a subscription, and doing proration, subscription_proration_date forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, subscription, and one of subscription_items, or subscription_trial_end are required. Also, subscription_proration_behavior cannot be set to 'none'.

subscription_start_date

: Date a subscription is intended to start (can be future or past)

subscription_trial_end

: If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of subscription_items or subscription is required.

subscription_trial_from_plan

: Indicates if a plan's trial_period_days should be applied to the subscription. Setting subscription_trial_end per subscription is preferred, and this defaults to false. Setting this flag to true together with subscription_trial_end is not allowed. See Using trial periods on subscriptions{.perl-module} to learn more.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/upcoming

update

    my $obj = $stripe->invoices( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a invoice{.perl-module} object or a hash reference, this will update a Stripe invoice and return its corresponding object{.perl-module}

Possible parameters are:

account_tax_ids

: The account tax IDs associated with the invoice. Only editable when the invoice is a draft.

application_fee_amount

: A fee in JPY that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees documentation{.perl-module}.

auto_advance

: Controls whether Stripe will perform automatic collection{.perl-module} of the invoice.

automatic_tax

: Settings for automatic tax lookup for this invoice.

collection_method

: Either charge_automatically or send_invoice. This field can be updated only on draft invoices.

custom_fields

: A list of up to 4 custom fields to be displayed on the invoice. If a value for custom_fields is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields.

days_until_due

: The number of days from which the invoice is created until it is due. Only valid for invoices where collection_method=send_invoice. This field can only be updated on draft invoices.

default_payment_method

: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.

default_source

: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.

default_tax_rates

: The tax rates that will apply to any line item that does not have tax_rates set. Pass an empty string to remove previously-defined tax rates.

description

: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.

discounts

: The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts.

due_date

: The date on which payment for this invoice is due. Only valid for invoices where collection_method=send_invoice. This field can only be updated on draft invoices.

footer

: Footer to be displayed on the invoice.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of

: The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the Invoices with Connect{.perl-module} documentation for details.

payment_settings

: Configuration settings for the PaymentIntent that is generated when the invoice is finalized.

rendering_options

: Options for invoice PDF rendering.

statement_descriptor

: Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default statement_descriptor will be set to the first subscription item's product's statement_descriptor.

transfer_data

: If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/update

void

    my $obj = $stripe->invoices( void => $args ) || die( $stripe->error );

Provided with a invoice{.perl-module}, or a hash reference, this will issue a void api call.

Returns the voided invoice object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/void

INVOICEITEM

You can create, delete, list, retrieve or update invoiceitem

create {#create-25}

    my $obj = $stripe->invoiceitems( create => {
        customer => "cus_AJ78ZaALpqgiuZ",
        price    => "price_1Le4Uy2eZvKYlo2Cby2Mg3bR", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Invoice::Item{.perl-module} object or a hash reference, this will create a Stripe invoiceitem and return an Net::API::Stripe::Billing::Invoice::Item{.perl-module} object.

Possible parameters are:

amount

: The integer amount in JPY of the charge to be applied to the upcoming invoice. Passing in a negative amount will reduce the amount_due on the invoice.

currency

: Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

customer

: Required. The ID of the customer who will be billed when this invoice item is billed.

description

: An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.

discountable

: Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.

discounts

: The coupons to redeem into discounts for the invoice item or invoice line item.

invoice

: The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

period

: The period associated with this invoice item. When set to different values, the period will be rendered on the invoice.

price

: The ID of the price object.

price_data

: Data used to generate a new Price{.perl-module} object inline.

quantity

: Non-negative integer. The quantity of units for the invoice item.

subscription

: The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.

tax_rates

: The tax rates which apply to the invoice item. When set, the default_tax_rates on the invoice do not apply to this invoice item.

unit_amount

: The integer unit amount in JPY of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. Passing in a negative unit_amount will reduce the amount_due on the invoice.

unit_amount_decimal

: Same as unit_amount, but accepts a decimal value in JPY with at most 12 decimal places. Only one of unit_amount and unit_amount_decimal can be set.

More information from Stripe api documentation at https://stripe.com/docs/api/invoiceitems/create

delete

    my $obj = $stripe->invoiceitems( delete => $args ) || die( $stripe->error );

Provided with a invoiceitem{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the invoiceitem. It returns the invoiceitem object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoiceitems/delete

list {#list-35}

    my $obj = $stripe->invoiceitems( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a invoiceitem{.perl-module} object, this issue an api call to get the list of all invoiceitem.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

invoice

: Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

pending

: Set to true to only show pending invoice items, which are not yet attached to any invoices. Set to false to only show invoice items already attached to invoices. If unspecified, no filter is applied.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/invoiceitems/list

retrieve {#retrieve-35}

    my $obj = $stripe->invoiceitems( retrieve => $args ) || die( $stripe->error );

Provided with a invoiceitem{.perl-module} object or a hash reference, this will retrieve a Stripe invoiceitem and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/invoiceitems/retrieve

update

    my $obj = $stripe->invoiceitems( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a invoiceitem{.perl-module} object or a hash reference, this will update a Stripe invoiceitem and return its corresponding object{.perl-module}

Possible parameters are:

amount

: The integer amount in JPY of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.

description

: An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.

discountable

: Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations.

discounts

: The coupons & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

period

: The period associated with this invoice item. When set to different values, the period will be rendered on the invoice.

price

: The ID of the price object.

price_data

: Data used to generate a new Price{.perl-module} object inline.

quantity

: Non-negative integer. The quantity of units for the invoice item.

tax_rates

: The tax rates which apply to the invoice item. When set, the default_tax_rates on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates.

unit_amount

: The integer unit amount in JPY of the charge to be applied to the upcoming invoice. This unitamount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unitamount.

unit_amount_decimal

: Same as unit_amount, but accepts a decimal value in JPY with at most 12 decimal places. Only one of unit_amount and unit_amount_decimal can be set.

More information from Stripe api documentation at https://stripe.com/docs/api/invoiceitems/update

INVOICES

You can create delete finalise lines lines_upcoming invoice_write_off upcoming pay retrieve send update void list invoices

create {#create-26}

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference, this will create a Stripe invoice and return a Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

customer A Stripe customer id. This is required.

:

application_fee_amount Integer

:

auto_advance Boolean

:

collection_method String. Either charge_automatically, or send_invoice

:

custom_fields An array of hash reference with key and value properties.

:

days_until_due Integer

:

default_payment_method A Stripe payment method id

:

default_source String

:

default_tax_rates Array reference of decimal amount

:

description Text

:

due_date Date or unix timestamp

:

footer Text

:

metadata An arbitrary hash reference

:

statement_descriptor Text

:

subscription A Stripe subscription id

:

tax_percent Decimal value

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/create

delete

This is to remove draft invoice. When provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will remove the draft invoice and return a Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe draft invoice id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/delete

finalise

When provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will set the draft invoice as finalised and return a Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe draft invoice id

:

auto_advance Boolean

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/finalize

invoice_write_off

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will write off an invoice and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe invoice id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/mark_uncollectible

lines

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will retrieve the list of invoice lines and return a Net:API::Stripe::List{.perl-module}

Possible parameters are:

id A Stripe invoice id. This is required.

:

ending_before A Stripe credit note id

:

limit Integer

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/invoice_lines

lines_upcoming

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will retrieve the list of upcoming invoice lines and return a Net:API::Stripe::List{.perl-module}

Possible parameters are:

customer A Stripe customer id. This is required

:

coupon String

:

ending_before A Stripe invoice id

:

invoice_items An array of hash with the following properties:

:

*amount*

:   

*currency*

:   

*description*

:   

*discountable*

:   

*invoiceitem*

:   

*metadata*

:   

*period.end*

:   

*period.start*

:   

*quantity*

:   

*tax\_rates*

:   

*unit\_amount*

:   

*unit\_amount\_decimal*

:   

limit Integer

:

schedule A Stripe schedule id

:

starting_after A Stripe invoice id

:

subscription A Stripe subscription id

:

subscription_billing_cycle_anchor A timestamp

:

subscription_cancel_at A timestamp

:

subscription_cancel_at_period_end Boolean

:

subscription_cancel_now Boolean

:

subscription_default_tax_rates Array of tax rates

:

subscription_items List of subscription items, each with an attached plan.

:

subscription_prorate String. If previewing an update to a subscription, this decides whether the preview will show the result of applying prorations or not. If set, one of subscription_items or subscription, and one of subscription_items or subscription_trial_end are required.

:

subscription_proration_behavior String. Determines how to handle prorations when the billing cycle changes.

:

subscription_proration_date Date/timestamp. If previewing an update to a subscription, and doing proration, subscription_proration_date forces the proration to be calculated as though the update was done at the specified time.

:

subscription_start_date Date/timestamp.

:

subscription_tax_percent Decimal

:

subscription_trial_end Boolean. If set, one of subscription_items or subscription is required.

:

subscription_trial_from_plan Boolean. Indicates if a plan’s trial_period_days should be applied to the subscription. Setting this flag to true together with subscription_trial_end is not allowed.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/upcoming_invoice_lines

list {#list-36}

Provided with an hash reference of parameters, this returns a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

collection_method String that can be charge_automatically or send_invoice.

:

created Date or unix timestamp

:

customer A Stripe customer id.

:

due_date Date / timestamp

:

ending_before A Stripe credit note id

:

limit Integer

:

starting_after A Stripe credit note id

:

status String. Status of the invoice, which can be one of draft, open, paid, uncollectible and void

:

subscription A Stripe subscription id.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/list

pay

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will mark an invoice as paid and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe invoice id. This is required.

:

forgive Boolean

:

off_session Boolean

:

paid_out_of_band Boolean to signify this was paid outside of Stripe

:

payment_method A Stripe payment method id

:

source A Stripe source id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/pay

retrieve {#retrieve-36}

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will retrieve an invoice and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe invoice id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/retrieve

send

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will send an invoice to a recipient to get payment and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe invoice id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/send

upcoming

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will retrieve an upcoming invoice and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

customer A Stripe customer id. This is required

:

coupon String

:

invoice_items An array of hash with the following properties:

:

*amount*

:   

*currency*

:   

*description*

:   

*discountable*

:   

*invoiceitem*

:   

*metadata*

:   

*period.end*

:   

*period.start*

:   

*quantity*

:   

*tax\_rates*

:   

*unit\_amount*

:   

*unit\_amount\_decimal*

:   

schedule A Stripe schedule id

:

subscription A Stripe subscription id

:

subscription_billing_cycle_anchor A timestamp

:

subscription_cancel_at A timestamp

:

subscription_cancel_at_period_end Boolean

:

subscription_cancel_now Boolean

:

subscription_default_tax_rates Array of tax rates

:

subscription_items List of subscription items, each with an attached plan.

:

subscription_prorate String. If previewing an update to a subscription, this decides whether the preview will show the result of applying prorations or not. If set, one of subscription_items or subscription, and one of subscription_items or subscription_trial_end are required.

:

subscription_proration_behavior String. Determines how to handle prorations when the billing cycle changes.

:

subscription_proration_date Date/timestamp. If previewing an update to a subscription, and doing proration, subscription_proration_date forces the proration to be calculated as though the update was done at the specified time.

:

subscription_start_date Date/timestamp.

:

subscription_tax_percent Decimal

:

subscription_trial_end Boolean. If set, one of subscription_items or subscription is required.

:

subscription_trial_from_plan Boolean. Indicates if a plan’s trial_period_days should be applied to the subscription. Setting this flag to true together with subscription_trial_end is not allowed.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/upcoming

update

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will update an invoice and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id

:

application_fee_amount Integer

:

auto_advance Boolean

:

collection_method String. Either charge_automatically, or send_invoice

:

custom_fields An array of hash reference with key and value properties.

:

days_until_due Integer

:

default_payment_method A Stripe payment method id

:

default_source String

:

default_tax_rates Array reference of decimal amount

:

description Text

:

due_date Date or unix timestamp

:

footer Text

:

metadata An arbitrary hash reference

:

statement_descriptor Text

:

tax_percent Decimal value

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/update

void

Provided with a Net::API::Stripe::Billing::Invoice{.perl-module} object or an hash reference of parameters, this will void (i.e. cancel) an invoice and return its Net::API::Stripe::Billing::Invoice{.perl-module} object.

Possible parameters are:

id A Stripe invoice id. This is required.

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/invoices/void

ISSUING AUTHORIZATION

You can approve, decline, list, retrieve or update issuing authorization

approve

    my $obj = $stripe->issuing_authorizations( approve => $args ) || die( $stripe->error );

Provided with a issuing authorization{.perl-module}, or a hash reference, this will issue a approve api call.

Returns an approved Issuing Authorization object.

Possible parameters are:

amount

: If the authorization's pending_request.is_amount_controllable property is true, you may provide this value to control how much to hold for the authorization. Must be positive (use decline{.perl-module} to decline an authorization request).

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/authorizations/approve

decline

    my $obj = $stripe->issuing_authorizations( decline => $args ) || die( $stripe->error );

Provided with a issuing authorization{.perl-module}, or a hash reference, this will issue a decline api call.

Returns a declined Issuing Authorization object.

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/authorizations/decline

list {#list-37}

    my $obj = $stripe->issuing_authorizations( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a issuing authorization{.perl-module} object, this issue an api call to get the list of all issuing authorization.

Possible parameters are:

card

: Only return authorizations that belong to the given card.

cardholder

: Only return authorizations that belong to the given cardholder.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return authorizations with the given status. One of pending, closed, or reversed.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/authorizations/list

retrieve {#retrieve-37}

    my $obj = $stripe->issuing_authorizations( retrieve => $args ) || die( $stripe->error );

Provided with a issuing authorization{.perl-module} object or a hash reference, this will retrieve a Stripe issuing authorization and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/authorizations/retrieve

update

    my $obj = $stripe->issuing_authorizations( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a issuing authorization{.perl-module} object or a hash reference, this will update a Stripe issuing authorization and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/authorizations/update

ISSUING CARD

You can create, deliver, fail, list, retrieve, return, ship or update issuing card

create {#create-27}

    my $obj = $stripe->issuing_cards( create => {
        cardholder => "ich_1KwsZz2eZvKYlo2Cz5eys5Kb",
        currency   => "usd",
        type       => "virtual", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Issuing::Card{.perl-module} object or a hash reference, this will create a Stripe issuing card and return an Net::API::Stripe::Issuing::Card{.perl-module} object.

Possible parameters are:

cardholder

: required The Cardholder{.perl-module} object with which the card will be associated.

currency

: Required. The currency for the card.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

replacement_for

: The card this is meant to be a replacement for (if any).

replacement_reason

: If replacement_for is specified, this should indicate why that card is being replaced.

shipping

: The address where the card will be shipped.

spending_controls

: Rules that control spending for this card. Refer to our documentation{.perl-module} for more details.

status

: Whether authorizations can be approved on this card. Defaults to inactive.

type

: Required. The type of card to issue. Possible values are physical or virtual.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/create

deliver

    my $obj = $stripe->issuing_cards( deliver => $args ) || die( $stripe->error );

Provided with a issuing card{.perl-module}, or a hash reference, this will issue a deliver api call.

Returns an updated Issuing Card object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/test_mode_deliver

fail

    my $obj = $stripe->issuing_cards( fail => $args ) || die( $stripe->error );

Provided with a issuing card{.perl-module}, or a hash reference, this will issue a fail api call.

Returns an updated Issuing Card object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/test_mode_fail

list {#list-38}

    my $obj = $stripe->issuing_cards( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a issuing card{.perl-module} object, this issue an api call to get the list of all issuing card.

Possible parameters are:

cardholder

: Only return cards belonging to the Cardholder with the provided ID.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

exp_month

: Only return cards that have the given expiration month.

exp_year

: Only return cards that have the given expiration year.

last4

: Only return cards that have the given last four digits.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return cards that have the given status. One of active, inactive, or canceled.

type

: Only return cards that have the given type. One of virtual or physical.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/list

retrieve {#retrieve-38}

    my $obj = $stripe->issuing_cards( retrieve => $args ) || die( $stripe->error );

Provided with a issuing card{.perl-module} object or a hash reference, this will retrieve a Stripe issuing card and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/retrieve

return

    my $obj = $stripe->issuing_cards( return => $args ) || die( $stripe->error );

Provided with a issuing card{.perl-module}, or a hash reference, this will issue a return api call.

Returns an updated Issuing Card object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/test_mode_return

ship

    my $obj = $stripe->issuing_cards( ship => $args ) || die( $stripe->error );

Provided with a issuing card{.perl-module}, or a hash reference, this will issue a ship api call.

Returns an updated Issuing Card object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/test_mode_ship

update

    my $obj = $stripe->issuing_cards( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a issuing card{.perl-module} object or a hash reference, this will update a Stripe issuing card and return its corresponding object{.perl-module}

Possible parameters are:

cancellation_reason

: Reason why the status of this card is canceled.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

pin

: The desired new PIN for this card.

spending_controls

: Rules that control spending for this card. Refer to our documentation{.perl-module} for more details.

status

: Dictates whether authorizations can be approved on this card. If this card is being canceled because it was lost or stolen, this information should be provided as cancellation_reason.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cards/update

ISSUING CARDHOLDER

You can create, list, retrieve or update issuing cardholder

create {#create-28}

    my $obj = $stripe->issuing_cardholders( create => {
        billing      =>
        {
            address =>
            {
                city        => "San Francisco",
                country     => "US",
                line1       => "1234 Main Street",
                postal_code => "94111",
                state       => "CA",
            }
        }
        email        => q{jenny.rosen@example.com},
        name         => "Jenny Rosen",
        phone_number => "+18888675309",
        type         => "individual", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Issuing::Card::Holder{.perl-module} object or a hash reference, this will create a Stripe issuing cardholder and return an Net::API::Stripe::Issuing::Card::Holder{.perl-module} object.

Possible parameters are:

billing

: Required. The cardholder's billing address.

company

: Additional information about a company cardholder.

email

: The cardholder's email address.

individual

: Additional information about an individual cardholder.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: Required. The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers.

phone_number

: The cardholder's phone number. This will be transformed to E.164{.perl-module} if it is not provided in that format already. This is required for all cardholders who will be creating EU cards. See the 3D Secure documentation{.perl-module} for more details.

spending_controls

: Rules that control spending across this cardholder's cards. Refer to our documentation{.perl-module} for more details.

status

: Specifies whether to permit authorizations on this cardholder's cards. Defaults to active.

type

: Required. One of individual or company.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cardholders/create

list {#list-39}

    my $obj = $stripe->issuing_cardholders( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a issuing cardholder{.perl-module} object, this issue an api call to get the list of all issuing cardholder.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

email

: Only return cardholders that have the given email address.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

phone_number

: Only return cardholders that have the given phone number.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return cardholders that have the given status. One of active, inactive, or blocked.

type

: Only return cardholders that have the given type. One of individual or company.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cardholders/list

retrieve {#retrieve-39}

    my $obj = $stripe->issuing_cardholders( retrieve => $args ) || die( $stripe->error );

Provided with a issuing cardholder{.perl-module} object or a hash reference, this will retrieve a Stripe issuing cardholder and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cardholders/retrieve

update

    my $obj = $stripe->issuing_cardholders( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a issuing cardholder{.perl-module} object or a hash reference, this will update a Stripe issuing cardholder and return its corresponding object{.perl-module}

Possible parameters are:

billing

: The cardholder's billing address.

company

: Additional information about a company cardholder.

email

: The cardholder's email address.

individual

: Additional information about an individual cardholder.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

phone_number

: The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the 3D Secure documentation{.perl-module} for more details.

spending_controls

: Rules that control spending across this cardholder's cards. Refer to our documentation{.perl-module} for more details.

status

: Specifies whether to permit authorizations on this cardholder's cards.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/cardholders/update

ISSUING DISPUTE

You can create, list, retrieve, submit or update issuing dispute

create {#create-29}

    my $obj = $stripe->issuing_disputes( create => {
        evidence    =>
        {
            fraudulent =>
            {
                explanation => "Purchase was unrecognized.",
            }
            reason     => "fraudulent",
        }
        transaction => "ipi_1JIdAl2eZvKYlo2Cfr8US8uB", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Issuing::Dispute{.perl-module} object or a hash reference, this will create a Stripe issuing dispute and return an Net::API::Stripe::Issuing::Dispute{.perl-module} object.

Possible parameters are:

evidence

: Evidence provided for the dispute.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

transaction

: The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use treasury.received_debit.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/disputes/create

list {#list-40}

    my $obj = $stripe->issuing_disputes( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a issuing dispute{.perl-module} object, this issue an api call to get the list of all issuing dispute.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Select Issuing disputes with the given status.

transaction

: Select the Issuing dispute for the given transaction.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/disputes/list

retrieve {#retrieve-40}

    my $obj = $stripe->issuing_disputes( retrieve => $args ) || die( $stripe->error );

Provided with a issuing dispute{.perl-module} object or a hash reference, this will retrieve a Stripe issuing dispute and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/disputes/retrieve

submit

    my $obj = $stripe->issuing_disputes( submit => $args ) || die( $stripe->error );

Provided with a issuing dispute{.perl-module}, or a hash reference, this will issue a submit api call.

Returns an Issuing Dispute object in submitted status if submission succeeds.

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/dispute/submit

update

    my $obj = $stripe->issuing_disputes( update => {
        evidence =>
        {
            not_received =>
            {
                expected_at         => "1590000000",
                explanation         => "",
                product_description => "Baseball cap",
                product_type        => "merchandise",
            }
            reason       => "not_received",
        } } ) || die( $stripe->error );

Provided with a issuing dispute{.perl-module} object or a hash reference, this will update a Stripe issuing dispute and return its corresponding object{.perl-module}

Possible parameters are:

evidence

: Evidence provided for the dispute.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/disputes/update

ISSUING TRANSACTION

You can list, retrieve or update issuing transaction

list {#list-41}

    my $obj = $stripe->issuing_transactions( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a issuing transaction{.perl-module} object, this issue an api call to get the list of all issuing transaction.

Possible parameters are:

card

: Only return transactions that belong to the given card.

cardholder

: Only return transactions that belong to the given cardholder.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type

: Only return transactions that have the given type. One of capture or refund.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/transactions/list

retrieve {#retrieve-41}

    my $obj = $stripe->issuing_transactions( retrieve => $args ) || die( $stripe->error );

Provided with a issuing transaction{.perl-module} object or a hash reference, this will retrieve a Stripe issuing transaction and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/transactions/retrieve

update

    my $obj = $stripe->issuing_transactions( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a issuing transaction{.perl-module} object or a hash reference, this will update a Stripe issuing transaction and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/issuing/transactions/update

LINE ITEM

You can lines line item

lines

    my $obj = $stripe->line_items( lines => $args ) || die( $stripe->error );

Provided with a line item{.perl-module}, or a hash reference, this will issue a lines api call.

Returns a list of line_item objects{.perl-module}.

Possible parameters are:

automatic_tax

: Settings for automatic tax lookup for this invoice preview.

coupon

: The code of the coupon to apply. If subscription or subscription_items is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.

currency

: The currency to preview this invoice in. Defaults to that of customer if not specified.

customer

: Required if subscription unset The identifier of the customer whose upcoming invoice you'd like to retrieve.

customer_details

: Required if subscription and customer unset Details about the customer you want to invoice or overrides for an existing customer.

discounts

: The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the coupon parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use coupon instead.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

invoice_items

: List of invoice items to add or update in the upcoming invoice preview.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

schedule

: The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

subscription

: The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a subscription_items is provided, you will preview creating a subscription with those items. If neither subscription nor subscription_items is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.

subscription_billing_cycle_anchor

: For new subscriptions, a future timestamp to anchor the subscription's billing cycle{.perl-module}. This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to now or unchanged.

subscription_cancel_at

: Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using proration_behavior.

subscription_cancel_at_period_end

: Boolean indicating whether this subscription should cancel at the end of the current period.

subscription_cancel_now

: This simulates the subscription being canceled or expired immediately.

subscription_default_tax_rates

: If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have tax_rates set.

subscription_items

: A list of up to 20 subscription items, each with an attached price.

subscription_proration_behavior

: Determines how to handle prorations{.perl-module} when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes.

subscription_proration_date

: If previewing an update to a subscription, and doing proration, subscription_proration_date forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, subscription, and one of subscription_items, or subscription_trial_end are required. Also, subscription_proration_behavior cannot be set to 'none'.

subscription_start_date

: Date a subscription is intended to start (can be future or past)

subscription_trial_end

: If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of subscription_items or subscription is required.

subscription_trial_from_plan

: Indicates if a plan's trial_period_days should be applied to the subscription. Setting subscription_trial_end per subscription is preferred, and this defaults to false. Setting this flag to true together with subscription_trial_end is not allowed. See Using trial periods on subscriptions{.perl-module} to learn more.

More information from Stripe api documentation at https://stripe.com/docs/api/invoices/upcoming_invoice_lines

LOGIN LINK

You can create login link

create {#create-30}

    my $obj = $stripe->login_links( create => $args ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::Account::LoginLink{.perl-module} object or a hash reference, this will create a Stripe login link and return an Net::API::Stripe::Connect::Account::LoginLink{.perl-module} object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/account/create_login_link

MANDATE

You can retrieve mandate

retrieve {#retrieve-42}

    my $obj = $stripe->mandates( retrieve => $args ) || die( $stripe->error );

Provided with a mandate{.perl-module} object or a hash reference, this will retrieve a Stripe mandate and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/mandates/retrieve

PAYMENT INTENT

You can apply_customer_balance, cancel, capture, confirm, create, increment, increment_authorization, list, reconcile, retrieve, search, update, verify or verify_microdeposits payment intent

apply_customer_balance

    my $obj = $stripe->payment_intents( apply_customer_balance => $args ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a apply_customer_balance api call.

Returns a PaymentIntent object.

Possible parameters are:

amount

: Amount intended to be applied to this PaymentIntent from the customer's cash balance.

A positive integer representing how much to charge in the [smallest
currency
unit](https://stripe.com/docs/currencies#zero-decimal){.perl-module}
(e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a
zero-decimal currency).

The maximum amount is the amount of the PaymentIntent.

When omitted, the amount defaults to the remaining amount requested
on the PaymentIntent.

currency

: Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/apply_customer_balance

cancel

    my $obj = $stripe->payment_intents( cancel => $args ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns a PaymentIntent object if the cancellation succeeded. Returns an error if the PaymentIntent has already been canceled or is not in a cancelable state.

Possible parameters are:

cancellation_reason

: Reason for canceling this PaymentIntent. Possible values are duplicate, fraudulent, requested_by_customer, or abandoned

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/cancel

capture

    my $obj = $stripe->payment_intents( capture => $args ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a capture api call.

Returns a PaymentIntent object with status="succeeded" if the PaymentIntent was capturable. Returns an error if the PaymentIntent was not capturable or an invalid amount to capture was provided.

Possible parameters are:

amount_to_capture

: The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Defaults to the full amount_capturable if not provided.

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

statement_descriptor

: For non-card charges, you can use this value as the complete description that appears on your customers' statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix

: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

transfer_data

: The parameters used to automatically create a Transfer when the payment is captured. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/capture

confirm

    my $obj = $stripe->payment_intents( confirm => {
        payment_method => "pm_card_visa", } ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a confirm api call.

Returns the resulting PaymentIntent after all possible transitions are applied.

Possible parameters are:

capture_method

: Controls when the funds will be captured from the customer's account.

error_on_requires_action

: Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action. This parameter is intended for simpler integrations that do not handle customer actions, like saving cards without authentication{.perl-module}.

mandate

: ID of the mandate to be used for this payment.

mandate_data

: This hash contains details about the Mandate to create

off_session

: Set to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later{.perl-module}.

payment_method

: ID of the payment method (a PaymentMethod, Card, or compatible Source{.perl-module} object) to attach to this PaymentIntent.

payment_method_data

: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method{.perl-module} property on the PaymentIntent.

payment_method_options

: Payment-method-specific configuration for this PaymentIntent.

payment_method_types

: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. Use automaticpaymentmethods to manage payment methods from the Stripe Dashboard{.perl-module}.

radar_options

: Options to configure Radar. See Radar Session{.perl-module} for more information.

receipt_email

: Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings{.perl-module}.

return_url

: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods.

setup_future_usage

: Indicates that you intend to make future payments with this PaymentIntent's payment method.

Providing this parameter will [attach the payment
method](https://stripe.com/docs/payments/save-during-payment){.perl-module}
to the PaymentIntent\'s Customer, if present, after the
PaymentIntent is confirmed and any required actions from the user
are complete. If no Customer was provided, the payment method can
still be
[attached](https://stripe.com/docs/api/payment_methods/attach){.perl-module}
to a Customer after the transaction completes.

When processing card payments, Stripe also uses `setup_future_usage`
to dynamically optimize your payment flow and comply with regional
legislation and network rules, such as
[SCA](https://stripe.com/docs/strong-customer-authentication){.perl-module}.

If `setup_future_usage` is already set and you are performing a
request using a publishable key, you may only update the value from
`on_session` to `off_session`.

shipping

: Shipping information for this PaymentIntent.

use_stripe_sdk

: Set to true only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/confirm

create {#create-31}

    my $obj = $stripe->payment_intents( create => {
        amount               => "2000",
        currency             => "usd",
        payment_method_types => [qw( card )], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or a hash reference, this will create a Stripe payment intent and return an Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

amount

: Required. Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit{.perl-module} (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency{.perl-module}. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

automatic_payment_methods

: When enabled, this PaymentIntent will accept payment methods that you have enabled in the Dashboard and are compatible with this PaymentIntent's other parameters.

capture_method

: Controls when the funds will be captured from the customer's account.

confirm

: Set to true to attempt to confirm{.perl-module} this PaymentIntent immediately. This parameter defaults to false. When creating and confirming a PaymentIntent at the same time, parameters available in the confirm{.perl-module} API may also be provided.

confirmation_method

:

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

customer

: ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this
PaymentIntent.

If present in combination with
[setup*future*usage](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-setup_future_usage){.perl-module},
this PaymentIntent\'s payment method will be attached to the
Customer after the PaymentIntent has been confirmed and any required
actions from the user are complete.

description

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

error_on_requires_action

: Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action. This parameter is intended for simpler integrations that do not handle customer actions, like saving cards without authentication{.perl-module}. This parameter can only be used with confirm=true{.perl-module}.

mandate

: ID of the mandate to be used for this payment. This parameter can only be used with confirm=true{.perl-module}.

mandate_data

: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true{.perl-module}.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

off_session

: Set to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later{.perl-module}. This parameter can only be used with confirm=true{.perl-module}.

on_behalf_of

: The Stripe account ID for which these funds are intended. For details, see the PaymentIntents use case for connected accounts{.perl-module}.

payment_method

: ID of the payment method (a PaymentMethod, Card, or compatible Source{.perl-module} object) to attach to this PaymentIntent.

If this parameter is omitted with `confirm=true`,
`customer.default_source` will be attached as this PaymentIntent\'s
payment instrument to improve the migration experience for users of
the Charges API. We recommend that you explicitly provide the
`payment_method` going forward.

payment_method_data

: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method{.perl-module} property on the PaymentIntent.

payment_method_options

: Payment-method-specific configuration for this PaymentIntent.

payment_method_types

: The list of payment method types{.perl-module} that this PaymentIntent is allowed to use. If this is not provided, defaults to [“card”]. Valid payment method types include: acss_debit, affirm, afterpay_clearpay, alipay, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, card_present, eps, fpx, giropay, grabpay, ideal, klarna, konbini, link, oxxo, p24, paynow, promptpay, sepa_debit, sofort, us_bank_account, and wechat_pay.

radar_options

: Options to configure Radar. See Radar Session{.perl-module} for more information.

receipt_email

: Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings{.perl-module}.

return_url

: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with confirm=true{.perl-module}.

setup_future_usage

: Indicates that you intend to make future payments with this PaymentIntent's payment method.

Providing this parameter will [attach the payment
method](https://stripe.com/docs/payments/save-during-payment){.perl-module}
to the PaymentIntent\'s Customer, if present, after the
PaymentIntent is confirmed and any required actions from the user
are complete. If no Customer was provided, the payment method can
still be
[attached](https://stripe.com/docs/api/payment_methods/attach){.perl-module}
to a Customer after the transaction completes.

When processing card payments, Stripe also uses `setup_future_usage`
to dynamically optimize your payment flow and comply with regional
legislation and network rules, such as
[SCA](https://stripe.com/docs/strong-customer-authentication){.perl-module}.

shipping

: Shipping information for this PaymentIntent.

statement_descriptor

: For non-card charges, you can use this value as the complete description that appears on your customers' statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix

: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

transfer_data

: The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

transfer_group

: A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts{.perl-module} for details.

use_stripe_sdk

: Set to true only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/create

increment_authorization

    my $obj = $stripe->payment_intents( increment_authorization => {
        amount => "2099", } ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a increment_authorization api call.

Returns a PaymentIntent object with the updated amount if the incremental authorization succeeded. Returns an error if the incremental authorization failed or the PaymentIntent isn't eligible for incremental authorizations.

Possible parameters are:

amount

: Required. The updated total amount you intend to collect from the cardholder. This amount must be greater than the currently authorized amount.

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

transfer_data

: The parameters used to automatically create a Transfer when the payment is captured. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/increment_authorization

list {#list-42}

    my $obj = $stripe->payment_intents( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a payment intent{.perl-module} object, this issue an api call to get the list of all payment intent.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: Only return PaymentIntents for the customer specified by this customer ID.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/list

retrieve {#retrieve-43}

    my $obj = $stripe->payment_intents( retrieve => $args ) || die( $stripe->error );

Provided with a payment intent{.perl-module} object or a hash reference, this will retrieve a Stripe payment intent and return its corresponding object{.perl-module}

Possible parameters are:

client_secret

: Required. The client secret of the PaymentIntent. Required if a publishable key is used to retrieve the source.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/retrieve

search

    my $obj = $stripe->payment_intents( search => {
        query => "status:'succeeded' AND metadata['order_id']:'6735'", } ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit PaymentIntents. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for payment intents{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/search

update

    my $obj = $stripe->payment_intents( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a payment intent{.perl-module} object or a hash reference, this will update a Stripe payment intent and return its corresponding object{.perl-module}

Possible parameters are:

amount

: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit{.perl-module} (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency{.perl-module}. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

capture_method

: Controls when the funds will be captured from the customer's account.

currency

: Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

customer

: ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this
PaymentIntent.

If present in combination with
[setup*future*usage](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-setup_future_usage){.perl-module},
this PaymentIntent\'s payment method will be attached to the
Customer after the PaymentIntent has been confirmed and any required
actions from the user are complete.

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

payment_method

: ID of the payment method (a PaymentMethod, Card, or compatible Source{.perl-module} object) to attach to this PaymentIntent.

payment_method_data

: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method{.perl-module} property on the PaymentIntent.

payment_method_options

: Payment-method-specific configuration for this PaymentIntent.

payment_method_types

: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. Use automaticpaymentmethods to manage payment methods from the Stripe Dashboard{.perl-module}.

receipt_email

: Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings{.perl-module}.

setup_future_usage

: Indicates that you intend to make future payments with this PaymentIntent's payment method.

Providing this parameter will [attach the payment
method](https://stripe.com/docs/payments/save-during-payment){.perl-module}
to the PaymentIntent\'s Customer, if present, after the
PaymentIntent is confirmed and any required actions from the user
are complete. If no Customer was provided, the payment method can
still be
[attached](https://stripe.com/docs/api/payment_methods/attach){.perl-module}
to a Customer after the transaction completes.

When processing card payments, Stripe also uses `setup_future_usage`
to dynamically optimize your payment flow and comply with regional
legislation and network rules, such as
[SCA](https://stripe.com/docs/strong-customer-authentication){.perl-module}.

If `setup_future_usage` is already set and you are performing a
request using a publishable key, you may only update the value from
`on_session` to `off_session`.

shipping

: Shipping information for this PaymentIntent.

statement_descriptor

: For non-card charges, you can use this value as the complete description that appears on your customers' statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix

: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

transfer_data

: The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents use case for connected accounts{.perl-module}.

transfer_group

: A string that identifies the resulting payment as part of a group. transfer_group may only be provided if it has not been set. See the PaymentIntents use case for connected accounts{.perl-module} for details.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/update

verify_microdeposits

    my $obj = $stripe->payment_intents( verify_microdeposits => $args ) || die( $stripe->error );

Provided with a payment intent{.perl-module}, or a hash reference, this will issue a verify_microdeposits api call.

Returns a PaymentIntent object.

Possible parameters are:

amounts

: Two positive integers, in cents, equal to the values of the microdeposits sent to the bank account.

client_secret

: Required. The client secret of the PaymentIntent.

descriptor_code

: A six-character code starting with SM present in the microdeposit sent to the bank account.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_intents/verify_microdeposits

PAYMENT INTENTS

You can create retrieve update confirm capture cancel list payment intents

cancel

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will cancel the Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

cancellation_reason String

: Reason for canceling this PaymentIntent. Possible values are duplicate, fraudulent, requested_by_customer, or abandoned

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_intents/cancel

capture

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will capture the Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

amount_to_capture Integer

: The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Defaults to the full amount_capturable if not provided.

application_fee_amount Integer

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts.

statement_descriptor String

: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix String

: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

transfer_data Hash

: The parameters used to automatically create a Transfer when the payment is captured. For more information, see the PaymentIntents use case for connected accounts.

It has the following properties:

*amount* Integer

:   The amount that will be transferred automatically when a charge
    succeeds.

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_intents/capture

confirm

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will confirm the Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

error_on_requires_action Boolean

: Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action. This parameter is intended for simpler integrations that do not handle customer actions, like saving cards without authentication.

mandate String

: ID of the mandate to be used for this payment.

mandate_data Hash

: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.

*customer\_acceptance* Hash required

:   This hash contains details about the customer acceptance of the
    Mandate.

    *type* String required

    :   The type of customer acceptance information included with
        the Mandate. One of online or offline.

    *accepted\_at* Datetime

    :   The time at which the customer accepted the Mandate.

    *offline* Hash

    :   If this is a Mandate accepted offline, this hash contains
        details about the offline acceptance.

    *online* Hash

    :   If this is a Mandate accepted online, this hash contains
        details about the online acceptance.

        *ip\_address* String

        :   The IP address from which the Mandate was accepted by
            the customer.

        *user\_agent* String

        :   The user agent of the browser from which the Mandate was
            accepted by the customer.

off_session Boolean

: Set to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later.

payment_method String

: ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.

payment_method_data Hash

: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent.

*alipay* Hash

:   If this is an Alipay PaymentMethod, this hash contains details
    about the Alipay payment method.

    No documented property.

*au\_becs\_debit* Hash

:   If this is an au\_becs\_debit PaymentMethod, this hash contains
    details about the bank account.

    *account\_number* String

    :   The account number for the bank account.

    *bsb\_number* String

    :   Bank-State-Branch number of the bank account.

*bacs\_debit* Hash

:   If this is a bacs\_debit PaymentMethod, this hash contains
    details about the Bacs Direct Debit bank account.

    *account\_number* String

    :   Account number of the bank account that the funds will be
        debited from.

    *sort\_code* String

    :   Sort code of the bank account. (e.g., 10-20-30)

*bancontact* Hash

:   If this is a bancontact PaymentMethod, this hash contains
    details about the Bancontact payment method.

    No documented property.

*billing\_details* Hash

:   Billing information associated with the PaymentMethod that may
    be used or required by particular types of payment methods.

    *address* Hash

    :   Billing address.

        *city* String

        :   City, district, suburb, town, or village.

        *country* String

        :   Two-letter country code (ISO 3166-1 alpha-2).

        *line1* String

        :   Address line 1 (e.g., street, PO Box, or company name).

        *line2* String

        :   Address line 2 (e.g., apartment, suite, unit, or
            building).

        *postal\_code* String

        :   ZIP or postal code.

        *state* String

        :   State, county, province, or region.

    *email* String

    :   Email address.

    *name* String

    :   Full name.

    *phone* String

    :   Billing phone number (including extension).

*eps* hash

:   If this is an eps PaymentMethod, this hash contains details
    about the EPS payment method.

    No documented property.

*fpx* Hash

:   If this is an fpx PaymentMethod, this hash contains details
    about the FPX payment method.

    *bank* String required

    :   The customer’s bank.

*giropay* Hash

:   If this is a giropay PaymentMethod, this hash contains details
    about the Giropay payment method.

    No documented property.

*grabpay* Hash

:   If this is a grabpay PaymentMethod, this hash contains details
    about the GrabPay payment method.

    No documented property.

*ideal* Hash

:   If this is an ideal PaymentMethod, this hash contains details
    about the iDEAL payment method.

    *bank* String

    :   The customer’s bank.

*interac\_present* Hash

:   If this is an interac\_present PaymentMethod, this hash contains
    details about the Interac Present payment method.

    No documented property.

*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. Individual keys can be unset by
    posting an empty value to them. All keys can be unset by posting
    an empty value to metadata.

*oxxo* Hash

:   If this is an oxxo PaymentMethod, this hash contains details
    about the OXXO payment method.

    No documented property.

*p24* Hash

:   If this is a p24 PaymentMethod, this hash contains details about
    the P24 payment method.

    *bank* String

    :   The customer’s bank.

*sepa\_debit* Hash

:   If this is a sepa\_debit PaymentMethod, this hash contains
    details about the SEPA debit bank account.

    *iban* String required

    :   IBAN of the bank account.

*sofort* Hash

:   If this is a sofort PaymentMethod, this hash contains details
    about the SOFORT payment method.

    *country* String required

    :   Two-letter ISO code representing the country the bank
        account is located in.

*type* String

:   The type of the PaymentMethod. An additional hash is included on
    the PaymentMethod with a name matching this value. It contains
    additional information specific to the PaymentMethod type.

payment_method_options Hash

: Payment-method-specific configuration for this PaymentIntent.

*alipay* Hash

:   If this is a alipay PaymentMethod, this sub-hash contains
    details about the Alipay payment method options.

    No documented property.

*bancontact* Hash

:   If this is a bancontact PaymentMethod, this sub-hash contains
    details about the Bancontact payment method options.

    *preferred\_language* String

    :   Preferred language of the Bancontact authorization page that
        the customer is redirected to.

*card* Hash

:   Configuration for any card payments attempted on this
    PaymentIntent.

    *cvc\_token*

    :   A single-use cvc\_update Token that represents a card CVC
        value. When provided, the CVC value will be verified during
        the card payment attempt. This parameter can only be
        provided during confirmation.

    *installments*

    :   Installment configuration for payments attempted on this
        PaymentIntent (Mexico Only).

        For more information, see the [installments integration
        guide](https://stripe.com/docs/payments/installments){.perl-module}.

        *enabled* Boolean

        :   Setting to true enables installments for this
            PaymentIntent. This will cause the response to contain a
            list of available installment plans. Setting to false
            will prevent any selected plan from applying to a
            charge.

        *plan* Hash

        :   The selected installment plan to use for this payment
            attempt. This parameter can only be provided during
            confirmation.

            *count* Integer required

            :   For fixed\_count installment plans, this is the
                number of installment payments your customer will
                make to their credit card.

            *interval* String required

            :   For fixed\_count installment plans, this is the
                interval between installment payments your customer
                will make to their credit card. One of month.

            *type* String required

            :   Type of installment plan, one of fixed\_count.

    *network* String

    :   Selected network to process this PaymentIntent on. Depends
        on the available networks of the card attached to the
        PaymentIntent. Can be only set confirm-time.

    *request\_three\_d\_secure* String

    :   We strongly recommend that you rely on our SCA Engine to
        automatically prompt your customers for authentication based
        on risk level and other requirements. However, if you wish
        to request 3D Secure based on logic from your own fraud
        engine, provide this option. Permitted values include:
        automatic or any. If not provided, defaults to automatic.
        Read our guide on manually requesting 3D Secure for more
        information on how this configuration interacts with Radar
        and our SCA Engine.

*oxxo* Hash

:   If this is a oxxo PaymentMethod, this sub-hash contains details
    about the OXXO payment method options.

    *expires\_after\_days* Integer

    :   The number of calendar days before an OXXO voucher expires.
        For example, if you create an OXXO voucher on Monday and you
        set expires\_after\_days to 2, the OXXO invoice will expire
        on Wednesday at 23:59 America/Mexico\_City time.

*p24* Hash

:   If this is a p24 PaymentMethod, this sub-hash contains details
    about the Przelewy24 payment method options.

    No property documented.

*sepa\_debit* Hash

:   If this is a sepa\_debit PaymentIntent, this sub-hash contains
    details about the SEPA Debit payment method options.

    *mandate\_options* Hash

    :   Additional fields for Mandate creation

        No property provided.

*sofort* Hash

:   If this is a sofort PaymentMethod, this sub-hash contains
    details about the SOFORT payment method options.

    *preferred\_language* String

    :   Language shown to the payer on redirect.

payment_method_types Array of strings

: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.

receipt_email String

: Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings.

return_url String

: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods.

setup_future_usage String

: Indicates that you intend to make future payments with this PaymentIntent’s payment method.

Providing this parameter will attach the payment method to the
PaymentIntent’s Customer, if present, after the PaymentIntent is
confirmed and any required actions from the user are complete. If no
Customer was provided, the payment method can still be attached to a
Customer after the transaction completes.

When processing card payments, Stripe also uses setup\_future\_usage
to dynamically optimize your payment flow and comply with regional
legislation and network rules, such as SCA.

If setup\_future\_usage is already set and you are performing a
request using a publishable key, you may only update the value from
on\_session to off\_session.

shipping Hash

: Shipping information for this PaymentIntent.

*address* String required

:   Shipping address.

    *city* String

    :   City, district, suburb, town, or village.

    *country* String

    :   Two-letter country code (ISO 3166-1 alpha-2).

    *line1* String required

    :   Address line 1 (e.g., street, PO Box, or company name).

    *line2* String

    :   Address line 2 (e.g., apartment, suite, unit, or building).

    *postal\_code* String

    :   ZIP or postal code.

    *state* String

    :   State, county, province, or region.

*use\_stripe\_sdk* Boolean

:   Set to true only when using manual confirmation and the iOS or
    Android SDKs to handle additional authentication steps.

For more information, see Stripe documentation here:
<https://stripe.com/docs/api/payment_intents/confirm>

create {#create-32}

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will create a Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

amount Integer

: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

application_fee_amount Integer

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts.

capture_method String

: Controls when the funds will be captured from the customer’s account.

Possible enum values

*automatic* String

:   (Default) Stripe automatically captures funds when the customer
    authorizes the payment.

*manual* String

:   Place a hold on the funds when the customer authorizes the
    payment, but don’t capture the funds until later. (Not all
    payment methods support this.)

confirmation_method String

: Possible enum values

*automatic* String

:   (Default) PaymentIntent can be confirmed using a publishable
    key. After next\_actions are handled, no additional confirmation
    is required to complete the payment.

*manual* String

:   All payment attempts must be made using a secret key. The
    PaymentIntent returns to the requires\_confirmation state after
    handling next\_actions, and requires your server to initiate
    each payment attempt with an explicit confirmation.

currency String

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

confirm Boolean

: Set to true to attempt to confirm this PaymentIntent immediately. This parameter defaults to false. When creating and confirming a PaymentIntent at the same time, parameters available in the confirm API may also be provided.

customer String.

: ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this
PaymentIntent.

If present in combination with setup\_future\_usage, this
PaymentIntent’s payment method will be attached to the Customer
after the PaymentIntent has been confirmed and any required actions
from the user are complete.

description String

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

error_on_requires_action Boolean

: Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action. This parameter is intended for simpler integrations that do not handle customer actions, like saving cards without authentication. This parameter can only be used with confirm=true.

mandate String

: ID of the mandate to be used for this payment. This parameter can only be used with confirm=true.

mandate_data Hash

: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.

*customer\_acceptance* Hash required

:   This hash contains details about the customer acceptance of the
    Mandate.

    *type* String required

    :   The type of customer acceptance information included with
        the Mandate. One of online or offline.

    *accepted\_at* Datetime

    :   The time at which the customer accepted the Mandate.

    *offline* Hash

    :   If this is a Mandate accepted offline, this hash contains
        details about the offline acceptance.

    *online* Hash

    :   If this is a Mandate accepted online, this hash contains
        details about the online acceptance.

        *ip\_address* String

        :   The IP address from which the Mandate was accepted by
            the customer.

        *user\_agent* String

        :   The user agent of the browser from which the Mandate was
            accepted by the customer.

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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of String

: The Stripe account ID for which these funds are intended. For details, see the PaymentIntents use case for connected accounts.

off_session String

: Set to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.

payment_method String

: ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.

If this parameter is omitted with confirm=true,
customer.default\_source will be attached as this PaymentIntent’s
payment instrument to improve the migration experience for users of
the Charges API. We recommend that you explicitly provide the
payment\_method going forward.

payment_method_data Hash

: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent.

*alipay* Hash

:   If this is an Alipay PaymentMethod, this hash contains details
    about the Alipay payment method.

    No documented property.

*au\_becs\_debit* Hash

:   If this is an au\_becs\_debit PaymentMethod, this hash contains
    details about the bank account.

    *account\_number* String

    :   The account number for the bank account

    *bsb\_number* String

    :   Bank-State-Branch number of the bank account.

*bacs\_debit* Hash

:   If this is a bacs\_debit PaymentMethod, this hash contains
    details about the Bacs Direct Debit bank account.

    *account\_number* String

    :   Account number of the bank account that the funds will be
        debited from.

    *sort\_code* String

    :   Sort code of the bank account. (e.g., 10-20-30)

*bancontact* Hash

:   If this is a bancontact PaymentMethod, this hash contains
    details about the Bancontact payment method.

    No documented property.

*billing\_details* Hash

:   Billing information associated with the PaymentMethod that may
    be used or required by particular types of payment methods.

    *address* Hash

    :   Billing address.

        *city* String

        :   City, district, suburb, town, or village.

        *country* String

        :   Two-letter country code (ISO 3166-1 alpha-2).

        *line1* String

        :   Address line 1 (e.g., street, PO Box, or company name).

        *line2* String

        :   Address line 2 (e.g., apartment, suite, unit, or
            building).

        *postal\_code* String

        :   ZIP or postal code.

        *state* String

        :   State, county, province, or region.

    *email* String

    :   Email address.

    *name* String

    :   Full name.

    *phone* String

    :   Billing phone number (including extension).

*eps* hash

:   If this is an eps PaymentMethod, this hash contains details
    about the EPS payment method.

    No documented property.

*fpx* Hash

:   If this is an fpx PaymentMethod, this hash contains details
    about the FPX payment method.

    *bank* String

    :   The customer’s bank.

*giropay* Hash

:   If this is a giropay PaymentMethod, this hash contains details
    about the Giropay payment method.

    No documented property.

*grabpay* Hash

:   If this is a grabpay PaymentMethod, this hash contains details
    about the GrabPay payment method.

    No documented property.

*ideal* Hash

:   If this is an ideal PaymentMethod, this hash contains details
    about the iDEAL payment method.

    *bank* String

    :   The customer’s bank.

*interac\_present* Hash

:   If this is an interac\_present PaymentMethod, this hash contains
    details about the Interac Present payment method.

    No documented property.

*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. Individual keys can be unset by
    posting an empty value to them. All keys can be unset by posting
    an empty value to metadata.

*oxxo* Hash

:   If this is an oxxo PaymentMethod, this hash contains details
    about the OXXO payment method.

    No documented property.

*p24* Hash

:   If this is a p24 PaymentMethod, this hash contains details about
    the P24 payment method.

    *bank* String

    :   The customer’s bank.

*sepa\_debit* Hash

:   If this is a sepa\_debit PaymentMethod, this hash contains
    details about the SEPA debit bank account.

    *iban* String required

    :   IBAN of the bank account.

*sofort* Hash

:   If this is a sofort PaymentMethod, this hash contains details
    about the SOFORT payment method.

    *country*

    :   Two-letter ISO code representing the country the bank
        account is located in.

*type* String

:   The type of the PaymentMethod. An additional hash is included on
    the PaymentMethod with a name matching this value. It contains
    additional information specific to the PaymentMethod type.

payment_method_options Hash

: Payment-method-specific configuration for this PaymentIntent.

*alipay* Hash

:   If this is a alipay PaymentMethod, this sub-hash contains
    details about the Alipay payment method options.

    No documented property.

*bancontact* Hash

:   If this is a bancontact PaymentMethod, this sub-hash contains
    details about the Bancontact payment method options.

    *preferred\_language* String

    :   Preferred language of the Bancontact authorization page that
        the customer is redirected to.

*card* Hash

:   Configuration for any card payments attempted on this
    PaymentIntent.

    *cvc\_token*

    :   A single-use cvc\_update Token that represents a card CVC
        value. When provided, the CVC value will be verified during
        the card payment attempt. This parameter can only be
        provided during confirmation.

    *installments*

    :   Installment configuration for payments attempted on this
        PaymentIntent (Mexico Only).

        For more information, see the [installments integration
        guide](https://stripe.com/docs/payments/installments){.perl-module}.

        *enabled* Boolean

        :   Setting to true enables installments for this
            PaymentIntent. This will cause the response to contain a
            list of available installment plans. Setting to false
            will prevent any selected plan from applying to a
            charge.

        *plan* Hash

        :   The selected installment plan to use for this payment
            attempt. This parameter can only be provided during
            confirmation.

            *count* Integer required

            :   For fixed\_count installment plans, this is the
                number of installment payments your customer will
                make to their credit card.

            *interval* String required

            :   For fixed\_count installment plans, this is the
                interval between installment payments your customer
                will make to their credit card. One of month.

            *type* String required

            :   Type of installment plan, one of fixed\_count.

    *network* String

    :   Selected network to process this PaymentIntent on. Depends
        on the available networks of the card attached to the
        PaymentIntent. Can be only set confirm-time.

    *request\_three\_d\_secure* String

    :   We strongly recommend that you rely on our SCA Engine to
        automatically prompt your customers for authentication based
        on risk level and other requirements. However, if you wish
        to request 3D Secure based on logic from your own fraud
        engine, provide this option. Permitted values include:
        automatic or any. If not provided, defaults to automatic.
        Read our guide on manually requesting 3D Secure for more
        information on how this configuration interacts with Radar
        and our SCA Engine.

*oxxo* Hash

:   If this is a oxxo PaymentMethod, this sub-hash contains details
    about the OXXO payment method options.

    *expires\_after\_days* Integer

    :   The number of calendar days before an OXXO voucher expires.
        For example, if you create an OXXO voucher on Monday and you
        set expires\_after\_days to 2, the OXXO invoice will expire
        on Wednesday at 23:59 America/Mexico\_City time.

*p24* Hash

:   If this is a p24 PaymentMethod, this sub-hash contains details
    about the Przelewy24 payment method options.

    No property documented.

*sepa\_debit* Hash

:   If this is a sepa\_debit PaymentIntent, this sub-hash contains
    details about the SEPA Debit payment method options.

    *mandate\_options* Hash

    :   Additional fields for Mandate creation

        No property provided.

*sofort* Hash

:   If this is a sofort PaymentMethod, this sub-hash contains
    details about the SOFORT payment method options.

    *preferred\_language* String

    :   Language shown to the payer on redirect.

payment_method_types array of strings

: The list of payment method types that this PaymentIntent is allowed to use. If this is not provided, defaults to [“card”]. Valid payment method types include: alipay, au_becs_debit, bancontact, card, card_present, eps, giropay, ideal, interac_present, p24, sepa_debit, and sofort.

receipt_email String

: Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings.

return_url String

: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with confirm=true.

setup_future_usage String

: Indicates that you intend to make future payments with this PaymentIntent’s payment method.

Providing this parameter will attach the payment method to the
PaymentIntent’s Customer, if present, after the PaymentIntent is
confirmed and any required actions from the user are complete. If no
Customer was provided, the payment method can still be attached to a
Customer after the transaction completes.

When processing card payments, Stripe also uses setup\_future\_usage
to dynamically optimize your payment flow and comply with regional
legislation and network rules, such as SCA.

Possible enum values

*on\_session* String

:   Use on\_session if you intend to only reuse the payment method
    when your customer is present in your checkout flow.

*off\_session* String

:   Use off\_session if your customer may or may not be present in
    your checkout flow.

shipping Hash

: Shipping information for this PaymentIntent.

*address* Hash required

:   Shipping address.

    *city* String

    :   City, district, suburb, town, or village.

    *country* String

    :   Two-letter country code (ISO 3166-1 alpha-2).

    *line1* String required

    :   Address line 1 (e.g., street, PO Box, or company name).

    *line2* String

    :   Address line 2 (e.g., apartment, suite, unit, or building).

    *postal\_code* String

    :   ZIP or postal code.

    *state* String

    :   State, county, province, or region.

*name* String required

:   Recipient name.

*carrier* String

:   The delivery service that shipped a physical product, such as
    Fedex, UPS, USPS, etc.

*phone* String

:   Recipient phone (including extension).

*tracking\_number* String

:   The tracking number for a physical product, obtained from the
    delivery service. If multiple tracking numbers were generated
    for this purchase, please separate them with commas.

statement_descriptor String

: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix Text

: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

transfer_data Hash

: The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents use case for connected accounts.

*destination* String required

:   If specified, successful charges will be attributed to the
    destination account for tax reporting, and the funds from
    charges will be transferred to the destination account. The ID
    of the resulting transfer will be returned on the successful
    charge’s transfer field.

*amount* Integer

:   The amount that will be transferred automatically when a charge
    succeeds. The amount is capped at the total transaction amount
    and if no amount is set, the full amount is transferred.

    If you intend to collect a fee and you need a more robust
    reporting experience, using application\_fee\_amount might be a
    better fit for your integration.

transfer_group String

: A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts for details.

use_stripe_sdk Boolean

: Set to true only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_intents/create

list {#list-43}

Provided with an hash reference of parameters, and this will get a list of payment methods and return a Net::API::Stripe::List{.perl-module} object.

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will update the Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

customer A Stripe customer id

: Only return PaymentIntents for the customer specified by this customer ID.

created Hash

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

*gt* Datetime

:   Return results where the created field is greater than this
    value.

*gte* Datetime

:   Return results where the created field is greater than or equal
    to this value.

*lt* Datetime

:   Return results where the created field is less than this value.

*lte* Datetime

:   Return results where the created field is less than or equal to
    this value.

ending_before String

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit Integer

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after String

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

retrieve {#retrieve-44}

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will retrieve a Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

client_secret String required

: The client secret of the PaymentIntent. Required if a publishable key is used to retrieve the source.

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_intents/retrieve

update

Provided with a Net::API::Stripe::Payment::Intent{.perl-module} object or an hash reference, this will update the Stripe payment intent and return a Net::API::Stripe::Payment::Intent{.perl-module} object.

Possible parameters are:

amount Integer

: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

application_fee_amount Integer

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts.

capture_method String

: Controls when the funds will be captured from the customer’s account.

Possible enum values

*automatic* String

:   (Default) Stripe automatically captures funds when the customer
    authorizes the payment.

*manual* String

:   Place a hold on the funds when the customer authorizes the
    payment, but don’t capture the funds until later. (Not all
    payment methods support this.)

confirmation_method String

: Possible enum values

*automatic* String

:   (Default) PaymentIntent can be confirmed using a publishable
    key. After next\_actions are handled, no additional confirmation
    is required to complete the payment.

*manual* String

:   All payment attempts must be made using a secret key. The
    PaymentIntent returns to the requires\_confirmation state after
    handling next\_actions, and requires your server to initiate
    each payment attempt with an explicit confirmation.

currency String

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

confirm Boolean

: Set to true to attempt to confirm this PaymentIntent immediately. This parameter defaults to false. When creating and confirming a PaymentIntent at the same time, parameters available in the confirm API may also be provided.

customer String.

: ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this
PaymentIntent.

If present in combination with setup\_future\_usage, this
PaymentIntent’s payment method will be attached to the Customer
after the PaymentIntent has been confirmed and any required actions
from the user are complete.

description String

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

error_on_requires_action Boolean

: Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action. This parameter is intended for simpler integrations that do not handle customer actions, like saving cards without authentication. This parameter can only be used with confirm=true.

mandate String

: ID of the mandate to be used for this payment. This parameter can only be used with confirm=true.

mandate_data Hash

: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.

*customer\_acceptance* Hash required

:   This hash contains details about the customer acceptance of the
    Mandate.

    *type* String required

    :   The type of customer acceptance information included with
        the Mandate. One of online or offline.

    *accepted\_at* Datetime

    :   The time at which the customer accepted the Mandate.

    *offline* Hash

    :   If this is a Mandate accepted offline, this hash contains
        details about the offline acceptance.

    *online* Hash

    :   If this is a Mandate accepted online, this hash contains
        details about the online acceptance.

        *ip\_address* String

        :   The IP address from which the Mandate was accepted by
            the customer.

        *user\_agent* String

        :   The user agent of the browser from which the Mandate was
            accepted by the customer.

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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of String

: The Stripe account ID for which these funds are intended. For details, see the PaymentIntents use case for connected accounts.

payment_method String

: ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.

payment_method_data Hash

: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent.

*alipay* Hash

:   If this is an Alipay PaymentMethod, this hash contains details
    about the Alipay payment method.

    No documented property.

*au\_becs\_debit* Hash

:   If this is an au\_becs\_debit PaymentMethod, this hash contains
    details about the bank account.

    *account\_number* String

    :   The account number for the bank account.

    *bsb\_number* String

    :   Bank-State-Branch number of the bank account.

*bacs\_debit* Hash

:   If this is a bacs\_debit PaymentMethod, this hash contains
    details about the Bacs Direct Debit bank account.

    *account\_number* String

    :   Account number of the bank account that the funds will be
        debited from.

    *sort\_code* String

    :   Sort code of the bank account. (e.g., 10-20-30)

*bancontact* Hash

:   If this is a bancontact PaymentMethod, this hash contains
    details about the Bancontact payment method.

    No documented property.

*billing\_details* Hash

:   Billing information associated with the PaymentMethod that may
    be used or required by particular types of payment methods.

    *address* Hash

    :   Billing address.

        *city* String

        :   City, district, suburb, town, or village.

        *country* String

        :   Two-letter country code (ISO 3166-1 alpha-2).

        *line1* String

        :   Address line 1 (e.g., street, PO Box, or company name).

        *line2* String

        :   Address line 2 (e.g., apartment, suite, unit, or
            building).

        *postal\_code* String

        :   ZIP or postal code.

        *state* String

        :   State, county, province, or region.

    *email* String

    :   Email address.

    *name* String

    :   Full name.

    *phone* String

    :   Billing phone number (including extension).

*eps* hash

:   If this is an eps PaymentMethod, this hash contains details
    about the EPS payment method.

    No documented property.

*fpx* Hash

:   If this is an fpx PaymentMethod, this hash contains details
    about the FPX payment method.

    *bank* String required

    :   The customer’s bank.

*giropay* Hash

:   If this is a giropay PaymentMethod, this hash contains details
    about the Giropay payment method.

    No documented property.

*grabpay* Hash

:   If this is a grabpay PaymentMethod, this hash contains details
    about the GrabPay payment method.

    No documented property.

*ideal* Hash

:   If this is an ideal PaymentMethod, this hash contains details
    about the iDEAL payment method.

    *bank* String

    :   The customer’s bank.

*interac\_present* Hash

:   If this is an interac\_present PaymentMethod, this hash contains
    details about the Interac Present payment method.

    No documented property.

*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. Individual keys can be unset by
    posting an empty value to them. All keys can be unset by posting
    an empty value to metadata.

*oxxo* Hash

:   If this is an oxxo PaymentMethod, this hash contains details
    about the OXXO payment method.

    No documented property.

*p24* Hash

:   If this is a p24 PaymentMethod, this hash contains details about
    the P24 payment method.

    *bank* String

    :   The customer’s bank.

*sepa\_debit* Hash

:   If this is a sepa\_debit PaymentMethod, this hash contains
    details about the SEPA debit bank account.

    *iban* String required

    :   IBAN of the bank account.

*sofort* Hash

:   If this is a sofort PaymentMethod, this hash contains details
    about the SOFORT payment method.

    *country* String required

    :   Two-letter ISO code representing the country the bank
        account is located in.

*type* String

:   The type of the PaymentMethod. An additional hash is included on
    the PaymentMethod with a name matching this value. It contains
    additional information specific to the PaymentMethod type.

payment_method_options Hash

: Payment-method-specific configuration for this PaymentIntent.

*alipay* Hash

:   If this is a alipay PaymentMethod, this sub-hash contains
    details about the Alipay payment method options.

    No documented property.

*bancontact* Hash

:   If this is a bancontact PaymentMethod, this sub-hash contains
    details about the Bancontact payment method options.

    *preferred\_language* String

    :   Preferred language of the Bancontact authorization page that
        the customer is redirected to.

*card* Hash

:   Configuration for any card payments attempted on this
    PaymentIntent.

    *cvc\_token*

    :   A single-use cvc\_update Token that represents a card CVC
        value. When provided, the CVC value will be verified during
        the card payment attempt. This parameter can only be
        provided during confirmation.

    *installments*

    :   Installment configuration for payments attempted on this
        PaymentIntent (Mexico Only).

        For more information, see the [installments integration
        guide](https://stripe.com/docs/payments/installments){.perl-module}.

        *enabled* Boolean

        :   Setting to true enables installments for this
            PaymentIntent. This will cause the response to contain a
            list of available installment plans. Setting to false
            will prevent any selected plan from applying to a
            charge.

        *plan* Hash

        :   The selected installment plan to use for this payment
            attempt. This parameter can only be provided during
            confirmation.

            *count* Integer required

            :   For fixed\_count installment plans, this is the
                number of installment payments your customer will
                make to their credit card.

            *interval* String required

            :   For fixed\_count installment plans, this is the
                interval between installment payments your customer
                will make to their credit card. One of month.

            *type* String required

            :   Type of installment plan, one of fixed\_count.

    *network* String

    :   Selected network to process this PaymentIntent on. Depends
        on the available networks of the card attached to the
        PaymentIntent. Can be only set confirm-time.

    *request\_three\_d\_secure* String

    :   We strongly recommend that you rely on our SCA Engine to
        automatically prompt your customers for authentication based
        on risk level and other requirements. However, if you wish
        to request 3D Secure based on logic from your own fraud
        engine, provide this option. Permitted values include:
        automatic or any. If not provided, defaults to automatic.
        Read our guide on manually requesting 3D Secure for more
        information on how this configuration interacts with Radar
        and our SCA Engine.

*oxxo* Hash

:   If this is a oxxo PaymentMethod, this sub-hash contains details
    about the OXXO payment method options.

    *expires\_after\_days* Integer

    :   The number of calendar days before an OXXO voucher expires.
        For example, if you create an OXXO voucher on Monday and you
        set expires\_after\_days to 2, the OXXO invoice will expire
        on Wednesday at 23:59 America/Mexico\_City time.

*p24* Hash

:   If this is a p24 PaymentMethod, this sub-hash contains details
    about the Przelewy24 payment method options.

    No property documented.

*sepa\_debit* Hash

:   If this is a sepa\_debit PaymentIntent, this sub-hash contains
    details about the SEPA Debit payment method options.

    *mandate\_options* Hash

    :   Additional fields for Mandate creation

        No property provided.

*sofort* Hash

:   If this is a sofort PaymentMethod, this sub-hash contains
    details about the SOFORT payment method options.

    *preferred\_language* String

    :   Language shown to the payer on redirect.

off_session String

: Set to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.

payment_method_types Array of strings

: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.

receipt_email String

: Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings.

setup_future_usage String

: Indicates that you intend to make future payments with this PaymentIntent’s payment method.

Providing this parameter will attach the payment method to the
PaymentIntent’s Customer, if present, after the PaymentIntent is
confirmed and any required actions from the user are complete. If no
Customer was provided, the payment method can still be attached to a
Customer after the transaction completes.

When processing card payments, Stripe also uses setup\_future\_usage
to dynamically optimize your payment flow and comply with regional
legislation and network rules, such as SCA.

If setup\_future\_usage is already set and you are performing a
request using a publishable key, you may only update the value from
on\_session to off\_session.

Possible enum values

*on\_session* String

:   Use on\_session if you intend to only reuse the payment method
    when your customer is present in your checkout flow.

*off\_session* String

:   Use off\_session if your customer may or may not be present in
    your checkout flow.

return_url String

: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with confirm=true.

shipping Hash

: Shipping information for this PaymentIntent.

*address* String required

:   Shipping address.

    *city* String

    :   City, district, suburb, town, or village.

    *country* String

    :   Two-letter country code (ISO 3166-1 alpha-2).

    *line1* String required

    :   Address line 1 (e.g., street, PO Box, or company name).

    *line2* String

    :   Address line 2 (e.g., apartment, suite, unit, or building).

    *postal\_code* String

    :   ZIP or postal code.

    *state* String

    :   State, county, province, or region.

*name* String required

:   Recipient name.

*carrier* String

:   The delivery service that shipped a physical product, such as
    Fedex, UPS, USPS, etc.

*phone* String

:   Recipient phone (including extension).

*tracking\_number* String

:   The tracking number for a physical product, obtained from the
    delivery service. If multiple tracking numbers were generated
    for this purchase, please separate them with commas.

statement_descriptor String

: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix Text

: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

transfer_data Hash

: The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents use case for connected accounts.

*amount* Integer

:   The amount that will be transferred automatically when a charge
    succeeds.

transfer_group String

: A string that identifies the resulting payment as part of a group. transfer_group may only be provided if it has not been set. See the PaymentIntents use case for connected accounts for details.

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_intents/create

PAYMENT LINK

You can create, items, line_items, list, retrieve or update payment link

create {#create-33}

    my $obj = $stripe->payment_links( create => {
        line_items => [,
            price    => "price_1Le1oa2eZvKYlo2CuD7mwpZu",
            quantity => "1",
        ], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Payment::Link{.perl-module} object or a hash reference, this will create a Stripe payment link and return an Net::API::Stripe::Payment::Link{.perl-module} object.

Possible parameters are:

after_completion

: Behavior after the purchase is complete.

allow_promotion_codes

: Enables user redeemable promotion codes.

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Can only be applied when there are no line items with recurring prices.

application_fee_percent

: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.

automatic_tax

: Configuration for automatic tax collection.

billing_address_collection

: Configuration for collecting the customer's billing address.

consent_collection

: Configure fields to gather active consent from customers.

currency

: Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module} and supported by each line item's price.

customer_creation

: Configures whether checkout sessions{.perl-module} created by this payment link create a Customer{.perl-module}.

line_items

: Required. The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata. Metadata associated with this Payment Link will automatically be copied to checkout sessions{.perl-module} created by this payment link.

on_behalf_of

: The account on behalf of which to charge.

payment_intent_data

: A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in payment mode.

payment_method_collection

: Specify whether Checkout should collect a payment method. When set to if_required, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount.

Can only be set in `subscription` mode.

If you\'d like information on how to collect a payment method
outside of Checkout, read the guide on [configuring subscriptions
with a free
trial](https://stripe.com/docs/payments/checkout/free-trials){.perl-module}.

payment_method_types

: The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your payment method settings{.perl-module} (20+ payment methods supported{.perl-module}).

phone_number_collection

: Controls phone number collection settings during checkout.

We recommend that you review your privacy policy and check with your
legal contacts.

shipping_address_collection

: Configuration for collecting the customer's shipping address.

shipping_options

: The shipping rate options to apply to checkout sessions{.perl-module} created by this payment link.

submit_type

: Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the url{.perl-module} property (example: donate.stripe.com).

subscription_data

: When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use subscription_data.

tax_id_collection

: Controls tax ID collection during checkout.

transfer_data

: The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_links/payment_links/create

line_items

    my $obj = $stripe->payment_links( line_items => $args ) || die( $stripe->error );

Provided with a payment link{.perl-module}, or a hash reference, this will issue a line_items api call.

A dictionary with a data property that contains an array of up to limit payment link line items, starting after Line Item starting_after. Each entry in the array is a separate Line Item object. If no more line items are available, the resulting array will be empty.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_links/line_items

list {#list-44}

    my $obj = $stripe->payment_links( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a payment link{.perl-module} object, this issue an api call to get the list of all payment link.

Possible parameters are:

active

: Only return payment links that are active or inactive (e.g., pass false to list all inactive payment links).

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_links/payment_links/list

retrieve {#retrieve-45}

    my $obj = $stripe->payment_links( retrieve => $args ) || die( $stripe->error );

Provided with a payment link{.perl-module} object or a hash reference, this will retrieve a Stripe payment link and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_links/payment_links/retrieve

update

    my $obj = $stripe->payment_links( update => {
        active => "0", } ) || die( $stripe->error );

Provided with a payment link{.perl-module} object or a hash reference, this will update a Stripe payment link and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the payment link's url is active. If false, customers visiting the URL will be shown a page saying that the link has been deactivated.

after_completion

: Behavior after the purchase is complete.

allow_promotion_codes

: Enables user redeemable promotion codes.

automatic_tax

: Configuration for automatic tax collection.

billing_address_collection

: Configuration for collecting the customer's billing address.

customer_creation

: Configures whether checkout sessions{.perl-module} created by this payment link create a Customer{.perl-module}.

line_items

: The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata. Metadata associated with this Payment Link will automatically be copied to checkout sessions{.perl-module} created by this payment link.

payment_method_collection

: Specify whether Checkout should collect a payment method. When set to if_required, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount.

Can only be set in `subscription` mode.

If you\'d like information on how to collect a payment method
outside of Checkout, read the guide on [configuring subscriptions
with a free
trial](https://stripe.com/docs/payments/checkout/free-trials){.perl-module}.

payment_method_types

: The list of payment method types that customers can use. Pass an empty string to enable automatic payment methods that use your payment method settings{.perl-module}.

shipping_address_collection

: Configuration for collecting the customer's shipping address.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_links/payment_links/update

PAYMENT METHOD

You can attach, create, detach, list, list_customer_payment_methods, retrieve, retrieve_customer_payment_method or update payment method

attach

    my $obj = $stripe->payment_methods( attach => {
        customer => "cus_AJ78ZaALpqgiuZ", } ) || die( $stripe->error );

Provided with a payment method{.perl-module}, or a hash reference, this will issue a attach api call.

Returns a PaymentMethod object.

Possible parameters are:

customer

: Required. The ID of the customer to which to attach the PaymentMethod.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/attach

create {#create-34}

    my $obj = $stripe->payment_methods( create => {
        card =>
        {
            cvc       => "314",
            exp_month => "9",
            exp_year  => "2023",
            number    => "4242424242424242",
        }
        type => "card", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Payment::Method{.perl-module} object or a hash reference, this will create a Stripe payment method and return an Net::API::Stripe::Payment::Method{.perl-module} object.

Possible parameters are:

acss_debit

: If this is an acss_debit PaymentMethod, this hash contains details about the ACSS Debit payment method.

affirm

: If this is an affirm PaymentMethod, this hash contains details about the Affirm payment method.

afterpay_clearpay

: If this is an AfterpayClearpay PaymentMethod, this hash contains details about the AfterpayClearpay payment method.

alipay

: If this is an Alipay PaymentMethod, this hash contains details about the Alipay payment method.

au_becs_debit

: If this is an au_becs_debit PaymentMethod, this hash contains details about the bank account.

bacs_debit

: If this is a bacs_debit PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.

bancontact

: If this is a bancontact PaymentMethod, this hash contains details about the Bancontact payment method.

billing_details

: Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.

blik

: If this is a blik PaymentMethod, this hash contains details about the BLIK payment method.

boleto

: If this is a boleto PaymentMethod, this hash contains details about the Boleto payment method.

card

: If this is a card PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format card: {token: "tok_visa"}. When providing a card number, you must meet the requirements for PCI compliance{.perl-module}. We strongly recommend using Stripe.js instead of interacting with this API directly.

customer_balance

: If this is a customer_balance PaymentMethod, this hash contains details about the CustomerBalance payment method.

eps

: If this is an eps PaymentMethod, this hash contains details about the EPS payment method.

fpx

: If this is an fpx PaymentMethod, this hash contains details about the FPX payment method.

giropay

: If this is a giropay PaymentMethod, this hash contains details about the Giropay payment method.

grabpay

: If this is a grabpay PaymentMethod, this hash contains details about the GrabPay payment method.

ideal

: If this is an ideal PaymentMethod, this hash contains details about the iDEAL payment method.

interac_present

: If this is an interac_present PaymentMethod, this hash contains details about the Interac Present payment method.

klarna

: If this is a klarna PaymentMethod, this hash contains details about the Klarna payment method.

konbini

: If this is a konbini PaymentMethod, this hash contains details about the Konbini payment method.

link

: If this is an Link PaymentMethod, this hash contains details about the Link payment method.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

oxxo

: If this is an oxxo PaymentMethod, this hash contains details about the OXXO payment method.

p24

: If this is a p24 PaymentMethod, this hash contains details about the P24 payment method.

paynow

: If this is a paynow PaymentMethod, this hash contains details about the PayNow payment method.

promptpay

: If this is a promptpay PaymentMethod, this hash contains details about the PromptPay payment method.

radar_options

: Options to configure Radar. See Radar Session{.perl-module} for more information.

sepa_debit

: If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA debit bank account.

sofort

: If this is a sofort PaymentMethod, this hash contains details about the SOFORT payment method.

type

: Required. The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. Required unless payment_method is specified (see the Cloning PaymentMethods{.perl-module} guide).

us_bank_account

: If this is an us_bank_account PaymentMethod, this hash contains details about the US bank account payment method.

wechat_pay

: If this is an wechat_pay PaymentMethod, this hash contains details about the wechat_pay payment method.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/create

detach

    my $obj = $stripe->payment_methods( detach => $args ) || die( $stripe->error );

Provided with a payment method{.perl-module}, or a hash reference, this will issue a detach api call.

Returns a PaymentMethod object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/detach

list {#list-45}

    my $obj = $stripe->payment_methods( list => {
        customer => "cus_AJ78ZaALpqgiuZ",
        type     => "card", } ) || die( $stripe->error );

Provided with a payment method{.perl-module} object, this issue an api call to get the list of all payment method.

Possible parameters are:

customer

: The ID of the customer whose PaymentMethods will be retrieved.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type

: Required. A required filter on the list, based on the object type field.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/list

list_customer_payment_methods

    my $obj = $stripe->payment_methods( list_customer_payment_methods => {
        type => "card", } ) || die( $stripe->error );

Provided with a payment method{.perl-module}, or a hash reference, this will issue a list_customer_payment_methods api call.

A dictionary with a data property that contains an array of up to limit PaymentMethods of type type, starting after PaymentMethods starting_after. Each entry in the array is a separate PaymentMethod object. If no more PaymentMethods are available, the resulting array will be empty. This request should never return an error.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type

: Required. A required filter on the list, based on the object type field.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/customer_list

retrieve {#retrieve-46}

    my $obj = $stripe->payment_methods( retrieve => $args ) || die( $stripe->error );

Provided with a payment method{.perl-module} object or a hash reference, this will retrieve a Stripe payment method and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/retrieve

retrieve_customer_payment_method

    my $obj = $stripe->payment_methods( retrieve_customer_payment_method => {
        type => "card", } ) || die( $stripe->error );

Provided with a payment method{.perl-module}, or a hash reference, this will issue a retrieve_customer_payment_method api call.

Returns a PaymentMethod object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/customer

update

    my $obj = $stripe->payment_methods( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a payment method{.perl-module} object or a hash reference, this will update a Stripe payment method and return its corresponding object{.perl-module}

Possible parameters are:

billing_details

: Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.

card

: If this is a card PaymentMethod, this hash contains the user's card details.

link

: If this is an Link PaymentMethod, this hash contains details about the Link payment method.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

us_bank_account

: If this is an us_bank_account PaymentMethod, this hash contains details about the US bank account payment method.

More information from Stripe api documentation at https://stripe.com/docs/api/payment_methods/update

PAYMENT METHODS

You can create, retrieve, update, list, attach, detach, payment methods.

attach

Provided with a Net::API::Stripe::Customer{.perl-module} or a Net::API::Stripe::Payment::Method{.perl-module} object or an hash reference and this will attach the Stripe payment method to the given customer and return its Net::API::Stripe::Payment::Method{.perl-module} object.

Possible parameters are:

id A Stripe payment method id

:

customer A Stripe customer id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_methods/attach

create {#create-35}

Provided with a Net::API::Stripe::Payment::Method{.perl-module} object or an hash reference and this will create a Stripe payment method and return its Net::API::Stripe::Payment::Method{.perl-module} object.

Possible parameters are:

type String. Any of card, fpx, ideal or sepa_debit

:

billing_details An hash reference with the following properties: address.city address.country address.line1 address.line2 address.postal_code address.state email name phone

:

metadata An arbitrary hash reference

:

card An hash reference with the following properties: exp_month exp_year number cvc

:

fpx An hash reference with the property bank

:

ideal An hash reference with the property bank

:

sepa_debit An hash reference with the property iban

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_methods/create

detach

Provided with a Net::API::Stripe::Customer{.perl-module} or a Net::API::Stripe::Payment::Method{.perl-module} object or an hash reference and this will dettach the Stripe payment method from the given customer and return its Net::API::Stripe::Payment::Method{.perl-module} object.

Possible parameters are:

id A Stripe payment method id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_methods/detach

list {#list-46}

Provided with an hash reference of parameters, and this will get a list of payment methods and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

customer A Stripe customer id

:

type String. One of card fpx ideal or sepa_debit

:

ending_before A Stripe payment method id

:

limit Integer

:

starting_after A Stripe payment method id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_methods/list

retrieve {#retrieve-47}

Provided with a Net::API::Stripe::Payment::Method{.perl-module} object or an hash reference and this will retrieve a Stripe payment method and return its Net::API::Stripe::Payment::Method{.perl-module} object.

Possible parameters are:

id A Stripe payment method id. This is required

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_methods/retrieve

update

Provided with a Net::API::Stripe::Payment::Method{.perl-module} object or an hash reference and this will update the Stripe payment method and return its Net::API::Stripe::Payment::Method{.perl-module} object.

Possible parameters are:

id A Stripe payment method id. This is required.

:

billing_details An hash reference with the following properties: address.city address.country address.line1 address.line2 address.postal_code address.state email name phone

:

metadata An arbitrary hash reference.

:

card An hash reference with the following properties: exp_month exp_year

:

sepa_debit An hash reference with the following property: iban

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/payment_methods/update

PAYOUT

You can cancel, create, list, retrieve, reverse or update payout

cancel

    my $obj = $stripe->payouts( cancel => $args ) || die( $stripe->error );

Provided with a payout{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the payout object if the cancellation succeeded. Returns an error if the payout has already been canceled or cannot be canceled.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/payouts/cancel

create {#create-36}

    my $obj = $stripe->payouts( create => {
        amount   => "1100",
        currency => "usd", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Payout{.perl-module} object or a hash reference, this will create a Stripe payout and return an Net::API::Stripe::Payout{.perl-module} object.

Possible parameters are:

amount

: Required. A positive integer in cents representing how much to payout.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

description

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

destination

: The ID of a bank account or a card to send the payout to. If no destination is supplied, the default external account for the specified currency will be used.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

method

: The method used to send this payout, which can be standard or instant. instant is only supported for payouts to debit cards. (See Instant payouts for marketplaces for more information.){.perl-module}

source_type

: The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the balances API. One of bank_account, card, or fpx.

statement_descriptor

: A string to be displayed on the recipient's bank or card statement. This may be at most 22 characters. Attempting to use a statement_descriptor longer than 22 characters will return an error. Note: Most banks will truncate this information and/or display it inconsistently. Some may not display it at all.

More information from Stripe api documentation at https://stripe.com/docs/api/payouts/create

list {#list-47}

    my $obj = $stripe->payouts( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a payout{.perl-module} object, this issue an api call to get the list of all payout.

Possible parameters are:

arrival_date

: A filter on the list based on the object arrival_date field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

destination

: The ID of an external account - only return payouts sent to this external account.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return payouts that have the given status: pending, paid, failed, or canceled.

More information from Stripe api documentation at https://stripe.com/docs/api/payouts/list

retrieve {#retrieve-48}

    my $obj = $stripe->payouts( retrieve => $args ) || die( $stripe->error );

Provided with a payout{.perl-module} object or a hash reference, this will retrieve a Stripe payout and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/payouts/retrieve

reverse

    my $obj = $stripe->payouts( reverse => $args ) || die( $stripe->error );

Provided with a payout{.perl-module}, or a hash reference, this will issue a reverse api call.

Returns the reversing payout object if the reversal was successful. Returns an error if the payout has already been reversed or cannot be reversed.

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/payouts/reverse

update

    my $obj = $stripe->payouts( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a payout{.perl-module} object or a hash reference, this will update a Stripe payout and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/payouts/update

PERSON

You can create, delete, list, retrieve or update person

create {#create-37}

    my $obj = $stripe->persons( create => {
        first_name => "Jane",
        last_name  => "Diaz", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::Person{.perl-module} object or a hash reference, this will create a Stripe person and return an Net::API::Stripe::Connect::Person{.perl-module} object.

Possible parameters are:

address

: The person's address.

address_kana

: The Kana variation of the person's address (Japan only).

address_kanji

: The Kanji variation of the person's address (Japan only).

dob

: The person's date of birth.

documents

: Documents that may be submitted to satisfy various informational requests.

email

: The person's email address.

first_name

: The person's first name.

first_name_kana

: The Kana variation of the person's first name (Japan only).

first_name_kanji

: The Kanji variation of the person's first name (Japan only).

full_name_aliases

: A list of alternate names or aliases that the person is known by.

gender

: The person's gender (International regulations require either "male" or "female").

id_number

: The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a PII token provided by Stripe.js{.perl-module}.

id_number_secondary

: The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a PII token provided by Stripe.js{.perl-module}.

last_name

: The person's last name.

last_name_kana

: The Kana variation of the person's last name (Japan only).

last_name_kanji

: The Kanji variation of the person's last name (Japan only).

maiden_name

: The person's maiden name.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nationality

: The country where the person is a national. Two-letter country code (ISO 3166-1 alpha-2){.perl-module}, or "XX" if unavailable.

person_token

: A person token{.perl-module}, used to securely provide details to the person.

phone

: The person's phone number.

political_exposure

: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.

registered_address

: The person's registered address.

relationship

: The relationship that this person has with the account's legal entity.

ssn_last_4

: The last four digits of the person's Social Security number (U.S. only).

verification

: The person's verification status.

More information from Stripe api documentation at https://stripe.com/docs/api/persons/create

delete

    my $obj = $stripe->persons( delete => $args ) || die( $stripe->error );

Provided with a person{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the person. It returns the person object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/persons/delete

list {#list-48}

    my $obj = $stripe->persons( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a person{.perl-module} object, this issue an api call to get the list of all person.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

relationship

: Filters on the list of people returned based on the person's relationship to the account's company.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/persons/list

retrieve {#retrieve-49}

    my $obj = $stripe->persons( retrieve => $args ) || die( $stripe->error );

Provided with a person{.perl-module} object or a hash reference, this will retrieve a Stripe person and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/persons/retrieve

update

    my $obj = $stripe->persons( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a person{.perl-module} object or a hash reference, this will update a Stripe person and return its corresponding object{.perl-module}

Possible parameters are:

address

: The person's address.

address_kana

: The Kana variation of the person's address (Japan only).

address_kanji

: The Kanji variation of the person's address (Japan only).

dob

: The person's date of birth.

documents

: Documents that may be submitted to satisfy various informational requests.

email

: The person's email address.

first_name

: The person's first name.

first_name_kana

: The Kana variation of the person's first name (Japan only).

first_name_kanji

: The Kanji variation of the person's first name (Japan only).

full_name_aliases

: A list of alternate names or aliases that the person is known by.

gender

: The person's gender (International regulations require either "male" or "female").

id_number

: The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a PII token provided by Stripe.js{.perl-module}.

id_number_secondary

: The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a PII token provided by Stripe.js{.perl-module}.

last_name

: The person's last name.

last_name_kana

: The Kana variation of the person's last name (Japan only).

last_name_kanji

: The Kanji variation of the person's last name (Japan only).

maiden_name

: The person's maiden name.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nationality

: The country where the person is a national. Two-letter country code (ISO 3166-1 alpha-2){.perl-module}, or "XX" if unavailable.

person_token

: A person token{.perl-module}, used to securely provide details to the person.

phone

: The person's phone number.

political_exposure

: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.

registered_address

: The person's registered address.

relationship

: The relationship that this person has with the account's legal entity.

ssn_last_4

: The last four digits of the person's Social Security number (U.S. only).

verification

: The person's verification status.

More information from Stripe api documentation at https://stripe.com/docs/api/persons/update

PLAN

You can create, delete, list, retrieve or update plan

create {#create-38}

    my $obj = $stripe->plans( create => {
        amount   => "1200",
        currency => "usd",
        interval => "month",
        product  => "prod_MMlLy1NOplKgdo", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Plan{.perl-module} object or a hash reference, this will create a Stripe plan and return an Net::API::Stripe::Billing::Plan{.perl-module} object.

Possible parameters are:

active

: Whether the plan is currently available for new subscriptions. Defaults to true.

aggregate_usage

: Specifies a usage aggregation strategy for plans of usage_type=metered. Allowed values are sum for summing up all usage during a period, last_during_period for using the last usage record reported within a period, last_ever for using the last usage record ever (across period bounds) or max which uses the usage record with the maximum reported usage during a period. Defaults to sum.

amount

: Required unless billing_scheme=tiered A positive integer in JPY (or 0 for a free plan) representing how much to charge on a recurring basis.

amount_decimal

: Same as amount, but accepts a decimal value with at most 12 decimal places. Only one of amount and amount_decimal can be set.

billing_scheme

: Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in amount) will be charged per unit in quantity (for plans with usage_type=licensed), or per unit of total usage (for plans with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

id

: An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes.

interval

: Required. Specifies billing frequency. Either day, week, month or year.

interval_count

: The number of intervals between subscription billings. For example, interval=month and interval_count=3 bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nickname

: A brief description of the plan, hidden from customers.

product

: Required. The product whose pricing the created plan will represent. This can either be the ID of an existing product, or a dictionary containing fields used to create a service product{.perl-module}.

tiers

: Required if billing_scheme=tiered Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

tiers_mode

: Required if billing_scheme=tiered Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price, in graduated tiering pricing can successively change as the quantity grows.

transform_usage

: Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with tiers.

trial_period_days

: Default number of trial days when subscribing a customer to this plan using trial_from_plan=true{.perl-module}.

usage_type

: Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

More information from Stripe api documentation at https://stripe.com/docs/api/plans/create

delete

    my $obj = $stripe->plans( delete => $args ) || die( $stripe->error );

Provided with a plan{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the plan. It returns the plan object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/plans/delete

list {#list-49}

    my $obj = $stripe->plans( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a plan{.perl-module} object, this issue an api call to get the list of all plan.

Possible parameters are:

active

: Only return plans that are active or inactive (e.g., pass false to list all inactive plans).

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

product

: Only return plans for the given product.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/plans/list

retrieve {#retrieve-50}

    my $obj = $stripe->plans( retrieve => $args ) || die( $stripe->error );

Provided with a plan{.perl-module} object or a hash reference, this will retrieve a Stripe plan and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/plans/retrieve

update

    my $obj = $stripe->plans( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a plan{.perl-module} object or a hash reference, this will update a Stripe plan and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the plan is currently available for new subscriptions.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nickname

: A brief description of the plan, hidden from customers.

product

: The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule.

trial_period_days

: Default number of trial days when subscribing a customer to this plan using trial_from_plan=true{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/plans/update

PLANS

You can create, retrieve, update, list, delete plans.

create {#create-39}

Provided with a Net::API::Stripe::Billing::Plan{.perl-module} object or an hash reference of parameters and this will create a Stripe plan and return its Net::API::Stripe::Billing::Plan{.perl-module} object.

Possible parameters are:

id A Stripe plan id (optional)

:

active Boolean

:

aggregate_usage String

:

amount Integer

:

amount_decimal Decimal

:

billing_scheme String. One of per_unit or tiered

:

currency A 3-letter ISO 4217 code such as jpy for Japanese Yen or eur for Euro

:

interval String. One of day, week, month or year

:

interval_count Integer

:

metadata An arbitrary hash reference

:

nickname String

:

product A Stripe product id

:

tiers An hash reference with the following properties: up_to flat_amount flat_amount_decimal unit_amount unit_amount_decimal

:

tiers_mode String. One of graduated or volume

:

transform_usage An hash reference with the following properties: divide_by round

:

trial_period_days Integer

:

usage_type String. One of metered|licensed

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/plans/create

delete

Provided with a Net::API::Stripe::Billing::Plan{.perl-module} object or an hash reference of parameters and this will remove a Stripe plan and return its Net::API::Stripe::Billing::Plan{.perl-module} object.

Possible parameters are:

id A Stripe plan id. This is required

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/plans/delete

list {#list-50}

Provided with an hash reference of parameters, this will get the list of Stripe plans and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

created Date or unix timestamp

:

email String. E-mail address

:

ending_before A Stripe credit note id

:

limit Integer

:

product A Stripe product id

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/plans/list

retrieve {#retrieve-51}

Provided with a Net::API::Stripe::Billing::Plan{.perl-module} object or an hash reference of parameters and this will retrieve a Stripe plan and return its Net::API::Stripe::Billing::Plan{.perl-module} object.

Possible parameters are:

id A Stripe plan id

:

For more information, see Stripe documentation here: hhttps://stripe.com/docs/api/plans/retrieve{.perl-module}

update

Provided with a Net::API::Stripe::Billing::Plan{.perl-module} object or an hash reference of parameters and this will update a Stripe plan and return its Net::API::Stripe::Billing::Plan{.perl-module} object.

Possible parameters are:

id A Stripe plan id (optional)

:

active Boolean

:

metadata An arbitrary hash reference

:

nickname String

:

product A Stripe product id

:

trial_period_days Integer

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/plans/update

PRICE

You can create, list, retrieve, search or update price

create {#create-40}

    my $obj = $stripe->prices( create => {
        currency    => "usd",
        product     => "prod_MMlLy1NOplKgdo",
        recurring   =>
        {
            interval => "month",
        }
        unit_amount => "1200", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Price{.perl-module} object or a hash reference, this will create a Stripe price and return an Net::API::Stripe::Price{.perl-module} object.

Possible parameters are:

active

: Whether the price can be used for new purchases. Defaults to true.

billing_scheme

: Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity (for prices with usage_type=licensed), or per unit of total usage (for prices with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

currency_options

: Prices defined in each available currency option. Each key must be a three-letter ISO currency code{.perl-module} and a supported currency{.perl-module}. For example, to define your price in eur, pass the fields below in the eur key of currency_options.

custom_unit_amount

: Required unless unit_amount is provided When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

lookup_key

: A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nickname

: A brief description of the price, hidden from customers.

product

: required unless product_data is provided The ID of the product that this price will belong to.

product_data

: required unless product is provided These fields can be used to create a new product that this price will belong to.

recurring

: The recurring components of a price such as interval and usage_type.

tax_behavior

: Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

tiers

: Required if billing_scheme=tiered Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

tiers_mode

: Required if billing_scheme=tiered Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price, in graduated tiering pricing can successively change as the quantity grows.

transfer_lookup_key

: If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.

transform_quantity

: Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with tiers.

unit_amount

: Required conditionally A positive integer in JPY (or 0 for a free price) representing how much to charge. One of unit_amount or custom_unit_amount is required, unless billing_scheme=tiered.

unit_amount_decimal

: Same as unit_amount, but accepts a decimal value in JPY with at most 12 decimal places. Only one of unit_amount and unit_amount_decimal can be set.

More information from Stripe api documentation at https://stripe.com/docs/api/prices/create

list {#list-51}

    my $obj = $stripe->prices( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a price{.perl-module} object, this issue an api call to get the list of all price.

Possible parameters are:

active

: Only return prices that are active or inactive (e.g., pass false to list all inactive prices).

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

currency

: Only return prices for the given currency.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

lookup_keys

: Only return the price with these lookup_keys, if any exist.

product

: Only return prices for the given product.

recurring

: Only return prices with these recurring fields.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type

: Only return prices of type recurring or one_time.

More information from Stripe api documentation at https://stripe.com/docs/api/prices/list

retrieve {#retrieve-52}

    my $obj = $stripe->prices( retrieve => $args ) || die( $stripe->error );

Provided with a price{.perl-module} object or a hash reference, this will retrieve a Stripe price and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/prices/retrieve

search

    my $obj = $stripe->prices( search => {
        query => "active:'true' AND metadata['order_id']:'6735'", } ) || die( $stripe->error );

Provided with a price{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit prices. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for prices{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/prices/search

update

    my $obj = $stripe->prices( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a price{.perl-module} object or a hash reference, this will update a Stripe price and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the price can be used for new purchases. Defaults to true.

currency_options

: Prices defined in each available currency option. Each key must be a three-letter ISO currency code{.perl-module} and a supported currency{.perl-module}. For example, to define your price in eur, pass the fields below in the eur key of currency_options.

lookup_key

: A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nickname

: A brief description of the price, hidden from customers.

tax_behavior

: Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

transfer_lookup_key

: If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.

More information from Stripe api documentation at https://stripe.com/docs/api/prices/update

PRICES

You can create, retrieve, update, list products

create {#create-41}

Provided with a Net::API::Stripe::Price{.perl-module} object or an hash reference of parameters and this will create a Stripe product and return its Net::API::Stripe::Price{.perl-module} object

Possible parameters are:

active boolean

: Whether the price is currently active. Defaults to true.

billing_scheme string

:

currency String

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

lookup_key string

:

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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nickname String

: A brief description of the price, hidden from customers.

product_data

: A hash or Net::API::Stripe::Product{.perl-module}

unit_amount A number

: A positive integer in JPY (or 0 for a free price) representing how much to charge.

This is required only if *billing-scheme* is set to `perl-unit`

recurring

: The recurring components of a price such as interval and usage_type.

Possible properties are :

*interval* string

:   

*aggregate\_usage* string

:   

*interval\_count* number

:   

*trial\_period\_days* number

:   

*usage\_type* string

:   

tiers hash

: See Net::API::Stripe::Price{.perl-module} for details

tiers_mode string

:

transfer_lookup_key string

:

transform_quantity number

:

unit_amount_decimal number

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/prices/create#create_price

list {#list-52}

Provided with an hash reference of parameters, this will retrieve a list of Stripe prices and return a Net::API::Stripe::List{.perl-module} object

Possible parameters are:

active Boolean

:

created Date or unix timestamp

:

currency String

:

ending_before A Stripe credit note id

:

limit Integer

:

lookup_key String

:

product Net::API::String::Product{.perl-module} id or object

:

recurring Hash with inerval and usage_type properties

:

starting_after A Stripe credit note id

:

type String. One of recurring or one_time

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/prices/list

retrieve {#retrieve-53}

Provided with a Net::API::Stripe::Price{.perl-module} object or an hash reference of parameters and this will retrieve a Stripe price and return its Net::API::Stripe::Price{.perl-module} object

Possible parameters are:

id A Stripe price id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/prices/retrieve#retrieve_price

update

Provided with a Net::API::Stripe::Price{.perl-module} object or an hash reference of parameters and this will update a Stripe price and return its updated Net::API::Stripe::Price{.perl-module} object

As per the Stripe documentation, "After prices are created, you can only update their metadata, nickname, and active fields." (see Products and Prices{.perl-module})

Possible parameters are:

id A Stripe price id

:

active boolean

: Whether the price is currently active. Defaults to true.

lookup_key string

:

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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

nickname String

: A brief description of the price, hidden from customers.

recurring

: The recurring components of a price such as interval and usage_type.

Possible properties are :

*interval* string

:   

*aggregate\_usage* string

:   

*interval\_count* number

:   

*trial\_period\_days* number

:   

*usage\_type* string

:   

transfer_lookup_key string

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/prices/update

PRODUCT

You can create, delete, list, retrieve, search or update product

create {#create-42}

    my $obj = $stripe->products( create => {
        name => "Gold Special", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Product{.perl-module} object or a hash reference, this will create a Stripe product and return an Net::API::Stripe::Product{.perl-module} object.

Possible parameters are:

active

: Whether the product is currently available for purchase. Defaults to true.

default_price_data

: Data used to generate a new Price{.perl-module} object. This Price will be set as the default price for this product.

description

: The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.

id

: An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.

images

: A list of up to 8 URLs of images for this product, meant to be displayable to the customer.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: Required. The product's name, meant to be displayable to the customer.

package_dimensions

: The dimensions of this product for shipping purposes.

shippable

: Whether this product is shipped (i.e., physical goods).

statement_descriptor

: An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.

This may be up to 22 characters. The statement description may not
include `&lt;`, `&gt;`, `\`, `"`, `'` characters, and will appear on
your customer\'s statement in capital letters. Non-ASCII characters
are automatically stripped. It must contain at least one letter.

tax_code

: A tax code{.perl-module} ID.

unit_label

: A label that represents units of this product in Stripe and on customers' receipts and invoices. When set, this will be included in associated invoice line item descriptions.

url

: A URL of a publicly-accessible webpage for this product.

More information from Stripe api documentation at https://stripe.com/docs/api/products/create

delete

    my $obj = $stripe->products( delete => $args ) || die( $stripe->error );

Provided with a product{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the product. It returns the product object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/products/delete

list {#list-53}

    my $obj = $stripe->products( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a product{.perl-module} object, this issue an api call to get the list of all product.

Possible parameters are:

active

: Only return products that are active or inactive (e.g., pass false to list all inactive products).

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

ids

: Only return products with the given IDs. Cannot be used with starting_after{.perl-module} or ending_before{.perl-module}.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

shippable

: Only return products that can be shipped (i.e., physical, not digital products).

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

url

: Only return products with the given url.

More information from Stripe api documentation at https://stripe.com/docs/api/products/list

retrieve {#retrieve-54}

    my $obj = $stripe->products( retrieve => $args ) || die( $stripe->error );

Provided with a product{.perl-module} object or a hash reference, this will retrieve a Stripe product and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/products/retrieve

search

    my $obj = $stripe->products( search => {
        query => "active:'true' AND metadata['order_id']:'6735'", } ) || die( $stripe->error );

Provided with a product{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit products. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for products{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/products/search

update

    my $obj = $stripe->products( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a product{.perl-module} object or a hash reference, this will update a Stripe product and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the product is available for purchase.

default_price

: The ID of the Price{.perl-module} object that is the default price for this product.

description

: The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.

images

: A list of up to 8 URLs of images for this product, meant to be displayable to the customer.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: The product's name, meant to be displayable to the customer.

package_dimensions

: The dimensions of this product for shipping purposes.

shippable

: Whether this product is shipped (i.e., physical goods).

statement_descriptor

: An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.

This may be up to 22 characters. The statement description may not
include `&lt;`, `&gt;`, `\`, `"`, `'` characters, and will appear on
your customer\'s statement in capital letters. Non-ASCII characters
are automatically stripped. It must contain at least one letter. May
only be set if `type=service`.

tax_code

: A tax code{.perl-module} ID.

unit_label

: A label that represents units of this product in Stripe and on customers' receipts and invoices. When set, this will be included in associated invoice line item descriptions. May only be set if type=service.

url

: A URL of a publicly-accessible webpage for this product.

More information from Stripe api documentation at https://stripe.com/docs/api/products/update

PRODUCTS

You can create, retrieve, update, list, delete products

create {#create-43}

Provided with a Net::API::Stripe::Product{.perl-module} object or an hash reference of parameters and this will create a Stripe product and return its Net::API::Stripe::Product{.perl-module} object

Possible parameters are:

id An id to be used as a Stripe product id

:

active Boolean

:

attributes An array of up to 5 elements

:

caption String

:

deactivate_on Date or timestamp

:

description Text

:

images An array of up to 8 images

:

metadata An arbitrary of hash reference

:

name Stripe. Max length of 250 characters

:

package_dimensions An hash reference with the following properties: height, length, weight and width

:

shippable Boolean

:

statement_descriptor Text

:

type String. One of good or service

:

unit_label String

:

url An url. For goods

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/service_products/create

delete

Provided with a Net::API::Stripe::Product{.perl-module} object or an hash reference of parameters and this will remove a Stripe product and return its Net::API::Stripe::Product{.perl-module} object with its property deleted set to true.

Possible parameters are:

id A Stripe product id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/service_products/delete

list {#list-54}

Provided with an hash reference of parameters, this will retrieve a list of Stripe products and return a Net::API::Stripe::List{.perl-module} object

Possible parameters are:

active Boolean

:

created Date or unix timestamp

:

email String. E-mail address

:

ending_before A Stripe credit note id

:

ids An array

:

limit Integer

:

shippable Boolean

:

starting_after A Stripe credit note id

:

type String. One of service or good

:

url The product url

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/service_products/list

retrieve {#retrieve-55}

Provided with a Net::API::Stripe::Product{.perl-module} object or an hash reference of parameters and this will retrieve a Stripe product and return its Net::API::Stripe::Product{.perl-module} object

Possible parameters are:

id A Stripe product id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/service_products/retrieve

update

Possible parameters are:

id A Stripe product id

:

active Boolean

:

attributes An array of up to 5 elements

:

caption String

:

deactivate_on Date or timestamp

:

description Text

:

images An array of up to 8 images

:

metadata An arbitrary of hash reference

:

name Stripe. Max length of 250 characters

:

package_dimensions An hash reference with the following properties: height, length, weight and width

:

shippable Boolean

:

statement_descriptor Text

:

type String. One of good or service

:

unit_label String

:

url An url. For goods

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/service_products/update

PROMOTION CODE

You can create, list, retrieve or update promotion code

create {#create-44}

    my $obj = $stripe->promotion_codes( create => {
        coupon => "Z4OV52SU", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::PromotionCode{.perl-module} object or a hash reference, this will create a Stripe promotion code and return an Net::API::Stripe::Billing::PromotionCode{.perl-module} object.

Possible parameters are:

active

: Whether the promotion code is currently active.

code

: The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. If left blank, we will generate one automatically.

coupon

: Required. The coupon for this promotion code.

customer

: The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers.

expires_at

: The timestamp at which this promotion code will expire. If the coupon has specified a redeems_by, then this value cannot be after the coupon's redeems_by.

max_redemptions

: A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a max_redemptions, then this value cannot be greater than the coupon's max_redemptions.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

restrictions

: Settings that restrict the redemption of the promotion code.

More information from Stripe api documentation at https://stripe.com/docs/api/promotion_codes/create

list {#list-55}

    my $obj = $stripe->promotion_codes( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a promotion code{.perl-module} object, this issue an api call to get the list of all promotion code.

Possible parameters are:

active

: Filter promotion codes by whether they are active.

code

: Only return promotion codes that have this case-insensitive code.

coupon

: Only return promotion codes for this coupon.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: Only return promotion codes that are restricted to this customer.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/promotion_codes/list

retrieve {#retrieve-56}

    my $obj = $stripe->promotion_codes( retrieve => $args ) || die( $stripe->error );

Provided with a promotion code{.perl-module} object or a hash reference, this will retrieve a Stripe promotion code and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/promotion_codes/retrieve

update

    my $obj = $stripe->promotion_codes( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a promotion code{.perl-module} object or a hash reference, this will update a Stripe promotion code and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

restrictions

: Settings that restrict the redemption of the promotion code.

More information from Stripe api documentation at https://stripe.com/docs/api/promotion_codes/update

QUOTE

You can accept, cancel, create, download, finalize, line_items, lines, list, retrieve, update, upfront_line_items or upfront_lines quote

accept

    my $obj = $stripe->quotes( accept => $args ) || die( $stripe->error );

Provided with a quote{.perl-module}, or a hash reference, this will issue a accept api call.

Returns an accepted quote and creates an invoice, subscription or subscription schedule. Returns an error{.perl-module} otherwise.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/accept

cancel

    my $obj = $stripe->quotes( cancel => $args ) || die( $stripe->error );

Provided with a quote{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns a canceled quote. Returns an error{.perl-module} otherwise.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/cancel

create {#create-45}

    my $obj = $stripe->quotes( create => {
        customer   => "cus_AJ78ZaALpqgiuZ",
        line_items => [,
            price    => "price_1Le1oa2eZvKYlo2CuD7mwpZu",
            quantity => "2",
        ], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Quote{.perl-module} object or a hash reference, this will create a Stripe quote and return an Net::API::Stripe::Billing::Quote{.perl-module} object.

Possible parameters are:

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.

application_fee_percent

: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.

automatic_tax

: Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.

collection_method

: Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to charge_automatically.

customer

: The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.

default_tax_rates

: The tax rates that will apply to any line item that does not have tax_rates set.

description

: A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your quote template settings{.perl-module} will be used.

discounts

: The discounts applied to the quote. You can only set up to one discount.

expires_at

: A future timestamp on which the quote will be canceled if in open or draft status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your quote template settings{.perl-module} will be used.

footer

: A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your quote template settings{.perl-module} will be used.

from_quote

: Clone an existing quote. The new quote will be created in status=draft. When using this parameter, you cannot specify any other parameters except for expires_at.

header

: A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your quote template settings{.perl-module} will be used.

invoice_settings

: All invoices will be billed using the specified settings.

line_items

: A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of

: The account on behalf of which to charge.

subscription_data

: When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if subscription_data[effective_date] is present and in the future, otherwise a subscription is created.

test_clock

: ID of the test clock to attach to the quote.

transfer_data

: The data with which to automatically create a Transfer for each of the invoices.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/create

download

    my $obj = $stripe->quotes( download => $args ) || die( $stripe->error );

Provided with a quote{.perl-module}, or a hash reference, this will issue a download api call.

The PDF file for the quote.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/pdf

finalize

    my $obj = $stripe->quotes( finalize => $args ) || die( $stripe->error );

Provided with a quote{.perl-module}, or a hash reference, this will issue a finalize api call.

Returns an open quote. Returns an error{.perl-module} otherwise.

Possible parameters are:

expires_at

: A future timestamp on which the quote will be canceled if in open or draft status. Measured in seconds since the Unix epoch.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/finalize

line_items

    my $obj = $stripe->quotes( line_items => $args ) || die( $stripe->error );

Provided with a quote{.perl-module}, or a hash reference, this will issue a line_items api call.

A dictionary with a data property that contains an array of up to limit quote line items, starting after Line Item starting_after. Each entry in the array is a separate Line Item object. If no more line items are available, the resulting array will be empty.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/line_items/list

list {#list-56}

    my $obj = $stripe->quotes( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a quote{.perl-module} object, this issue an api call to get the list of all quote.

Possible parameters are:

customer

: The ID of the customer whose quotes will be retrieved.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: The status of the quote.

test_clock

: Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/list

retrieve {#retrieve-57}

    my $obj = $stripe->quotes( retrieve => $args ) || die( $stripe->error );

Provided with a quote{.perl-module} object or a hash reference, this will retrieve a Stripe quote and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/retrieve

update

    my $obj = $stripe->quotes( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a quote{.perl-module} object or a hash reference, this will update a Stripe quote and return its corresponding object{.perl-module}

Possible parameters are:

application_fee_amount

: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field.

application_fee_percent

: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field.

automatic_tax

: Settings for automatic tax lookup for this quote and resulting invoices and subscriptions.

collection_method

: Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to charge_automatically.

customer

: The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.

default_tax_rates

: The tax rates that will apply to any line item that does not have tax_rates set.

description

: A description that will be displayed on the quote PDF.

discounts

: The discounts applied to the quote. You can only set up to one discount.

expires_at

: A future timestamp on which the quote will be canceled if in open or draft status. Measured in seconds since the Unix epoch.

footer

: A footer that will be displayed on the quote PDF.

header

: A header that will be displayed on the quote PDF.

invoice_settings

: All invoices will be billed using the specified settings.

line_items

: A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of

: The account on behalf of which to charge.

subscription_data

: When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if subscription_data[effective_date] is present and in the future, otherwise a subscription is created.

transfer_data

: The data with which to automatically create a Transfer for each of the invoices.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/update

upfront_line_items

    my $obj = $stripe->quotes( upfront_line_items => $args ) || die( $stripe->error );

Provided with a quote{.perl-module}, or a hash reference, this will issue a upfront_line_items api call.

A dictionary with a data property that contains an array of up to limit upfront line items, starting after Line Item starting_after. Each entry in the array is a separate Line Item object. If no more upfront line items are available, the resulting array will be empty.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/quotes/line_items/upfront/list

RADAR EARLY FRAUD WARNING

You can list or retrieve radar early fraud warning

list {#list-57}

    my $obj = $stripe->radar_early_fraud_warnings( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a radar early fraud warning{.perl-module} object, this issue an api call to get the list of all radar early fraud warning.

Possible parameters are:

charge

: Only return early fraud warnings for the charge specified by this charge ID.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

payment_intent

: Only return early fraud warnings for charges that were created by the PaymentIntent specified by this PaymentIntent ID.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/early_fraud_warnings/list

retrieve {#retrieve-58}

    my $obj = $stripe->radar_early_fraud_warnings( retrieve => $args ) || die( $stripe->error );

Provided with a radar early fraud warning{.perl-module} object or a hash reference, this will retrieve a Stripe radar early fraud warning and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/early_fraud_warnings/retrieve

RADAR VALUE LIST

You can create, delete, list, retrieve or update radar value list

create {#create-46}

    my $obj = $stripe->radar_value_lists( create => {
        alias     => "custom_ip_blocklist",
        item_type => "ip_address",
        name      => "Custom IP Blocklist", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Fraud::ValueList{.perl-module} object or a hash reference, this will create a Stripe radar value list and return an Net::API::Stripe::Fraud::ValueList{.perl-module} object.

Possible parameters are:

alias

: Required. The name of the value list for use in rules.

item_type

: Type of the items in the value list. One of card_fingerprint, card_bin, email, ip_address, country, string, case_sensitive_string, or customer_id. Use string if the item type is unknown or mixed.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: Required. The human-readable name of the value list.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_lists/create

delete

    my $obj = $stripe->radar_value_lists( delete => $args ) || die( $stripe->error );

Provided with a radar value list{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the radar value list. It returns the radar value list object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_lists/delete

list {#list-58}

    my $obj = $stripe->radar_value_lists( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a radar value list{.perl-module} object, this issue an api call to get the list of all radar value list.

Possible parameters are:

alias

: The alias used to reference the value list when writing rules.

contains

: A value contained within a value list - returns all value lists containing this value.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_lists/list

retrieve {#retrieve-59}

    my $obj = $stripe->radar_value_lists( retrieve => $args ) || die( $stripe->error );

Provided with a radar value list{.perl-module} object or a hash reference, this will retrieve a Stripe radar value list and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_lists/retrieve

update

    my $obj = $stripe->radar_value_lists( update => {
        name => "Updated IP Block List", } ) || die( $stripe->error );

Provided with a radar value list{.perl-module} object or a hash reference, this will update a Stripe radar value list and return its corresponding object{.perl-module}

Possible parameters are:

alias

: The name of the value list for use in rules.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

name

: The human-readable name of the value list.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_lists/update

RADAR VALUE LIST ITEM

You can create, delete, list or retrieve radar value list item

create {#create-47}

    my $obj = $stripe->radar_value_list_items( create => {
        value      => "1.2.3.4",
        value_list => "rsl_1Le9F32eZvKYlo2CWsVfMmYL", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Fraud::ValueList::Item{.perl-module} object or a hash reference, this will create a Stripe radar value list item and return an Net::API::Stripe::Fraud::ValueList::Item{.perl-module} object.

Possible parameters are:

value

: Required. The value of the item (whose type must match the type of the parent value list).

value_list

: Required. The identifier of the value list which the created item will be added to.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_list_items/create

delete

    my $obj = $stripe->radar_value_list_items( delete => $args ) || die( $stripe->error );

Provided with a radar value list item{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the radar value list item. It returns the radar value list item object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_list_items/delete

list {#list-59}

    my $obj = $stripe->radar_value_list_items( list => {
        limit      => "3",
        value_list => "rsl_1Le9F32eZvKYlo2CWsVfMmYL", } ) || die( $stripe->error );

Provided with a radar value list item{.perl-module} object, this issue an api call to get the list of all radar value list item.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

value

: Return items belonging to the parent list whose value matches the specified value (using an "is like" match).

value_list

: Required. Identifier for the parent value list this item belongs to.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_list_items/list

retrieve {#retrieve-60}

    my $obj = $stripe->radar_value_list_items( retrieve => $args ) || die( $stripe->error );

Provided with a radar value list item{.perl-module} object or a hash reference, this will retrieve a Stripe radar value list item and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/value_list_items/retrieve

REFUND

You can cancel, create, list, retrieve or update refund

cancel

    my $obj = $stripe->refunds( cancel => $args ) || die( $stripe->error );

Provided with a refund{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the refund object if the cancelation succeeded. This call will return an error{.perl-module} if the refund is unable to be canceled.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/refunds/cancel

create {#create-48}

    my $obj = $stripe->refunds( create => {
        charge => "ch_3Le9Ez2eZvKYlo2C1rWzICyb", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Refund{.perl-module} object or a hash reference, this will create a Stripe refund and return an Net::API::Stripe::Refund{.perl-module} object.

Possible parameters are:

amount

: A positive integer in JPY representing how much of this charge to refund. Can refund only up to the remaining, unrefunded amount of the charge.

charge

: The identifier of the charge to refund.

metadata

: A set of key-value pairs that you can attach to a Refund object. This can be useful for storing additional information about the refund in a structured format. You can unset individual keys if you POST an empty value for that key. You can clear all keys if you POST an empty value for metadata

payment_intent

: ID of the PaymentIntent to refund.

reason

: String indicating the reason for the refund. If set, possible values are duplicate, fraudulent, and requested_by_customer. If you believe the charge to be fraudulent, specifying fraudulent as the reason will add the associated card and email to your block lists{.perl-module}, and will also help us improve our fraud detection algorithms.

refund_application_fee

: Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded.

An application fee can be refunded only by the application that
created the charge.

reverse_transfer

: Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the
charge.

More information from Stripe api documentation at https://stripe.com/docs/api/refunds/create

list {#list-60}

    my $obj = $stripe->refunds( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a refund{.perl-module} object, this issue an api call to get the list of all refund.

Possible parameters are:

charge

: Only return refunds for the charge specified by this charge ID.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

payment_intent

: Only return refunds for the PaymentIntent specified by this ID.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/refunds/list

retrieve {#retrieve-61}

    my $obj = $stripe->refunds( retrieve => $args ) || die( $stripe->error );

Provided with a refund{.perl-module} object or a hash reference, this will retrieve a Stripe refund and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/refunds/retrieve

update

    my $obj = $stripe->refunds( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a refund{.perl-module} object or a hash reference, this will update a Stripe refund and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/refunds/update

REPORTING REPORT RUN

You can create, list or retrieve reporting report run

create {#create-49}

    my $obj = $stripe->reporting_report_runs( create => {
        parameters  =>
        {
            interval_end   => "1525132800",
            interval_start => "1522540800",
        }
        report_type => "balance.summary.1", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Reporting::ReportRun{.perl-module} object or a hash reference, this will create a Stripe reporting report run and return an Net::API::Stripe::Reporting::ReportRun{.perl-module} object.

Possible parameters are:

parameters

: Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the API Access to Reports{.perl-module} documentation.

report_type

: Required. The ID of the report type{.perl-module} to run, such as "balance.summary.1".

More information from Stripe api documentation at https://stripe.com/docs/api/reporting/report_run/create

list {#list-61}

    my $obj = $stripe->reporting_report_runs( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a reporting report run{.perl-module} object, this issue an api call to get the list of all reporting report run.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/reporting/report_run/list

retrieve {#retrieve-62}

    my $obj = $stripe->reporting_report_runs( retrieve => $args ) || die( $stripe->error );

Provided with a reporting report run{.perl-module} object or a hash reference, this will retrieve a Stripe reporting report run and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/reporting/report_run/retrieve

REPORTING REPORT TYPE

You can list or retrieve reporting report type

list {#list-62}

    my $obj = $stripe->reporting_report_types( list => $args ) || die( $stripe->error );

Provided with a reporting report type{.perl-module} object, this issue an api call to get the list of all reporting report type.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/reporting/report_type/list

retrieve {#retrieve-63}

    my $obj = $stripe->reporting_report_types( retrieve => $args ) || die( $stripe->error );

Provided with a reporting report type{.perl-module} object or a hash reference, this will retrieve a Stripe reporting report type and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/reporting/report_type/retrieve

REVIEW

You can approve, list or retrieve review

approve

    my $obj = $stripe->reviews( approve => $args ) || die( $stripe->error );

Provided with a review{.perl-module}, or a hash reference, this will issue a approve api call.

Returns the approved Review object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/reviews/approve

list {#list-63}

    my $obj = $stripe->reviews( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a review{.perl-module} object, this issue an api call to get the list of all review.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/reviews/list

retrieve {#retrieve-64}

    my $obj = $stripe->reviews( retrieve => $args ) || die( $stripe->error );

Provided with a review{.perl-module} object or a hash reference, this will retrieve a Stripe review and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/radar/reviews/retrieve

SCHEDULED QUERY RUN

You can list or retrieve scheduled query run

list {#list-64}

    my $obj = $stripe->scheduled_query_runs( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a scheduled query run{.perl-module} object, this issue an api call to get the list of all scheduled query run.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/sigma/scheduled_queries/list

retrieve {#retrieve-65}

    my $obj = $stripe->scheduled_query_runs( retrieve => $args ) || die( $stripe->error );

Provided with a scheduled query run{.perl-module} object or a hash reference, this will retrieve a Stripe scheduled query run and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/sigma/scheduled_queries/retrieve

SETUP ATTEMPT

You can list setup attempt

list {#list-65}

    my $obj = $stripe->setup_attempts( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a setup attempt{.perl-module} object, this issue an api call to get the list of all setup attempt.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

setup_intent

: Required. Only return SetupAttempts created by the SetupIntent specified by this ID.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/setup_attempts/list

SETUP INTENT

You can cancel, confirm, create, list, retrieve, update, verify or verify_microdeposits setup intent

cancel

    my $obj = $stripe->setup_intents( cancel => $args ) || die( $stripe->error );

Provided with a setup intent{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns a SetupIntent object if the cancellation succeeded. Returns an error if the SetupIntent has already been canceled or is not in a cancelable state.

Possible parameters are:

cancellation_reason

: Reason for canceling this SetupIntent. Possible values are abandoned, requested_by_customer, or duplicate

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/cancel

confirm

    my $obj = $stripe->setup_intents( confirm => {
        payment_method => "pm_card_visa", } ) || die( $stripe->error );

Provided with a setup intent{.perl-module}, or a hash reference, this will issue a confirm api call.

Returns the resulting SetupIntent after all possible transitions are applied.

Possible parameters are:

mandate_data

: This hash contains details about the Mandate to create

payment_method

: ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.

payment_method_data

: When included, this hash creates a PaymentMethod that is set as the payment_method{.perl-module} value in the SetupIntent.

payment_method_options

: Payment-method-specific configuration for this SetupIntent.

return_url

: The URL to redirect your customer back to after they authenticate on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods.

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/confirm

create {#create-50}

    my $obj = $stripe->setup_intents( create => {
        payment_method_types => [qw( card )], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Payment::Intent::Setup{.perl-module} object or a hash reference, this will create a Stripe setup intent and return an Net::API::Stripe::Payment::Intent::Setup{.perl-module} object.

Possible parameters are:

attach_to_self

: If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.

It can only be used for this Stripe Account's own money movement
flows like InboundTransfer and OutboundTransfers. It cannot be set
to true when setting up a PaymentMethod for a Customer, and defaults
to false when attaching a PaymentMethod to a Customer.

confirm

: Set to true to attempt to confirm this SetupIntent immediately. This parameter defaults to false. If the payment method attached is a card, a return_url may be provided in case additional authentication is required.

customer

: ID of the Customer this SetupIntent belongs to, if one exists.

If present, the SetupIntent\'s payment method will be attached to
the Customer on successful setup. Payment methods attached to other
Customers cannot be used with this SetupIntent.

description

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

flow_directions

: Indicates the directions of money movement for which this payment method is intended to be used.

Include `inbound` if you intend to use the payment method as the
origin to pull funds from. Include `outbound` if you intend to use
the payment method as the destination to send funds to. You can
include both if you intend to use the payment method for both
purposes.

mandate_data

: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true{.perl-module}.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

on_behalf_of

: The Stripe account ID for which this SetupIntent is created.

payment_method

: ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.

payment_method_data

: When included, this hash creates a PaymentMethod that is set as the payment_method{.perl-module} value in the SetupIntent.

payment_method_options

: Payment-method-specific configuration for this SetupIntent.

payment_method_types

: The list of payment method types{.perl-module} that this SetupIntent is allowed to set up. If this is not provided, defaults to [“card”]. Valid payment method types include: acss_debit, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, card_present, ideal, link, sepa_debit, sofort, and us_bank_account.

return_url

: The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with confirm=true{.perl-module}.

single_use

: If this hash is populated, this SetupIntent will generate a single_use Mandate on success.

usage

: Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to off_session.

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/create

list {#list-66}

    my $obj = $stripe->setup_intents( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a setup intent{.perl-module} object, this issue an api call to get the list of all setup intent.

Possible parameters are:

attach_to_self

: If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.

It can only be used for this Stripe Account's own money movement
flows like InboundTransfer and OutboundTransfers. It cannot be set
to true when setting up a PaymentMethod for a Customer, and defaults
to false when attaching a PaymentMethod to a Customer.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: Only return SetupIntents for the customer specified by this customer ID.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

payment_method

: Only return SetupIntents associated with the specified payment method.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/list

retrieve {#retrieve-66}

    my $obj = $stripe->setup_intents( retrieve => $args ) || die( $stripe->error );

Provided with a setup intent{.perl-module} object or a hash reference, this will retrieve a Stripe setup intent and return its corresponding object{.perl-module}

Possible parameters are:

client_secret

: Required. The client secret of the SetupIntent. Required if a publishable key is used to retrieve the SetupIntent.

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/retrieve

update

    my $obj = $stripe->setup_intents( update => {
        metadata =>
        {
            user_id => "3435453",
        } } ) || die( $stripe->error );

Provided with a setup intent{.perl-module} object or a hash reference, this will update a Stripe setup intent and return its corresponding object{.perl-module}

Possible parameters are:

attach_to_self

: If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.

It can only be used for this Stripe Account's own money movement
flows like InboundTransfer and OutboundTransfers. It cannot be set
to true when setting up a PaymentMethod for a Customer, and defaults
to false when attaching a PaymentMethod to a Customer.

customer

: ID of the Customer this SetupIntent belongs to, if one exists.

If present, the SetupIntent\'s payment method will be attached to
the Customer on successful setup. Payment methods attached to other
Customers cannot be used with this SetupIntent.

description

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

flow_directions

: Indicates the directions of money movement for which this payment method is intended to be used.

Include `inbound` if you intend to use the payment method as the
origin to pull funds from. Include `outbound` if you intend to use
the payment method as the destination to send funds to. You can
include both if you intend to use the payment method for both
purposes.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

payment_method

: ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.

payment_method_data

: When included, this hash creates a PaymentMethod that is set as the payment_method{.perl-module} value in the SetupIntent.

payment_method_options

: Payment-method-specific configuration for this SetupIntent.

payment_method_types

: The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If this is not provided, defaults to ["card"].

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/update

verify_microdeposits

    my $obj = $stripe->setup_intents( verify_microdeposits => $args ) || die( $stripe->error );

Provided with a setup intent{.perl-module}, or a hash reference, this will issue a verify_microdeposits api call.

Returns a SetupIntent object.

Possible parameters are:

amounts

: Two positive integers, in cents, equal to the values of the microdeposits sent to the bank account.

client_secret

: Required. The client secret of the SetupIntent.

descriptor_code

: A six-character code starting with SM present in the microdeposit sent to the bank account.

More information from Stripe api documentation at https://stripe.com/docs/api/setup_intents/verify_microdeposits

SETUP INTENTS

You can create, retrieve, update, confirm or cancel and list setup inetnts

cancel

confirm

Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website.

If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status.

Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status.

    =item I<payment_method> optional

    ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.

    =item I<mandate_data> optional

    This hash contains details about the Mandate to create

    =over 8

        =item I<customer_acceptance> required

        =over 12

            =item type

            The type of customer acceptance information included with the Mandate. One of C<online> or C<offline>.

            =item accepted_at optional

            The time at which the customer accepted the Mandate.

            =item offline optional hash

            If this is a Mandate accepted offline, this hash contains details about the offline acceptance.

            =item online optional hash

            If this is a Mandate accepted online, this hash contains details about the online acceptance.

            =over 16

                =item ip_address required

                The IP address from which the Mandate was accepted by the customer.

                =item user_agent required

                The user agent of the browser from which the Mandate was accepted by the customer.

            =back

        =back

    =back

    =item I<payment_method_options> optional hash

    Payment-method-specific configuration for this SetupIntent.

    =over 8

        =item acss_debit

        If this is a C<acss_debit> SetupIntent, this sub-hash contains details about the ACSS Debit payment method options.

        =over 12

            =item currency

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

            Possible enum values

            =over 16

                =item cad

                Canadian dollars

                =item usd

                US dollars

            =back

            =item mandate_options

            Additional fields for Mandate creation

            =over 16

                =item custom_mandate_url

                A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters C<payment_intent> and C<payment_intent_client_secret> when confirming a Payment Intent, or C<setup_intent> and C<setup_intent_client_secret> when confirming a Setup Intent.

                =item default_for

                List of Stripe products where this mandate can be selected automatically.

                Possible enum values

                =over 20

                    =item invoice

                    Enables payments for Stripe Invoices. ‘subscription’ must also be provided.

                    =item subscription

                    Enables payments for Stripe Subscriptions. ‘invoice’ must also be provided.

                =back

                =item interval_description

                Description of the mandate interval. Only required if ‘payment_schedule’ parameter is ‘interval’ or ‘combined’.

                =item payment_schedule

                Payment schedule for the mandate.

                Possible enum values

                =over 20

                    =item interval

                    Payments are initiated at a regular pre-defined interval

                    =item sporadic

                    Payments are initiated sporadically

                    =item combined

                    Payments can be initiated at a pre-defined interval or sporadically

                =back

                =item transaction_type

                Transaction type of the mandate.

                Possible enum values

                =over 20

                    =item personal

                    Transactions are made for personal reasons

                    =item business

                    Transactions are made for business reasons

                =back

            =back

            =item verification_method

            Verification method for the intent

            Possible enum values

            =over 16

                =item automatic

                Instant verification with fallback to microdeposits.

                =item instant

                Instant verification.

                =item microdeposits

                Verification using microdeposits.

            =back

            =item card

            Configuration for any card setup attempted on this SetupIntent.

            =over 16

                =item request_three_d_secure

                We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and other requirements. However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: automatic or any. If not provided, defaults to automatic. Read our guide on manually requesting 3D Secure for more information on how this configuration interacts with Radar and our SCA Engine.

            =back

            =item sepa_debit

            If this is a C<sepa_debit> SetupIntent, this sub-hash contains details about the SEPA Debit payment method options.

            =over 16

                =item mandate_options

                Additional fields for Mandate creation

            =back

        =back

        =item I<return_url> optional

        The URL to redirect your customer back to after they authenticate on the payment method’s app or site. If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods.

    =back

create {#create-51}

Provided with Net::API::Stripe::Payment::Intent::Setup{.perl-module} object or an hash reference of parameters, this will create a Stripe setup intent and return a Net::API::Stripe::Payment::Intent::Setup{.perl-module} object.

Possible parameters are:

confirm optional.

: Set to true to attempt to confirm this SetupIntent immediately. This parameter defaults to false. If the payment method attached is a card, a return_url may be provided in case additional authentication is required.

customer optional.

: ID of the Customer this SetupIntent belongs to, if one exists.

If present, the SetupIntent’s payment method will be attached to
the Customer on successful setup. Payment methods attached to other
Customers cannot be used with this SetupIntent.

description optional

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

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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

payment_method optional

: ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.

payment_method_types optional

: The list of payment method types that this SetupIntent is allowed to set up. If this is not provided, defaults to [“card”]. Valid payment method types include: au_becs_debit, bancontact, card, card_present, ideal, sepa_debit, and sofort.

usage optional

: Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to off_session.

Possible enum values

on\_session

:   Use `on_session` if you intend to only reuse the payment method
    when the customer is in your checkout flow.

off\_session

:   Use `off_session` if your customer may or may not be in your
    checkout flow.

mandate_data optional hash

: This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.

customer\_acceptance required

:   This hash contains details about the customer acceptance of the
    Mandate.

    type

    :   The type of customer acceptance information included with
        the Mandate. One of online or `offline`.

    accepted\_at

    :   The time at which the customer accepted the Mandate.

    offline

    :   If this is a Mandate accepted offline, this hash contains
        details about the offline acceptance.

    online

    :   If this is a Mandate accepted online, this hash contains
        details about the online acceptance.

        ip\_address required

        :   The IP address from which the Mandate was accepted by
            the customer.

        user\_agent required

        :   The user agent of the browser from which the Mandate was
            accepted by the customer.

on_behalf_of optional

: The Stripe account ID for which this SetupIntent is created.

payment_method_options optional hash

: Payment-method-specific configuration for this SetupIntent.

acss\_debit

:   If this is a `acss_debit` SetupIntent, this sub-hash contains
    details about the ACSS Debit payment method options.

    currency

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

        Possible enum values

        cad

        :   Canadian dollars

        usd

        :   US dollars

    mandate\_options

    :   Additional fields for Mandate creation

        custom\_mandate\_url

        :   A URL for custom mandate text to render during
            confirmation step. The URL will be rendered with
            additional GET parameters `payment_intent` and
            `payment_intent_client_secret` when confirming a Payment
            Intent, or `setup_intent` and
            `setup_intent_client_secret` when confirming a Setup
            Intent.

        default\_for

        :   List of Stripe products where this mandate can be
            selected automatically.

            Possible enum values

            invoice

            :   Enables payments for Stripe Invoices.
                ‘subscription’ must also be provided.

            subscription

            :   Enables payments for Stripe Subscriptions.
                ‘invoice’ must also be provided.

        interval\_description

        :   Description of the mandate interval. Only required if
            ‘payment\_schedule’ parameter is ‘interval’ or
            ‘combined’.

        payment\_schedule

        :   Payment schedule for the mandate.

            Possible enum values

            interval

            :   Payments are initiated at a regular pre-defined
                interval

            sporadic

            :   Payments are initiated sporadically

            combined

            :   Payments can be initiated at a pre-defined interval
                or sporadically

        transaction\_type

        :   Transaction type of the mandate.

            Possible enum values

            personal

            :   Transactions are made for personal reasons

            business

            :   Transactions are made for business reasons

    verification\_method

    :   Verification method for the intent

        Possible enum values

        automatic

        :   Instant verification with fallback to microdeposits.

        instant

        :   Instant verification.

        microdeposits

        :   Verification using microdeposits.

    card

    :   Configuration for any card setup attempted on this
        SetupIntent.

        request\_three\_d\_secure

        :   We strongly recommend that you rely on our SCA Engine to
            automatically prompt your customers for authentication
            based on risk level and other requirements. However, if
            you wish to request 3D Secure based on logic from your
            own fraud engine, provide this option. Permitted values
            include: automatic or any. If not provided, defaults to
            automatic. Read our guide on manually requesting 3D
            Secure for more information on how this configuration
            interacts with Radar and our SCA Engine.

    sepa\_debit

    :   If this is a `sepa_debit` SetupIntent, this sub-hash
        contains details about the SEPA Debit payment method
        options.

        mandate\_options

        :   Additional fields for Mandate creation

*return\_url* optional

:   The URL to redirect your customer back to after they
    authenticate or cancel their payment on the payment method’s
    app or site. If you’d prefer to redirect to a mobile
    application, you can alternatively supply an application URI
    scheme. This parameter can only be used with `confirm=true`.

*single\_use* optional hash

:   If this hash is populated, this SetupIntent will generate a
    single\_use Mandate on success.

    amount

    :   Amount the customer is granting permission to collect later.
        A positive integer representing how much to charge in the
        smallest currency unit (e.g., 100 cents to charge \$1.00 or
        100 to charge ¥100, a zero-decimal currency). The minimum
        amount is \$0.50 US or equivalent in charge currency. The
        amount value supports up to eight digits (e.g., a value of
        99999999 for a USD charge of \$999,999.99).

    currency

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

list {#list-67}

retrieve {#retrieve-67}

Retrieves the details of a SetupIntent that has previously been created.

Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.

When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.

client_secret required if using publishable key

: The client secret of the SetupIntent. Required if a publishable key is used to retrieve the SetupIntent.

update

customer optional

: ID of the Customer this SetupIntent belongs to, if one exists.

If present, the SetupIntent’s payment method will be attached to
the Customer on successful setup. Payment methods attached to other
Customers cannot be used with this SetupIntent.

description optional

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

metadata optional 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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

payment_method optional

: ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.

payment_method_types optional

: The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If this is not provided, defaults to [“card”].

payment_method_options optional hash

: Payment-method-specific configuration for this SetupIntent.

acss\_debit

:   If this is a `acss_debit` SetupIntent, this sub-hash contains
    details about the ACSS Debit payment method options.

    currency

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

        Possible enum values

        cad

        :   Canadian dollars

        usd

        :   US dollars

    mandate\_options

    :   Additional fields for Mandate creation

        custom\_mandate\_url

        :   A URL for custom mandate text to render during
            confirmation step. The URL will be rendered with
            additional GET parameters `payment_intent` and
            `payment_intent_client_secret` when confirming a Payment
            Intent, or `setup_intent` and
            `setup_intent_client_secret` when confirming a Setup
            Intent.

        default\_for

        :   List of Stripe products where this mandate can be
            selected automatically.

            Possible enum values

            invoice

            :   Enables payments for Stripe Invoices.
                ‘subscription’ must also be provided.

            subscription

            :   Enables payments for Stripe Subscriptions.
                ‘invoice’ must also be provided.

        interval\_description

        :   Description of the mandate interval. Only required if
            ‘payment\_schedule’ parameter is ‘interval’ or
            ‘combined’.

        payment\_schedule

        :   Payment schedule for the mandate.

            Possible enum values

            interval

            :   Payments are initiated at a regular pre-defined
                interval

            sporadic

            :   Payments are initiated sporadically

            combined

            :   Payments can be initiated at a pre-defined interval
                or sporadically

        transaction\_type

        :   Transaction type of the mandate.

            Possible enum values

            personal

            :   Transactions are made for personal reasons

            business

            :   Transactions are made for business reasons

    verification\_method

    :   Verification method for the intent

        Possible enum values

        automatic

        :   Instant verification with fallback to microdeposits.

        instant

        :   Instant verification.

        microdeposits

        :   Verification using microdeposits.

    card

    :   Configuration for any card setup attempted on this
        SetupIntent.

        request\_three\_d\_secure

        :   We strongly recommend that you rely on our SCA Engine to
            automatically prompt your customers for authentication
            based on risk level and other requirements. However, if
            you wish to request 3D Secure based on logic from your
            own fraud engine, provide this option. Permitted values
            include: automatic or any. If not provided, defaults to
            automatic. Read our guide on manually requesting 3D
            Secure for more information on how this configuration
            interacts with Radar and our SCA Engine.

    sepa\_debit

    :   If this is a `sepa_debit` SetupIntent, this sub-hash
        contains details about the SEPA Debit payment method
        options.

        mandate\_options

        :   Additional fields for Mandate creation

SHIPPING RATE

You can create, list, retrieve or update shipping rate

create {#create-52}

    my $obj = $stripe->shipping_rates( create => {
        display_name => "Ground shipping",
        fixed_amount =>
        {
            amount   => "500",
            currency => "usd",
        }
        type         => "fixed_amount", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Shipping::Rate{.perl-module} object or a hash reference, this will create a Stripe shipping rate and return an Net::API::Stripe::Shipping::Rate{.perl-module} object.

Possible parameters are:

delivery_estimate

: The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.

display_name

: Required. The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.

fixed_amount

: Describes a fixed amount to charge for shipping. Must be present if type is fixed_amount.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

tax_behavior

: Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified.

tax_code

: A tax code{.perl-module} ID. The Shipping tax code is txcd_92010001.

type

: required The type of calculation to use on the shipping rate. Can only be fixed_amount for now.

More information from Stripe api documentation at https://stripe.com/docs/api/shipping_rates/create

list {#list-68}

    my $obj = $stripe->shipping_rates( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a shipping rate{.perl-module} object, this issue an api call to get the list of all shipping rate.

Possible parameters are:

active

: Only return shipping rates that are active or inactive.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

currency

: Only return shipping rates for the given currency.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/shipping_rates/list

retrieve {#retrieve-68}

    my $obj = $stripe->shipping_rates( retrieve => $args ) || die( $stripe->error );

Provided with a shipping rate{.perl-module} object or a hash reference, this will retrieve a Stripe shipping rate and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/shipping_rates/retrieve

update

    my $obj = $stripe->shipping_rates( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a shipping rate{.perl-module} object or a hash reference, this will update a Stripe shipping rate and return its corresponding object{.perl-module}

Possible parameters are:

active

: Whether the shipping rate can be used for new purchases. Defaults to true.

fixed_amount

: Describes a fixed amount to charge for shipping. Must be present if type is fixed_amount.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

tax_behavior

: Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of inclusive, exclusive, or unspecified.

More information from Stripe api documentation at https://stripe.com/docs/api/shipping_rates/update

SOURCE

You can attach, create, detach, retrieve or update source

attach

    my $obj = $stripe->sources( attach => $args ) || die( $stripe->error );

Provided with a source{.perl-module}, or a hash reference, this will issue a attach api call.

Returns the attached Source object.

Possible parameters are:

source

: Required. The identifier of the source to be attached.

More information from Stripe api documentation at https://stripe.com/docs/api/sources/attach

create {#create-53}

    my $obj = $stripe->sources( create => $args ) || die( $stripe->error );

Provided with a Net::API::Stripe::Payment::Source{.perl-module} object or a hash reference, this will create a Stripe source and return an Net::API::Stripe::Payment::Source{.perl-module} object.

Possible parameters are:

amount

: Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for single_use sources. Not supported for receiver type sources, where charge amount may not be specified until funds land.

currency

: Three-letter ISO code for the currency{.perl-module} associated with the source. This is the currency for which the source will be chargeable once ready.

flow

: The authentication flow of the source to create. flow is one of redirect, receiver, code_verification, none. It is generally inferred unless a type supports multiple flows.

mandate

: Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

owner

: Information about the owner of the payment instrument that may be used or required by particular source types.

receiver

: Optional parameters for the receiver flow. Can be set only if the source is a receiver (flow is receiver).

redirect

: Parameters required for the redirect flow. Required if the source is authenticated by a redirect (flow is redirect).

source_order

: Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.

statement_descriptor

: An arbitrary string to be displayed on your customer's statement. As an example, if your website is RunClub and the item you're charging for is a race ticket, you may want to specify a statement_descriptor of RunClub 5K race ticket. While many payment types will display this information, some may not display it at all.

token

: An optional token used to create the source. When passed, token properties will override source parameters.

type

: Required. The type of the source to create. Required unless customer and original_source are specified (see the Cloning card Sources{.perl-module} guide)

usage

: Either reusable or single_use. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.

More information from Stripe api documentation at https://stripe.com/docs/api/sources/create

detach

    my $obj = $stripe->sources( detach => $args ) || die( $stripe->error );

Provided with a source{.perl-module}, or a hash reference, this will issue a detach api call.

Returns the detached Source object.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/sources/detach

retrieve {#retrieve-69}

    my $obj = $stripe->sources( retrieve => $args ) || die( $stripe->error );

Provided with a source{.perl-module} object or a hash reference, this will retrieve a Stripe source and return its corresponding object{.perl-module}

Possible parameters are:

client_secret

: The client secret of the source. Required if a publishable key is used to retrieve the source.

More information from Stripe api documentation at https://stripe.com/docs/api/sources/retrieve

update

    my $obj = $stripe->sources( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a source{.perl-module} object or a hash reference, this will update a Stripe source and return its corresponding object{.perl-module}

Possible parameters are:

amount

: Amount associated with the source.

mandate

: Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

owner

: Information about the owner of the payment instrument that may be used or required by particular source types.

source_order

: Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.

More information from Stripe api documentation at https://stripe.com/docs/api/sources/update

SOURCES

You can create, retrieve, update, detach or attach sources

attach

Provided with a Net::API::Stripe::Customer{.perl-module} object or a Net::API::Stripe::Payment::Source{.perl-module} object or an hash reference of parameters, this will attach a Stripe source to a customer and return a Net::API::Stripe::Payment::Source{.perl-module} object.

Possible parameters are:

id A Stripe customer id

:

source A Stripe source id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/sources/attach

create {#create-54}

Provided with Net::API::Stripe::Payment::Source{.perl-module} object or an hash reference of parameters, this will create a Stripe source and return a Net::API::Stripe::Payment::Source{.perl-module} object.

Possible parameters are:

type String. This is required.

:

amount Integer

:

currency A 3-letter iso 4217 code such as jpy or eur

:

flow String. One of redirect, receiver, code_verification, none

:

mandate An hash reference with the following properties: acceptance amount currency interval notification_method

:

metadata An arbitrary hash reference

:

owner An hash reference with the following properties: address email name phone

:

receiver An hash reference with the following property: refund_attributes_method

:

redirect An hash reference with the following property: return_url

:

source_order An hash reference with the following properties: items shipping

:

statement_descriptor Text

:

token String

:

usage String. One of reusable or single_use

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/sources/create

detach

Provided with a Net::API::Stripe::Customer{.perl-module} object or a Net::API::Stripe::Payment::Source{.perl-module} object or an hash reference of parameters, this will detach a Stripe source from the customer and return a Net::API::Stripe::Payment::Source{.perl-module} object.

Possible parameters are:

id A Stripe customer id

:

source A Stripe source id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/sources/detach

retrieve {#retrieve-70}

Provided with Net::API::Stripe::Payment::Source{.perl-module} object or an hash reference of parameters, this will retrieve a Stripe source and return a Net::API::Stripe::Payment::Source{.perl-module} object.

Possible parameters are:

id A Stripe source id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/sources/retrieve

update

Provided with Net::API::Stripe::Payment::Source{.perl-module} object or an hash reference of parameters, this will update a Stripe source and return a Net::API::Stripe::Payment::Source{.perl-module} object.

Possible parameters are:

id A Stripe source id

:

amount Integer

:

mandate An hash reference with the following properties: acceptance amount currency interval notification_method

:

metadata An arbitrary hash reference

:

owner An hash reference with the following properties: address email name phone

:

source_order An hash reference with the following properties: items shipping

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/sources/update

SUBSCRIPTION

You can cancel, create, delete, delete_discount, list, retrieve, search or update subscription

create {#create-55}

    my $obj = $stripe->subscriptions( create => {
        customer => "cus_AJ78ZaALpqgiuZ",
        items    => [,
            price => "price_1Le1oa2eZvKYlo2CuD7mwpZu",
        ], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or a hash reference, this will create a Stripe subscription and return an Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

add_invoice_items

: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.

application_fee_percent

: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees documentation{.perl-module}.

automatic_tax

: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.

backdate_start_date

: For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.

billing_cycle_anchor

: A future timestamp to anchor the subscription's billing cycle{.perl-module}. This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.

billing_thresholds

: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.

cancel_at

: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using proration_behavior. If set during a future period, this will always cause a proration for that period.

cancel_at_period_end

: Boolean indicating whether this subscription should cancel at the end of the current period.

collection_method

: Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to charge_automatically.

coupon

: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.

currency

: Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

customer

: Required. The identifier of the customer to subscribe.

days_until_due

: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where collection_method is set to send_invoice.

default_payment_method

: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over default_source. If neither are set, invoices will use the customer's invoicesettings.defaultpayment_method{.perl-module} or default_source{.perl-module}.

default_source

: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If default_payment_method is also set, default_payment_method will take precedence. If neither are set, invoices will use the customer's invoicesettings.defaultpayment_method{.perl-module} or default_source{.perl-module}.

default_tax_rates

: The tax rates that will apply to any subscription item that does not have tax_rates set. Invoices created will have their default_tax_rates populated from the subscription.

description

: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces.

items

: required A list of up to 20 subscription items, each with an attached price.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

off_session

: Indicates if a customer is on or off-session while an invoice payment is attempted.

payment_behavior

: Use allow_incomplete to create subscriptions with status=incomplete if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the SCA Migration Guide{.perl-module} for Billing to learn more. This is the default behavior.

Use `default_incomplete` to create Subscriptions with
`status=incomplete` when the first invoice requires payment,
otherwise start as active. Subscriptions transition to
`status=active` when successfully confirming the payment intent on
the first invoice. This allows simpler management of scenarios where
additional user actions are needed to pay a subscription's invoice.
Such as failed payments, [SCA
regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication){.perl-module},
or collecting a mandate for a bank debit payment method. If the
payment intent is not confirmed within 23 hours subscriptions
transition to `status=incomplete_expired`, which is a terminal
state.

Use `error_if_incomplete` if you want Stripe to return an HTTP 402
status code if a subscription\'s first invoice cannot be paid. For
example, if a payment method requires 3DS authentication due to SCA
regulation and further user action is needed, this parameter does
not create a subscription and returns an error instead. This was the
default behavior for API versions prior to 2019-03-14. See the
[changelog](https://stripe.com/docs/upgrades#2019-03-14){.perl-module}
to learn more.

`pending_if_incomplete` is only used with updates and cannot be
passed when creating a subscription.

payment_settings

: Payment settings to pass to invoices created by the subscription.

pending_invoice_item_interval

: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling Create an invoice{.perl-module} for the given subscription at the specified interval.

promotion_code

: The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.

proration_behavior

: Determines how to handle prorations{.perl-module} resulting from the billing_cycle_anchor. If no value is passed, the default is create_prorations.

transfer_data

: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.

trial_end

: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value now can be provided to end the customer's trial immediately. Can be at most two years from billing_cycle_anchor. See Using trial periods on subscriptions{.perl-module} to learn more.

trial_from_plan

: Indicates if a plan's trial_period_days should be applied to the subscription. Setting trial_end per subscription is preferred, and this defaults to false. Setting this flag to true together with trial_end is not allowed. See Using trial periods on subscriptions{.perl-module} to learn more.

trial_period_days

: Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See Using trial periods on subscriptions{.perl-module} to learn more.

More information from Stripe api documentation at https://stripe.com/docs/api/subscriptions/create

delete

    my $obj = $stripe->subscriptions( delete => $args ) || die( $stripe->error );

Provided with a subscription{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the subscription. It returns the subscription object that was deleted with its property deleted set to true.

Possible parameters are:

invoice_now

: Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.

prorate

: Will generate a proration invoice item that credits remaining unused time until the subscription period end.

More information from Stripe api documentation at https://stripe.com/docs/api/subscriptions/cancel

list {#list-69}

    my $obj = $stripe->subscriptions( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a subscription{.perl-module} object, this issue an api call to get the list of all subscription.

Possible parameters are:

collection_method

: The collection method of the subscriptions to retrieve. Either charge_automatically or send_invoice.

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

current_period_end

: A filter on the list based on the object current_period_end field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

current_period_start

: A filter on the list based on the object current_period_start field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: The ID of the customer whose subscriptions will be retrieved.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

price

: Filter for subscriptions that contain this recurring price ID.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: The status of the subscriptions to retrieve. Passing in a value of canceled will return all canceled subscriptions, including those belonging to deleted customers. Pass ended to find subscriptions that are canceled and subscriptions that are expired due to incomplete payment{.perl-module}. Passing in a value of all will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned.

test_clock

: Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set.

More information from Stripe api documentation at https://stripe.com/docs/api/subscriptions/list

retrieve {#retrieve-71}

    my $obj = $stripe->subscriptions( retrieve => $args ) || die( $stripe->error );

Provided with a subscription{.perl-module} object or a hash reference, this will retrieve a Stripe subscription and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/subscriptions/retrieve

search

    my $obj = $stripe->subscriptions( search => {
        query => "status:'active' AND metadata['order_id']:'6735'", } ) || die( $stripe->error );

Provided with a subscription{.perl-module}, or a hash reference, this will issue a search api call.

A dictionary with a data property that contains an array of up to limit subscriptions. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists{.perl-module}.

Possible parameters are:

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page

: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query

: Required. The search query string. See search query language{.perl-module} and the list of supported query fields for subscriptions{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/subscriptions/search

update

    my $obj = $stripe->subscriptions( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a subscription{.perl-module} object or a hash reference, this will update a Stripe subscription and return its corresponding object{.perl-module}

Possible parameters are:

add_invoice_items

: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.

application_fee_percent

: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees documentation{.perl-module}.

automatic_tax

: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.

billing_cycle_anchor

: Either now or unchanged. Setting the value to now resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle documentation{.perl-module}.

billing_thresholds

: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.

cancel_at

: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using proration_behavior. If set during a future period, this will always cause a proration for that period.

cancel_at_period_end

: Boolean indicating whether this subscription should cancel at the end of the current period.

collection_method

: Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to charge_automatically.

coupon

: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.

days_until_due

: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where collection_method is set to send_invoice.

default_payment_method

: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over default_source. If neither are set, invoices will use the customer's invoicesettings.defaultpayment_method{.perl-module} or default_source{.perl-module}.

default_source

: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If default_payment_method is also set, default_payment_method will take precedence. If neither are set, invoices will use the customer's invoicesettings.defaultpayment_method{.perl-module} or default_source{.perl-module}.

default_tax_rates

: The tax rates that will apply to any subscription item that does not have tax_rates set. Invoices created will have their default_tax_rates populated from the subscription. Pass an empty string to remove previously-defined tax rates.

description

: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces.

items

: A list of up to 20 subscription items, each with an attached price.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

off_session

: Indicates if a customer is on or off-session while an invoice payment is attempted.

pause_collection

: If specified, payment collection for this subscription will be paused.

payment_behavior

: Use allow_incomplete to transition the subscription to status=past_due if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the SCA Migration Guide{.perl-module} for Billing to learn more. This is the default behavior.

Use `default_incomplete` to transition the subscription to
`status=past_due` when payment is required and await explicit
confirmation of the invoice\'s payment intent. This allows simpler
management of scenarios where additional user actions are needed to
pay a subscription's invoice. Such as failed payments, [SCA
regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication){.perl-module},
or collecting a mandate for a bank debit payment method.

Use `pending_if_incomplete` to update the subscription using
[pending
updates](https://stripe.com/docs/billing/subscriptions/pending-updates){.perl-module}.
When you use `pending_if_incomplete` you can only pass the
parameters [supported by pending
updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes){.perl-module}.

Use `error_if_incomplete` if you want Stripe to return an HTTP 402
status code if a subscription\'s invoice cannot be paid. For
example, if a payment method requires 3DS authentication due to SCA
regulation and further user action is needed, this parameter does
not update the subscription and returns an error instead. This was
the default behavior for API versions prior to 2019-03-14. See the
[changelog](https://stripe.com/docs/upgrades#2019-03-14){.perl-module}
to learn more.

payment_settings

: Payment settings to pass to invoices created by the subscription.

pending_invoice_item_interval

: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling Create an invoice{.perl-module} for the given subscription at the specified interval.

promotion_code

: The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.

proration_behavior

: Determines how to handle prorations{.perl-module} when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes.

proration_date

: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with upcoming invoice{.perl-module} endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.

transfer_data

: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.

trial_end

: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value now can be provided to end the customer's trial immediately. Can be at most two years from billing_cycle_anchor.

trial_from_plan

: Indicates if a plan's trial_period_days should be applied to the subscription. Setting trial_end per subscription is preferred, and this defaults to false. Setting this flag to true together with trial_end is not allowed. See Using trial periods on subscriptions{.perl-module} to learn more.

More information from Stripe api documentation at https://stripe.com/docs/api/subscriptions/update

SUBSCRIPTION ITEM

You can create, delete, list, retrieve or update subscription item

create {#create-56}

    my $obj = $stripe->subscription_items( create => {
        price        => "price_1Le1oa2eZvKYlo2CuD7mwpZu",
        quantity     => "2",
        subscription => "sub_1LduLW2eZvKYlo2CkXEi23Ew", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Subscription::Item{.perl-module} object or a hash reference, this will create a Stripe subscription item and return an Net::API::Stripe::Billing::Subscription::Item{.perl-module} object.

Possible parameters are:

billing_thresholds

: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

payment_behavior

: Use allow_incomplete to transition the subscription to status=past_due if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the SCA Migration Guide{.perl-module} for Billing to learn more. This is the default behavior.

Use `default_incomplete` to transition the subscription to
`status=past_due` when payment is required and await explicit
confirmation of the invoice\'s payment intent. This allows simpler
management of scenarios where additional user actions are needed to
pay a subscription's invoice. Such as failed payments, [SCA
regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication){.perl-module},
or collecting a mandate for a bank debit payment method.

Use `pending_if_incomplete` to update the subscription using
[pending
updates](https://stripe.com/docs/billing/subscriptions/pending-updates){.perl-module}.
When you use `pending_if_incomplete` you can only pass the
parameters [supported by pending
updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes){.perl-module}.

Use `error_if_incomplete` if you want Stripe to return an HTTP 402
status code if a subscription\'s invoice cannot be paid. For
example, if a payment method requires 3DS authentication due to SCA
regulation and further user action is needed, this parameter does
not update the subscription and returns an error instead. This was
the default behavior for API versions prior to 2019-03-14. See the
[changelog](https://stripe.com/docs/upgrades#2019-03-14){.perl-module}
to learn more.

price

: The ID of the price object.

price_data

: Data used to generate a new Price{.perl-module} object inline.

proration_behavior

: Determines how to handle prorations{.perl-module} when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes.

proration_date

: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the upcoming invoice{.perl-module} endpoint.

quantity

: The quantity you'd like to apply to the subscription item you're creating.

subscription

: Required. The identifier of the subscription to modify.

tax_rates

: A list of Tax Rate{.perl-module} ids. These Tax Rates will override the default_tax_rates{.perl-module} on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_items/create

delete

    my $obj = $stripe->subscription_items( delete => $args ) || die( $stripe->error );

Provided with a subscription item{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the subscription item. It returns the subscription item object that was deleted with its property deleted set to true.

Possible parameters are:

clear_usage

: Delete all usage for the given subscription item. Allowed only when the current plan's usage_type is metered.

proration_behavior

: Determines how to handle prorations{.perl-module} when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes.

proration_date

: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the upcoming invoice{.perl-module} endpoint.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_items/delete

list {#list-70}

    my $obj = $stripe->subscription_items( list => {
        subscription => "sub_1LduLW2eZvKYlo2CkXEi23Ew", } ) || die( $stripe->error );

Provided with a subscription item{.perl-module} object, this issue an api call to get the list of all subscription item.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

subscription

: Required. The ID of the subscription whose items will be retrieved.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_items/list

retrieve {#retrieve-72}

    my $obj = $stripe->subscription_items( retrieve => $args ) || die( $stripe->error );

Provided with a subscription item{.perl-module} object or a hash reference, this will retrieve a Stripe subscription item and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_items/retrieve

update

    my $obj = $stripe->subscription_items( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a subscription item{.perl-module} object or a hash reference, this will update a Stripe subscription item and return its corresponding object{.perl-module}

Possible parameters are:

billing_thresholds

: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

off_session

: Indicates if a customer is on or off-session while an invoice payment is attempted.

payment_behavior

: Use allow_incomplete to transition the subscription to status=past_due if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the SCA Migration Guide{.perl-module} for Billing to learn more. This is the default behavior.

Use `default_incomplete` to transition the subscription to
`status=past_due` when payment is required and await explicit
confirmation of the invoice\'s payment intent. This allows simpler
management of scenarios where additional user actions are needed to
pay a subscription's invoice. Such as failed payments, [SCA
regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication){.perl-module},
or collecting a mandate for a bank debit payment method.

Use `pending_if_incomplete` to update the subscription using
[pending
updates](https://stripe.com/docs/billing/subscriptions/pending-updates){.perl-module}.
When you use `pending_if_incomplete` you can only pass the
parameters [supported by pending
updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes){.perl-module}.

Use `error_if_incomplete` if you want Stripe to return an HTTP 402
status code if a subscription\'s invoice cannot be paid. For
example, if a payment method requires 3DS authentication due to SCA
regulation and further user action is needed, this parameter does
not update the subscription and returns an error instead. This was
the default behavior for API versions prior to 2019-03-14. See the
[changelog](https://stripe.com/docs/upgrades#2019-03-14){.perl-module}
to learn more.

price

: The ID of the price object. When changing a subscription item's price, quantity is set to 1 unless a quantity parameter is provided.

price_data

: Data used to generate a new Price{.perl-module} object inline.

proration_behavior

: Determines how to handle prorations{.perl-module} when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes.

proration_date

: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the upcoming invoice{.perl-module} endpoint.

quantity

: The quantity you'd like to apply to the subscription item you're creating.

tax_rates

: A list of Tax Rate{.perl-module} ids. These Tax Rates will override the default_tax_rates{.perl-module} on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_items/update

SUBSCRIPTION SCHEDULE

You can cancel, create, list, release, retrieve or update subscription schedule

cancel

    my $obj = $stripe->subscription_schedules( cancel => $args ) || die( $stripe->error );

Provided with a subscription schedule{.perl-module}, or a hash reference, this will issue a cancel api call.

The canceled subscription_schedule object. Its status will be canceled and canceled_at will be the current time.

Possible parameters are:

invoice_now

: If the subscription schedule is active, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to true.

prorate

: If the subscription schedule is active, indicates if the cancellation should be prorated. Defaults to true.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_schedules/cancel

create {#create-57}

    my $obj = $stripe->subscription_schedules( create => {
        customer     => "cus_AJ78ZaALpqgiuZ",
        end_behavior => "release",
        phases       => [,
            items      => [,
                price    => "plan_JiX4v6L7JY0Vyt",
                quantity => "1",
            ],
            iterations => "12",
        ],
        start_date   => "1662865884", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object or a hash reference, this will create a Stripe subscription schedule and return an Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

Possible parameters are:

customer

: The identifier of the customer to create the subscription schedule for.

default_settings

: Object representing the subscription schedule's default settings.

end_behavior

: Configures how the subscription schedule behaves when it ends. Possible values are release or cancel with the default being release. release will end the subscription schedule and keep the underlying subscription running.cancel will end the subscription schedule and cancel the underlying subscription.

from_subscription

: Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

phases

: List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the end_date of one phase will always equal the start_date of the next phase.

start_date

: When the subscription schedule starts. We recommend using now so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_schedules/create

list {#list-71}

    my $obj = $stripe->subscription_schedules( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a subscription schedule{.perl-module} object, this issue an api call to get the list of all subscription schedule.

Possible parameters are:

canceled_at

: A filter on the list based on the object canceled_at field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

completed_at

: A filter on the list based on the object completed_at field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

customer

: Only return subscription schedules for the given customer.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

released_at

: A filter on the list based on the object released_at field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

scheduled

: Only return subscription schedules that have not started yet.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_schedules/list

release

    my $obj = $stripe->subscription_schedules( release => $args ) || die( $stripe->error );

Provided with a subscription schedule{.perl-module}, or a hash reference, this will issue a release api call.

The released subscription_schedule object. Its status will be released, released_at will be the current time, and released_subscription will be the ID of the subscription the subscription schedule managed prior to being released.

Possible parameters are:

preserve_cancel_date

: Keep any cancellation on the subscription that the schedule has set

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_schedules/release

retrieve {#retrieve-73}

    my $obj = $stripe->subscription_schedules( retrieve => $args ) || die( $stripe->error );

Provided with a subscription schedule{.perl-module} object or a hash reference, this will retrieve a Stripe subscription schedule and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_schedules/retrieve

update

    my $obj = $stripe->subscription_schedules( update => {
        end_behavior => "release", } ) || die( $stripe->error );

Provided with a subscription schedule{.perl-module} object or a hash reference, this will update a Stripe subscription schedule and return its corresponding object{.perl-module}

Possible parameters are:

default_settings

: Object representing the subscription schedule's default settings.

end_behavior

: Configures how the subscription schedule behaves when it ends. Possible values are release or cancel with the default being release. release will end the subscription schedule and keep the underlying subscription running.cancel will end the subscription schedule and cancel the underlying subscription.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

phases

: List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the end_date of one phase will always equal the start_date of the next phase. Note that past phases can be omitted.

proration_behavior

: If the update changes the current phase, indicates whether the changes should be prorated. The default value is create_prorations.

More information from Stripe api documentation at https://stripe.com/docs/api/subscription_schedules/update

SUBSCRIPTION SCHEDULES

You can create, retrieve, update, list, cancel or release schedules

cancel

Provided with a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object or an hash reference of parameters and this will cancel a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

Possible parameters are:

id A Stripe subscription schedule. This is required.

:

invoice_now Boolean

:

prorate Boolean

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscription_schedules/cancel

create {#create-58}

Provided with a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object or an hash reference of parameters and this will create a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

Possible parameters are:

customer A Stripe customer id

:

default_settings An hash reference with the following properties:

:

billing\_thresholds.amount\_gte

:   

billing\_thresholds.reset\_billing\_cycle\_anchor

:   

collection\_method

:   

default\_payment\_method

:   

invoice\_settings.days\_until\_due

:   

end_behavior String. One of release or cancel

:

from_subscription Stripe subscription id

:

metadata An aribitrary hash reference

:

phases An array of hash reference with following properties:

:

plan

:   

price

:   

application\_fee\_percent

:   

billing\_thresholds

:   

collection\_method

:   

coupon

:   

default\_payment\_method

:   

default\_tax\_rates

:   

end\_date

:   

invoice\_settings

:   

iterations

:   

tax\_percent

:   

trial

:   

trial\_end

:   

start_date Date or timestamp or the word 'now'

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscription_schedules/create

list {#list-72}

Provided with an hash reference of parameters this will get the list of subscription schedules and return a Net::API::Stripe::List{.perl-module} object

Possible parameters are:

canceled_at Unix timestamp

:

completed_at Unix timestamp

:

created Unix timestamp

:

customer A Stripe customer id

:

email String. E-mail address

:

ending_before A Stripe subscription schedule id

:

limit Integer

:

released_at Unix timestamp

:

scheduled Boolean

:

starting_after A Stripe subscription schedule id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscription_schedules/list

release

Provided with a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object or an hash reference of parameters and this will release a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

Possible parameters are:

id A Stripe subscription schedule. This is required.

:

preserve_cancel_date Boolean

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscription_schedules/release

retrieve {#retrieve-74}

Provided with a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object or an hash reference of parameters and this will retrieve a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

Possible parameters are:

id A Stripe subscription schedule id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscription_schedules/retrieve

update

Provided with a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object or an hash reference of parameters and this will update a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule{.perl-module} object.

Possible parameters are:

id A Stripe subscription id

:

default_settings An hash reference with the following properties: billing_thresholds.amount_gte billing_thresholds.reset_billing_cycle_anchor collection_method default_payment_method invoice_settings.days_until_due

:

end_behavior String. One of release or cancel

:

from_subscription Stripe subscription id

:

metadata An aribitrary hash reference

:

phases An array of hash reference with following properties: plan application_fee_percent billing_thresholds collection_method coupon default_payment_method default_tax_rates end_date invoice_settings iterations tax_percent trial trial_end

:

prorate Boolean

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscription_schedules/update

SUBSCRIPTIONS

You can create, delete_discount, retrieve, update, list or cancel subscriptions

cancel

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or an hash reference of parameters, this will cancel a Stripe subscription and return a Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

id A Stripe subscription id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscriptions/create

create {#create-59}

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or an hash reference of parameters, this will create a Stripe subscription and return a Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

customer A Strip customer id. This is required.

:

application_fee_percent Decimal

:

backdate_start_date Date or timestamp

:

billing_cycle_anchor Date or timestamp

:

billing_thresholds An hash reference with the following properties: amount_gte reset_billing_cycle_anchor

:

cancel_at Date or timestamp

:

cancel_at_period_end Boolean

:

collection_method String. One of charge_automatically, or send_invoice

:

coupon String

:

days_until_due Integer

:

default_payment_method A Stripe payment method id

:

default_source A Stripe source id

:

default_tax_rates Array of string

:

items An array of hash reference with the following properties:

:

billing\_thresholds.usage\_gte

:   

plan

:   

price

:   

price\_data.currency

:   

price\_data.product

:   

price\_data.recurring.interval

:   

price\_data.recurring.interval\_count

:   

price\_data.unit\_amount\_decimal

:   

price\_data.unit\_amount

:   

billing\_thresholds

:   

metadata

:   

quantity

:   

tax\_rates

:   

metadata An arbitrary hash reference

:

off_session Boolean

:

payment_behavior String. One of allow_incomplete error_if_incomplete or pending_if_incomplete

:

pending_invoice_item_interval An hash reference with the following properties: interval interval_count

:

prorate Boolean

:

proration_behavior String. One of billing_cycle_anchor, create_prorations or none

:

tax_percent Decimal

:

trial_end Unix timestamp or 'now'

:

trial_from_plan Boolean

:

trial_period_days Integer

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscriptions/create

delete_discount

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or an hash reference of parameters, this will remove its discount and return a Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

id A Stripe subscription id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscriptions/create

list {#list-73}

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or an hash reference of parameters, this will create a Stripe subscription and return a Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

active Boolean

:

created Date or unix timestamp

:

ids Array reference

:

ending_before A Stripe credit note id

:

limit Integer

:

shippable Boolean

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscriptions/create

retrieve {#retrieve-75}

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or an hash reference of parameters, this will retrieve a Stripe subscription and return a Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

id A Stripe subscription id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscriptions/create

update

Provided with a Net::API::Stripe::Billing::Subscription{.perl-module} object or an hash reference of parameters, this will update a Stripe subscription and return a Net::API::Stripe::Billing::Subscription{.perl-module} object.

Possible parameters are:

id A Stripe subscription id

:

application_fee_percent Decimal

:

billing_cycle_anchor Date or timestamp

:

billing_thresholds An hash reference with the following properties: amount_gte reset_billing_cycle_anchor

:

cancel_at Date or timestamp

:

cancel_at_period_end Boolean

:

collection_method String. One of charge_automatically, or send_invoice

:

coupon String

:

days_until_due Integer

:

default_payment_method A Stripe payment method id

:

default_source A Stripe source id

:

default_tax_rates Array of string

:

items An array of hash reference with the following properties: plan billing_thresholds metadata quantity tax_rates

:

metadata An arbitrary hash reference

:

off_session Boolean

:

pause_collection An hash reference with the following properties: behavior resumes_at

:

payment_behavior String. One of allow_incomplete error_if_incomplete or pending_if_incomplete

:

pending_invoice_item_interval An hash reference with the following properties: interval interval_count

:

prorate Boolean

:

prorate_date A Date or timestamp

:

tax_percent Decimal

:

trial_end Unix timestamp or 'now'

:

trial_from_plan Boolean

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/subscriptions/create

TAX CODE

You can list or retrieve tax code

list {#list-74}

    my $obj = $stripe->tax_codes( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a tax code{.perl-module} object, this issue an api call to get the list of all tax code.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/tax_codes/list

retrieve {#retrieve-76}

    my $obj = $stripe->tax_codes( retrieve => $args ) || die( $stripe->error );

Provided with a tax code{.perl-module} object or a hash reference, this will retrieve a Stripe tax code and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/tax_codes/retrieve

TAX ID

You can create, delete, list or retrieve tax id

create {#create-60}

    my $obj = $stripe->tax_ids( create => {
        type  => "eu_vat",
        value => "DE123456789", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Customer::TaxId{.perl-module} object or a hash reference, this will create a Stripe tax id and return an Net::API::Stripe::Customer::TaxId{.perl-module} object.

Possible parameters are:

type

: Required. Type of the tax ID, one of ae_trn, au_abn, au_arn, bg_uic, br_cnpj, br_cpf, ca_bn, ca_gst_hst, ca_pst_bc, ca_pst_mb, ca_pst_sk, ca_qst, ch_vat, cl_tin, es_cif, eu_oss_vat, eu_vat, gb_vat, ge_vat, hk_br, hu_tin, id_npwp, il_vat, in_gst, is_vat, jp_cn, jp_rn, kr_brn, li_uid, mx_rfc, my_frp, my_itn, my_sst, no_vat, nz_gst, ru_inn, ru_kpp, sa_vat, sg_gst, sg_uen, si_tin, th_vat, tw_vat, ua_vat, us_ein, or za_vat

value

: Required. Value of the tax ID.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_tax_ids/create

delete

    my $obj = $stripe->tax_ids( delete => $args ) || die( $stripe->error );

Provided with a tax id{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the tax id. It returns the tax id object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_tax_ids/delete

list {#list-75}

    my $obj = $stripe->tax_ids( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a tax id{.perl-module} object, this issue an api call to get the list of all tax id.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_tax_ids/list

retrieve {#retrieve-77}

    my $obj = $stripe->tax_ids( retrieve => $args ) || die( $stripe->error );

Provided with a tax id{.perl-module} object or a hash reference, this will retrieve a Stripe tax id and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/customer_tax_ids/retrieve

TAX IDS

You can create, retrieve, delete or list tax ids

create {#create-61}

Provided with a Net::API::Stripe::Billing::TaxID{.perl-module} object or an hash reference of parameters, this will cancel a Stripe tax id and return a Net::API::Stripe::Billing::TaxID{.perl-module} object.

Possible parameters are:

customer A Stripe customer id

:

type String, such as au_abn, ch_vat, eu_vat, in_gst, mx_rfc, no_vat, nz_gst, or za_vat

:

value String

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customer_tax_ids/create

delete

Provided with a Net::API::Stripe::Billing::TaxID{.perl-module} object or an hash reference of parameters, this will cancel a Stripe tax id and return a Net::API::Stripe::Billing::TaxID{.perl-module} object.

Possible parameters are:

id A Stripe tax id. This is required

:

customer A Stripe customer id. This is required

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customer_tax_ids/delete

list {#list-76}

Provided with an hash reference of parameters, this will get the list of Stripe tax id and return a Net::API::Stripe::List{.perl-module} object.

Possible parameters are:

id A Stripe customer id. This is required

:

ending_before A Stripe credit note id

:

limit Integer

:

starting_after A Stripe credit note id

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customer_tax_ids/list

retrieve {#retrieve-78}

Provided with a Net::API::Stripe::Billing::TaxID{.perl-module} object or an hash reference of parameters, this will cancel a Stripe tax id and return a Net::API::Stripe::Billing::TaxID{.perl-module} object.

Possible parameters are:

id A Stripe tax id. This is required

:

customer A Stripe customer id. This is required

:

For more information, see Stripe documentation here: https://stripe.com/docs/api/customer_tax_ids/retrieve

TAX RATE

You can create, list, retrieve or update tax rate

create {#create-62}

    my $obj = $stripe->tax_rates( create => {
        description  => "VAT Germany",
        display_name => "VAT",
        inclusive    => "0",
        jurisdiction => "DE",
        percentage   => "16", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Tax::Rate{.perl-module} object or a hash reference, this will create a Stripe tax rate and return an Net::API::Stripe::Tax::Rate{.perl-module} object.

Possible parameters are:

active

: Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.

country

: Two-letter country code (ISO 3166-1 alpha-2){.perl-module}.

description

: An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

display_name

: Required. The display name of the tax rate, which will be shown to users.

inclusive

: Required. This specifies if the tax rate is inclusive or exclusive.

jurisdiction

: The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

percentage

: Required. This represents the tax rate percent out of 100.

state

: ISO 3166-2 subdivision code{.perl-module}, without country prefix. For example, "NY" for New York, United States.

tax_type

: The high-level tax type, such as vat or sales_tax.

More information from Stripe api documentation at https://stripe.com/docs/api/tax_rates/create

list {#list-77}

    my $obj = $stripe->tax_rates( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a tax rate{.perl-module} object, this issue an api call to get the list of all tax rate.

Possible parameters are:

active

: Optional flag to filter by tax rates that are either active or inactive (archived).

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

inclusive

: Optional flag to filter by tax rates that are inclusive (or those that are not inclusive).

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/tax_rates/list

retrieve {#retrieve-79}

    my $obj = $stripe->tax_rates( retrieve => $args ) || die( $stripe->error );

Provided with a tax rate{.perl-module} object or a hash reference, this will retrieve a Stripe tax rate and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/tax_rates/retrieve

update

    my $obj = $stripe->tax_rates( update => {
        active => "0", } ) || die( $stripe->error );

Provided with a tax rate{.perl-module} object or a hash reference, this will update a Stripe tax rate and return its corresponding object{.perl-module}

Possible parameters are:

active

: Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.

country

: Two-letter country code (ISO 3166-1 alpha-2){.perl-module}.

description

: An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

display_name

: The display name of the tax rate, which will be shown to users.

jurisdiction

: The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

state

: ISO 3166-2 subdivision code{.perl-module}, without country prefix. For example, "NY" for New York, United States.

tax_type

: The high-level tax type, such as vat or sales_tax.

More information from Stripe api documentation at https://stripe.com/docs/api/tax_rates/update

TERMINAL CONFIGURATION

You can create, delete, list, retrieve or update terminal configuration

create {#create-63}

    my $obj = $stripe->terminal_configurations( create => {
        bbpos_wisepos_e =>
        {
            splashscreen => "file_1Le9F32eZvKYlo2CupWuSTyz",
        } } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Terminal::Configuration{.perl-module} object or a hash reference, this will create a Stripe terminal configuration and return an Net::API::Stripe::Terminal::Configuration{.perl-module} object.

Possible parameters are:

bbpos_wisepos_e

: An object containing device type specific settings for BBPOS WisePOS E readers

tipping

: Tipping configurations for readers supporting on-reader tips

verifone_p400

: An object containing device type specific settings for Verifone P400 readers

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/configuration/create

delete

    my $obj = $stripe->terminal_configurations( delete => $args ) || die( $stripe->error );

Provided with a terminal configuration{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the terminal configuration. It returns the terminal configuration object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/configuration/delete

list {#list-78}

    my $obj = $stripe->terminal_configurations( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a terminal configuration{.perl-module} object, this issue an api call to get the list of all terminal configuration.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

is_account_default

: if present, only return the account default or non-default configurations.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/configuration/list

retrieve {#retrieve-80}

    my $obj = $stripe->terminal_configurations( retrieve => $args ) || die( $stripe->error );

Provided with a terminal configuration{.perl-module} object or a hash reference, this will retrieve a Stripe terminal configuration and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/configuration/retrieve

update

    my $obj = $stripe->terminal_configurations( update => {
        bbpos_wisepos_e =>
        {
            splashscreen => "file_1Le9F32eZvKYlo2CupWuSTyz",
        } } ) || die( $stripe->error );

Provided with a terminal configuration{.perl-module} object or a hash reference, this will update a Stripe terminal configuration and return its corresponding object{.perl-module}

Possible parameters are:

bbpos_wisepos_e

: An object containing device type specific settings for BBPOS WisePOS E readers

tipping

: Tipping configurations for readers supporting on-reader tips

verifone_p400

: An object containing device type specific settings for Verifone P400 readers

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/configuration/update

TERMINAL CONNECTION TOKEN

You can create terminal connection token

create {#create-64}

    my $obj = $stripe->terminal_connection_tokens( create => $args ) || die( $stripe->error );

Provided with a Net::API::Stripe::Terminal::ConnectionToken{.perl-module} object or a hash reference, this will create a Stripe terminal connection token and return an Net::API::Stripe::Terminal::ConnectionToken{.perl-module} object.

Possible parameters are:

location

: The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers. Note that location scoping only applies to internet-connected readers. For more details, see the docs on scoping connection tokens{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/connection_tokens/create

TERMINAL LOCATION

You can create, delete, list, retrieve or update terminal location

create {#create-65}

    my $obj = $stripe->terminal_locations( create => {
        address      =>
        {
            city        => "San Francisco",
            country     => "US",
            line1       => "1234 Main Street",
            postal_code => "94111",
        }
        display_name => "My First Store", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Terminal::Location{.perl-module} object or a hash reference, this will create a Stripe terminal location and return an Net::API::Stripe::Terminal::Location{.perl-module} object.

Possible parameters are:

address

: Required. The full address of the location.

configuration_overrides

: The ID of a configuration that will be used to customize all readers in this location.

display_name

: Required. A name for the location.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/locations/create

delete

    my $obj = $stripe->terminal_locations( delete => $args ) || die( $stripe->error );

Provided with a terminal location{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the terminal location. It returns the terminal location object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/locations/delete

list {#list-79}

    my $obj = $stripe->terminal_locations( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a terminal location{.perl-module} object, this issue an api call to get the list of all terminal location.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/locations/list

retrieve {#retrieve-81}

    my $obj = $stripe->terminal_locations( retrieve => $args ) || die( $stripe->error );

Provided with a terminal location{.perl-module} object or a hash reference, this will retrieve a Stripe terminal location and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/locations/retrieve

update

    my $obj = $stripe->terminal_locations( update => {
        display_name => "My First Store", } ) || die( $stripe->error );

Provided with a terminal location{.perl-module} object or a hash reference, this will update a Stripe terminal location and return its corresponding object{.perl-module}

Possible parameters are:

address

: The full address of the location.

configuration_overrides

: The ID of a configuration that will be used to customize all readers in this location.

display_name

: A name for the location.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/locations/update

TERMINAL READER

You can cancel_action, create, delete, list, present_payment_method, process_payment_intent, process_setup_intent, retrieve, set_reader_display or update terminal reader

cancel_action

    my $obj = $stripe->terminal_readers( cancel_action => $args ) || die( $stripe->error );

Provided with a terminal reader{.perl-module}, or a hash reference, this will issue a cancel_action api call.

Returns an updated Reader resource.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/cancel_action

create {#create-66}

    my $obj = $stripe->terminal_readers( create => {
        label             => "Blue Rabbit",
        location          => "tml_1234",
        registration_code => "puppies-plug-could", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Terminal::Reader{.perl-module} object or a hash reference, this will create a Stripe terminal reader and return an Net::API::Stripe::Terminal::Reader{.perl-module} object.

Possible parameters are:

label

: Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.

location

: required The location to assign the reader to.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

registration_code

: Required. A code generated by the reader used for registering to an account.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/create

delete

    my $obj = $stripe->terminal_readers( delete => $args ) || die( $stripe->error );

Provided with a terminal reader{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the terminal reader. It returns the terminal reader object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/delete

list {#list-80}

    my $obj = $stripe->terminal_readers( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a terminal reader{.perl-module} object, this issue an api call to get the list of all terminal reader.

Possible parameters are:

device_type

: Filters readers by device type

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

location

: A location ID to filter the response list to only readers at the specific location

serial_number

: Filters readers by serial number

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: A status filter to filter readers to only offline or online readers

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/list

present_payment_method

    my $obj = $stripe->terminal_readers( present_payment_method => $args ) || die( $stripe->error );

Provided with a terminal reader{.perl-module}, or a hash reference, this will issue a present_payment_method api call.

Returns an updated Reader resource.

Possible parameters are:

card_present

: Simulated data for the card_present payment method

type

: Simulated payment type

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/present_payment_method

process_payment_intent

    my $obj = $stripe->terminal_readers( process_payment_intent => {
        payment_intent => "pi_1DsTej2eZvKYlo2C5PX0hXuO", } ) || die( $stripe->error );

Provided with a terminal reader{.perl-module}, or a hash reference, this will issue a process_payment_intent api call.

Returns an updated Reader resource.

Possible parameters are:

payment_intent

: Required. PaymentIntent ID

process_config

: Configuration overrides

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/process_payment_intent

process_setup_intent

    my $obj = $stripe->terminal_readers( process_setup_intent => {
        customer_consent_collected => "true",
        setup_intent               => "seti_1Le8Ey2eZvKYlo2CVYgmKCc3", } ) || die( $stripe->error );

Provided with a terminal reader{.perl-module}, or a hash reference, this will issue a process_setup_intent api call.

Returns an updated Reader resource.

Possible parameters are:

customer_consent_collected

: Required. Customer Consent Collected

setup_intent

: Required. SetupIntent ID

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/process_setup_intent

retrieve {#retrieve-82}

    my $obj = $stripe->terminal_readers( retrieve => $args ) || die( $stripe->error );

Provided with a terminal reader{.perl-module} object or a hash reference, this will retrieve a Stripe terminal reader and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/retrieve

set_reader_display

    my $obj = $stripe->terminal_readers( set_reader_display => {
        cart =>
        {
            currency   => "usd",
            line_items => [,
                amount      => "5100",
                description => "Red t-shirt",
                quantity    => "1",
            ],
            tax        => "100",
            total      => "5200",
        }
        type => "cart", } ) || die( $stripe->error );

Provided with a terminal reader{.perl-module}, or a hash reference, this will issue a set_reader_display api call.

Returns an updated Reader resource.

Possible parameters are:

cart

: Cart

type

: Required. Type

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/set_reader_display

update

    my $obj = $stripe->terminal_readers( update => {
        label => "Blue Rabbit", } ) || die( $stripe->error );

Provided with a terminal reader{.perl-module} object or a hash reference, this will update a Stripe terminal reader and return its corresponding object{.perl-module}

Possible parameters are:

label

: The new label of the reader.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/terminal/readers/update

TEST HELPERS TEST CLOCK

You can advance, create, delete, list or retrieve test helpers test clock

advance

    my $obj = $stripe->test_helpers_test_clocks( advance => {
        frozen_time => "1662347484", } ) || die( $stripe->error );

Provided with a test helpers test clock{.perl-module}, or a hash reference, this will issue a advance api call.

A TestClock object with status Advancing is returned upon success. Otherwise, this call returns an error{.perl-module}.

Possible parameters are:

frozen_time

: Required. The time to advance the test clock. Must be after the test clock's current frozen time. Cannot be more than two intervals in the future from the shortest subscription in this test clock. If there are no subscriptions in this test clock, it cannot be more than two years in the future.

More information from Stripe api documentation at https://stripe.com/docs/api/test_clocks/advance

create {#create-67}

    my $obj = $stripe->test_helpers_test_clocks( create => {
        frozen_time => "1577836800", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::TestHelpersTestClock{.perl-module} object or a hash reference, this will create a Stripe test helpers test clock and return an Net::API::Stripe::Billing::TestHelpersTestClock{.perl-module} object.

Possible parameters are:

frozen_time

: Required. The initial frozen time for this test clock.

name

: The name for this test clock.

More information from Stripe api documentation at https://stripe.com/docs/api/test_clocks/create

delete

    my $obj = $stripe->test_helpers_test_clocks( delete => $args ) || die( $stripe->error );

Provided with a test helpers test clock{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the test helpers test clock. It returns the test helpers test clock object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/test_clocks/delete

list {#list-81}

    my $obj = $stripe->test_helpers_test_clocks( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a test helpers test clock{.perl-module} object, this issue an api call to get the list of all test helpers test clock.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/test_clocks/list

retrieve {#retrieve-83}

    my $obj = $stripe->test_helpers_test_clocks( retrieve => $args ) || die( $stripe->error );

Provided with a test helpers test clock{.perl-module} object or a hash reference, this will retrieve a Stripe test helpers test clock and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/test_clocks/retrieve

TOKEN

You can create, create_account, create_bank_account, create_card, create_cvc_update, create_person, create_pii or retrieve token

create_account

    my $obj = $stripe->tokens( create_account => {
        account =>
        {
            individual             =>
            {
                first_name => "Jane",
                last_name  => "Doe",
            }
            tos_shown_and_accepted => "1",
        } } ) || die( $stripe->error );

Provided with a token{.perl-module}, or a hash reference, this will issue a create_account api call.

Returns the created account token if successful. Otherwise, this call returns an error{.perl-module}.

Possible parameters are:

account

: Required. Information for the account this token will represent.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/create_account

create_bank_account

    my $obj = $stripe->tokens( create_bank_account => {
        bank_account =>
        {
            account_holder_name => "Jenny Rosen",
            account_holder_type => "individual",
            account_number      => "000123456789",
            country             => "US",
            currency            => "usd",
            routing_number      => "110000000",
        } } ) || die( $stripe->error );

Provided with a token{.perl-module}, or a hash reference, this will issue a create_bank_account api call.

Returns the created bank account token if successful. Otherwise, this call returns an error{.perl-module}.

Possible parameters are:

bank_account

: The bank account this token will represent.

customer

: The customer (owned by the application's account) for which to create a token. This can be used only with an OAuth access token{.perl-module} or Stripe-Account header{.perl-module}. For more details, see Cloning Saved Payment Methods{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/create_bank_account

create_card

    my $obj = $stripe->tokens( create_card => {
        card =>
        {
            cvc       => "314",
            exp_month => "9",
            exp_year  => "2023",
            number    => "4242424242424242",
        } } ) || die( $stripe->error );

Provided with a token{.perl-module}, or a hash reference, this will issue a create_card api call.

Returns the created card token if successful. Otherwise, this call raises an error{.perl-module}.

Possible parameters are:

card

: The card this token will represent. If you also pass in a customer, the card must be the ID of a card belonging to the customer. Otherwise, if you do not pass in a customer, this is a dictionary containing a user's credit card details, with the options described below.

customer

: The customer (owned by the application's account) for which to create a token. Also, this can be used only with an OAuth access token{.perl-module} or Stripe-Account header{.perl-module}. For more details, see Cloning Saved Payment Methods{.perl-module}.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/create_card

create_cvc_update

    my $obj = $stripe->tokens( create_cvc_update => {
        cvc_update =>
        {
            cvc => "123",
        } } ) || die( $stripe->error );

Provided with a token{.perl-module}, or a hash reference, this will issue a create_cvc_update api call.

Returns the created CVC update token if successful. Otherwise, this call raises an error{.perl-module}.

Possible parameters are:

cvc_update

: Required. The updated CVC value this token will represent.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/create_cvc_update

create_person

    my $obj = $stripe->tokens( create_person => {
        person =>
        {
            first_name   => "Jane",
            last_name    => "Doe",
            relationship =>
            {
                owner => "1",
            }
        } } ) || die( $stripe->error );

Provided with a token{.perl-module}, or a hash reference, this will issue a create_person api call.

Returns the created person token if successful. Otherwise, this call returns an error{.perl-module}.

Possible parameters are:

person

: Required. Information for the person this token will represent.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/create_person

create_pii

    my $obj = $stripe->tokens( create_pii => {
        pii =>
        {
            id_number => "000000000",
        } } ) || die( $stripe->error );

Provided with a token{.perl-module}, or a hash reference, this will issue a create_pii api call.

Returns the created PII token if successful. Otherwise, this call returns an error{.perl-module}.

Possible parameters are:

pii

: Required. The PII this token will represent.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/create_pii

retrieve {#retrieve-84}

    my $obj = $stripe->tokens( retrieve => $args ) || die( $stripe->error );

Provided with a token{.perl-module} object or a hash reference, this will retrieve a Stripe token and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/tokens/retrieve

TOPUP

You can cancel, create, list, retrieve or update topup

cancel

    my $obj = $stripe->topups( cancel => $args ) || die( $stripe->error );

Provided with a topup{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the canceled top-up. If the top-up is already canceled or can't be canceled, an error is returned.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/topups/cancel

create {#create-68}

    my $obj = $stripe->topups( create => {
        amount               => "2000",
        currency             => "usd",
        description          => "Top-up for Jenny Rosen",
        statement_descriptor => "Top-up", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::TopUp{.perl-module} object or a hash reference, this will create a Stripe topup and return an Net::API::Stripe::Connect::TopUp{.perl-module} object.

Possible parameters are:

amount

: Required. A positive integer representing how much to transfer.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

source

: The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see Testing Top-ups{.perl-module}).

statement_descriptor

: Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters.

transfer_group

: A string that identifies this top-up as part of a group.

More information from Stripe api documentation at https://stripe.com/docs/api/topups/create

list {#list-82}

    my $obj = $stripe->topups( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a topup{.perl-module} object, this issue an api call to get the list of all topup.

Possible parameters are:

amount

: A filter on the list based on the object amount field. The value can be a string with an integer amount, or it can be a dictionary with the following options:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return top-ups that have the given status. One of canceled, failed, pending or succeeded.

More information from Stripe api documentation at https://stripe.com/docs/api/topups/list

retrieve {#retrieve-85}

    my $obj = $stripe->topups( retrieve => $args ) || die( $stripe->error );

Provided with a topup{.perl-module} object or a hash reference, this will retrieve a Stripe topup and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/topups/retrieve

update

    my $obj = $stripe->topups( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a topup{.perl-module} object or a hash reference, this will update a Stripe topup and return its corresponding object{.perl-module}

Possible parameters are:

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/topups/update

TRANSFER

You can create, list, retrieve or update transfer

create {#create-69}

    my $obj = $stripe->transfers( create => {
        amount         => "400",
        currency       => "usd",
        destination    => "acct_1032D82eZvKYlo2C",
        transfer_group => "ORDER_95", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::Transfer{.perl-module} object or a hash reference, this will create a Stripe transfer and return an Net::API::Stripe::Connect::Transfer{.perl-module} object.

Possible parameters are:

amount

: required A positive integer in JPY representing how much to transfer.

currency

: Required. 3-letter ISO code for currency{.perl-module}.

description

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

destination

: Required. The ID of a connected Stripe account. <a href="/docs/connect/charges-transfers">See the Connect documentation</a> for details.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

source_transaction

: You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. See the Connect documentation{.perl-module} for details.

source_type

: The source balance to use for this transfer. One of bank_account, card, or fpx. For most users, this will default to card.

transfer_group

: A string that identifies this transaction as part of a group. See the Connect documentation{.perl-module} for details.

More information from Stripe api documentation at https://stripe.com/docs/api/transfers/create

list {#list-83}

    my $obj = $stripe->transfers( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a transfer{.perl-module} object, this issue an api call to get the list of all transfer.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

destination

: Only return transfers for the destination specified by this account ID.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

transfer_group

: Only return transfers with the specified transfer group.

More information from Stripe api documentation at https://stripe.com/docs/api/transfers/list

retrieve {#retrieve-86}

    my $obj = $stripe->transfers( retrieve => $args ) || die( $stripe->error );

Provided with a transfer{.perl-module} object or a hash reference, this will retrieve a Stripe transfer and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/transfers/retrieve

update

    my $obj = $stripe->transfers( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a transfer{.perl-module} object or a hash reference, this will update a Stripe transfer and return its corresponding object{.perl-module}

Possible parameters are:

description

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

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/transfers/update

TRANSFER REVERSAL

You can create, list, retrieve or update transfer reversal

create {#create-70}

    my $obj = $stripe->transfer_reversals( create => {
        amount => "100", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Connect::Transfer::Reversal{.perl-module} object or a hash reference, this will create a Stripe transfer reversal and return an Net::API::Stripe::Connect::Transfer::Reversal{.perl-module} object.

Possible parameters are:

amount

: A positive integer in JPY representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount.

description

: An arbitrary string which you can attach to a reversal object. It is displayed alongside the reversal in the Dashboard. This will be unset if you POST an empty value.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

refund_application_fee

: Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed.

More information from Stripe api documentation at https://stripe.com/docs/api/transfer_reversals/create

list {#list-84}

    my $obj = $stripe->transfer_reversals( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a transfer reversal{.perl-module} object, this issue an api call to get the list of all transfer reversal.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/transfer_reversals/list

retrieve {#retrieve-87}

    my $obj = $stripe->transfer_reversals( retrieve => $args ) || die( $stripe->error );

Provided with a transfer reversal{.perl-module} object or a hash reference, this will retrieve a Stripe transfer reversal and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/transfer_reversals/retrieve

update

    my $obj = $stripe->transfer_reversals( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a transfer reversal{.perl-module} object or a hash reference, this will update a Stripe transfer reversal and return its corresponding object{.perl-module}

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More information from Stripe api documentation at https://stripe.com/docs/api/transfer_reversals/update

TREASURY CREDIT REVERSAL

You can create, list or retrieve treasury credit reversal

create {#create-71}

    my $obj = $stripe->treasury_credit_reversals( create => {
        received_credit => "rc_1Le9F42eZvKYlo2CM2wIU5bz", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Treasury::CreditReversal{.perl-module} object or a hash reference, this will create a Stripe treasury credit reversal and return an Net::API::Stripe::Treasury::CreditReversal{.perl-module} object.

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

received_credit

: Required. The ReceivedCredit to reverse.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/credit_reversals/create

list {#list-85}

    my $obj = $stripe->treasury_credit_reversals( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury credit reversal{.perl-module} object, this issue an api call to get the list of all treasury credit reversal.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

received_credit

: Only return CreditReversals for the ReceivedCredit ID.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return CreditReversals for a given status.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/credit_reversals/list

retrieve {#retrieve-88}

    my $obj = $stripe->treasury_credit_reversals( retrieve => $args ) || die( $stripe->error );

Provided with a treasury credit reversal{.perl-module} object or a hash reference, this will retrieve a Stripe treasury credit reversal and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/credit_reversals/retrieve

TREASURY DEBIT REVERSAL

You can create, list or retrieve treasury debit reversal

create {#create-72}

    my $obj = $stripe->treasury_debit_reversals( create => {
        received_debit => "rd_1Le9F42eZvKYlo2C0TIJJqNP", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Treasury::DebitReversal{.perl-module} object or a hash reference, this will create a Stripe treasury debit reversal and return an Net::API::Stripe::Treasury::DebitReversal{.perl-module} object.

Possible parameters are:

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

received_debit

: Required. The ReceivedDebit to reverse.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/debit_reversals/create

list {#list-86}

    my $obj = $stripe->treasury_debit_reversals( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury debit reversal{.perl-module} object, this issue an api call to get the list of all treasury debit reversal.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

received_debit

: Only return DebitReversals for the ReceivedDebit ID.

resolution

: Only return DebitReversals for a given resolution.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return DebitReversals for a given status.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/debit_reversals/list

retrieve {#retrieve-89}

    my $obj = $stripe->treasury_debit_reversals( retrieve => $args ) || die( $stripe->error );

Provided with a treasury debit reversal{.perl-module} object or a hash reference, this will retrieve a Stripe treasury debit reversal and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/debit_reversals/retrieve

TREASURY FINANCIAL ACCOUNT

You can create, list, retrieve or update treasury financial account

create {#create-73}

    my $obj = $stripe->treasury_financial_accounts( create => {
        features             =>
        {
        }
        supported_currencies => [qw( usd )], } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Treasury::FinancialAccount{.perl-module} object or a hash reference, this will create a Stripe treasury financial account and return an Net::API::Stripe::Treasury::FinancialAccount{.perl-module} object.

Possible parameters are:

features

: Encodes whether a FinancialAccount has access to a particular feature. Stripe or the platform can control features via the requested field.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

platform_restrictions

: The set of functionalities that the platform can restrict on the FinancialAccount.

supported_currencies

: Required. The currencies the FinancialAccount can hold a balance in.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/financial_accounts/create

list {#list-87}

    my $obj = $stripe->treasury_financial_accounts( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a treasury financial account{.perl-module} object, this issue an api call to get the list of all treasury financial account.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: An object ID cursor for use in pagination.

limit

: A limit ranging from 1 to 100 (defaults to 10).

starting_after

: An object ID cursor for use in pagination.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/financial_accounts/list

retrieve {#retrieve-90}

    my $obj = $stripe->treasury_financial_accounts( retrieve => $args ) || die( $stripe->error );

Provided with a treasury financial account{.perl-module} object or a hash reference, this will retrieve a Stripe treasury financial account and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/financial_accounts/retrieve

update

    my $obj = $stripe->treasury_financial_accounts( update => {
        metadata =>
        {
            order_id => "6735",
        } } ) || die( $stripe->error );

Provided with a treasury financial account{.perl-module} object or a hash reference, this will update a Stripe treasury financial account and return its corresponding object{.perl-module}

Possible parameters are:

features

: Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated status_details. Stripe or the platform may control features via the requested field.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

platform_restrictions

: The set of functionalities that the platform can restrict on the FinancialAccount.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/financial_accounts/update

TREASURY FINANCIAL ACCOUNT FEATURES

You can retrieve or update treasury financial account features

retrieve {#retrieve-91}

    my $obj = $stripe->treasury_financial_account_featuress( retrieve => $args ) || die( $stripe->error );

Provided with a treasury financial account features{.perl-module} object or a hash reference, this will retrieve a Stripe treasury financial account features and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/financial_account_features/retrieve

update

    my $obj = $stripe->treasury_financial_account_featuress( update => {
        card_issuing =>
        {
            requested => "0",
        } } ) || die( $stripe->error );

Provided with a treasury financial account features{.perl-module} object or a hash reference, this will update a Stripe treasury financial account features and return its corresponding object{.perl-module}

Possible parameters are:

card_issuing

: Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.

deposit_insurance

: Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.

financial_addresses

: Contains Features that add FinancialAddresses to the FinancialAccount.

inbound_transfers

: Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.

intra_stripe_flows

: Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).

outbound_payments

: Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.

outbound_transfers

: Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/financial_account_features/update

TREASURY INBOUND TRANSFER

You can cancel, create, fail, list, retrieve, return or succeed treasury inbound transfer

cancel

    my $obj = $stripe->treasury_inbound_transfers( cancel => $args ) || die( $stripe->error );

Provided with a treasury inbound transfer{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the InboundTransfer object if the cancellation succeeded. Returns an error if the InboundTransfer has already been canceled or cannot be canceled.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/cancel

create {#create-74}

    my $obj = $stripe->treasury_inbound_transfers( create => {
        amount                => "10000",
        currency              => "usd",
        description           => "InboundTransfer from my bank account",
        financial_account     => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        origin_payment_method => "pm_1KMDdkGPnV27VyGeAgGz8bsi", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Treasury::InboundTransfer{.perl-module} object or a hash reference, this will create a Stripe treasury inbound transfer and return an Net::API::Stripe::Treasury::InboundTransfer{.perl-module} object.

Possible parameters are:

amount

: Required. Amount (in cents) to be transferred.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

description

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

financial_account

: Required. The FinancialAccount to send funds to.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

origin_payment_method

: Required. The origin payment method to be debited for the InboundTransfer.

statement_descriptor

: The complete description that appears on your customers' statements. Maximum 10 characters.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/create

fail

    my $obj = $stripe->treasury_inbound_transfers( fail => {
        failure_details =>
        {
            code => "insufficient_funds",
        } } ) || die( $stripe->error );

Provided with a treasury inbound transfer{.perl-module}, or a hash reference, this will issue a fail api call.

Returns the InboundTransfer object in the returned state. Returns an error if the InboundTransfer has already failed or cannot be failed.

Possible parameters are:

failure_details

: Details about a failed InboundTransfer.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/test_mode_fail

list {#list-88}

    my $obj = $stripe->treasury_inbound_transfers( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury inbound transfer{.perl-module} object, this issue an api call to get the list of all treasury inbound transfer.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return InboundTransfers that have the given status: processing, succeeded, failed or canceled.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/list

retrieve {#retrieve-92}

    my $obj = $stripe->treasury_inbound_transfers( retrieve => $args ) || die( $stripe->error );

Provided with a treasury inbound transfer{.perl-module} object or a hash reference, this will retrieve a Stripe treasury inbound transfer and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/retrieve

return

    my $obj = $stripe->treasury_inbound_transfers( return => $args ) || die( $stripe->error );

Provided with a treasury inbound transfer{.perl-module}, or a hash reference, this will issue a return api call.

Returns the InboundTransfer object with returned set to true. Returns an error if the InboundTransfer has already been returned or cannot be returned.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/test_mode_return

succeed

    my $obj = $stripe->treasury_inbound_transfers( succeed => $args ) || die( $stripe->error );

Provided with a treasury inbound transfer{.perl-module}, or a hash reference, this will issue a succeed api call.

Returns the InboundTransfer object in the succeeded state. Returns an error if the InboundTransfer has already succeeded or cannot be succeeded.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/inbound_transfers/test_mode_succeed

TREASURY OUTBOUND PAYMENT

You can cancel, create, fail, list, post, retrieve or return treasury outbound payment

cancel

    my $obj = $stripe->treasury_outbound_payments( cancel => $args ) || die( $stripe->error );

Provided with a treasury outbound payment{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the OutboundPayment object if the cancellation succeeded. Returns an error if the OutboundPayment has already been canceled or cannot be canceled.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/cancel

create {#create-75}

    my $obj = $stripe->treasury_outbound_payments( create => {
        amount                     => "10000",
        currency                   => "usd",
        customer                   => "cus_AJ78ZaALpqgiuZ",
        description                => "OutboundPayment to a 3rd party",
        destination_payment_method => "pm_1Le9F42eZvKYlo2Cy9Yph0k5",
        financial_account          => "fa_1Le9F32eZvKYlo2CjbQcDQUE", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Treasury::OutboundPayment{.perl-module} object or a hash reference, this will create a Stripe treasury outbound payment and return an Net::API::Stripe::Treasury::OutboundPayment{.perl-module} object.

Possible parameters are:

amount

: Required. Amount (in cents) to be transferred.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

customer

: ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the destination_payment_method passed in.

description

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

destination_payment_method

: The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with destination_payment_method_data.

destination_payment_method_data

: Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with destination_payment_method.

destination_payment_method_options

: Payment method-specific configuration for this OutboundPayment.

end_user_details

: End user details.

financial_account

: Required. The FinancialAccount to pull funds from.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

statement_descriptor

: The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for ach payments, 140 characters for wire payments, or 500 characters for stripe network transfers. The default value is payment.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/create

fail

    my $obj = $stripe->treasury_outbound_payments( fail => $args ) || die( $stripe->error );

Provided with a treasury outbound payment{.perl-module}, or a hash reference, this will issue a fail api call.

Returns the OutboundPayment object in the failed state. Returns an error if the OutboundPayment has already been failed or cannot be failed.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/test_mode_fail

list {#list-89}

    my $obj = $stripe->treasury_outbound_payments( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury outbound payment{.perl-module} object, this issue an api call to get the list of all treasury outbound payment.

Possible parameters are:

customer

: Only return OutboundPayments sent to this customer.

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return OutboundPayments that have the given status: processing, failed, posted, returned, or canceled.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/list

post

    my $obj = $stripe->treasury_outbound_payments( post => $args ) || die( $stripe->error );

Provided with a treasury outbound payment{.perl-module}, or a hash reference, this will issue a post api call.

Returns the OutboundPayment object in the posted state. Returns an error if the OutboundPayment has already been posted or cannot be posted.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/test_mode_post

retrieve {#retrieve-93}

    my $obj = $stripe->treasury_outbound_payments( retrieve => $args ) || die( $stripe->error );

Provided with a treasury outbound payment{.perl-module} object or a hash reference, this will retrieve a Stripe treasury outbound payment and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/retrieve

return

    my $obj = $stripe->treasury_outbound_payments( return => {
        return_details =>
        {
            code => "account_closed",
        } } ) || die( $stripe->error );

Provided with a treasury outbound payment{.perl-module}, or a hash reference, this will issue a return api call.

Returns the OutboundPayment object in the returned state. Returns an error if the OutboundPayment has already been returned or cannot be returned.

Possible parameters are:

returned_details

: Optional hash to set the the return code.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_payments/test_mode_return

TREASURY OUTBOUND TRANSFER

You can cancel, create, fail, list, post, retrieve or return treasury outbound transfer

cancel

    my $obj = $stripe->treasury_outbound_transfers( cancel => $args ) || die( $stripe->error );

Provided with a treasury outbound transfer{.perl-module}, or a hash reference, this will issue a cancel api call.

Returns the OutboundTransfer object if the cancellation succeeded. Returns an error if the object has already been canceled or cannot be canceled.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/cancel

create {#create-76}

    my $obj = $stripe->treasury_outbound_transfers( create => {
        amount                     => "500",
        currency                   => "usd",
        description                => "OutboundTransfer to my external bank account",
        destination_payment_method => "pm_1234567890",
        financial_account          => "fa_1Le9F32eZvKYlo2CjbQcDQUE", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Treasury::OutboundTransfer{.perl-module} object or a hash reference, this will create a Stripe treasury outbound transfer and return an Net::API::Stripe::Treasury::OutboundTransfer{.perl-module} object.

Possible parameters are:

amount

: Required. Amount (in cents) to be transferred.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

description

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

destination_payment_method

: The PaymentMethod to use as the payment instrument for the OutboundTransfer.

destination_payment_method_options

: Hash describing payment method configuration details.

financial_account

: Required. The FinancialAccount to pull funds from.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

statement_descriptor

: Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for ach transfers or 140 characters for wire transfers. The default value is transfer.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/create

fail

    my $obj = $stripe->treasury_outbound_transfers( fail => $args ) || die( $stripe->error );

Provided with a treasury outbound transfer{.perl-module}, or a hash reference, this will issue a fail api call.

Returns the OutboundTransfer object in the failed state. Returns an error if the OutboundTransfer has already been failed or cannot be failed.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/test_mode_fail

list {#list-90}

    my $obj = $stripe->treasury_outbound_transfers( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury outbound transfer{.perl-module} object, this issue an api call to get the list of all treasury outbound transfer.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return OutboundTransfers that have the given status: processing, canceled, failed, posted, or returned.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/list

post

    my $obj = $stripe->treasury_outbound_transfers( post => $args ) || die( $stripe->error );

Provided with a treasury outbound transfer{.perl-module}, or a hash reference, this will issue a post api call.

Returns the OutboundTransfer object in the posted state. Returns an error if the OutboundTransfer has already been posted or cannot be posted.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/test_mode_post

retrieve {#retrieve-94}

    my $obj = $stripe->treasury_outbound_transfers( retrieve => $args ) || die( $stripe->error );

Provided with a treasury outbound transfer{.perl-module} object or a hash reference, this will retrieve a Stripe treasury outbound transfer and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/retrieve

return

    my $obj = $stripe->treasury_outbound_transfers( return => {
        code => "declined", } ) || die( $stripe->error );

Provided with a treasury outbound transfer{.perl-module}, or a hash reference, this will issue a return api call.

Returns the OutboundTransfer object in the returned state. Returns an error if the OutboundTransfer has already been returned or cannot be returned.

Possible parameters are:

returned_details

: Details about a returned OutboundTransfer.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/outbound_transfers/test_mode_return

TREASURY RECEIVED CREDIT

You can list, received_credit or retrieve treasury received credit

list {#list-91}

    my $obj = $stripe->treasury_received_credits( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury received credit{.perl-module} object, this issue an api call to get the list of all treasury received credit.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. The FinancialAccount that received the funds.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

linked_flows

: Only return ReceivedCredits described by the flow.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return ReceivedCredits that have the given status: succeeded or failed.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/received_credits/list

received_credit

    my $obj = $stripe->treasury_received_credits( received_credit => {
        amount            => "1000",
        currency          => "usd",
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        network           => "ach", } ) || die( $stripe->error );

Provided with a treasury received credit{.perl-module}, or a hash reference, this will issue a received_credit api call.

A test mode ReceivedCredit object.

Possible parameters are:

amount

: Required. Amount (in cents) to be transferred.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

description

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

financial_account

: Required. The FinancialAccount to send funds to.

initiating_payment_method_details

: Initiating payment method details for the object.

network

: Required. The rails used for the object.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/received_credits/test_mode_create

retrieve {#retrieve-95}

    my $obj = $stripe->treasury_received_credits( retrieve => $args ) || die( $stripe->error );

Provided with a treasury received credit{.perl-module} object or a hash reference, this will retrieve a Stripe treasury received credit and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/received_credits/retrieve

TREASURY RECEIVED DEBIT

You can list, received_debit or retrieve treasury received debit

list {#list-92}

    my $obj = $stripe->treasury_received_debits( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury received debit{.perl-module} object, this issue an api call to get the list of all treasury received debit.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. The FinancialAccount that funds were pulled from.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return ReceivedDebits that have the given status: succeeded or failed.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/received_debits/list

received_debit

    my $obj = $stripe->treasury_received_debits( received_debit => {
        amount            => "1000",
        currency          => "usd",
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        network           => "ach", } ) || die( $stripe->error );

Provided with a treasury received debit{.perl-module}, or a hash reference, this will issue a received_debit api call.

A test mode ReceivedDebit object.

Possible parameters are:

amount

: Required. Amount (in cents) to be transferred.

currency

: Required. Three-letter ISO currency code{.perl-module}, in lowercase. Must be a supported currency{.perl-module}.

description

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

financial_account

: Required. The FinancialAccount to pull funds from.

initiating_payment_method_details

: Initiating payment method details for the object.

network

: Required. The rails used for the object.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/received_debits/test_mode_create

retrieve {#retrieve-96}

    my $obj = $stripe->treasury_received_debits( retrieve => $args ) || die( $stripe->error );

Provided with a treasury received debit{.perl-module} object or a hash reference, this will retrieve a Stripe treasury received debit and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/received_debits/retrieve

TREASURY TRANSACTION

You can list or retrieve treasury transaction

list {#list-93}

    my $obj = $stripe->treasury_transactions( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury transaction{.perl-module} object, this issue an api call to get the list of all treasury transaction.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

order_by

: The results are in reverse chronological order by created or posted_at. The default is created.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status

: Only return Transactions that have the given status: open, posted, or void.

status_transitions

: A filter for the status_transitions.posted_at timestamp. When using this filter, status=posted and order_by=posted_at must also be specified.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/transactions/list

retrieve {#retrieve-97}

    my $obj = $stripe->treasury_transactions( retrieve => $args ) || die( $stripe->error );

Provided with a treasury transaction{.perl-module} object or a hash reference, this will retrieve a Stripe treasury transaction and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/transactions/retrieve

TREASURY TRANSACTION ENTRY

You can list or retrieve treasury transaction entry

list {#list-94}

    my $obj = $stripe->treasury_transaction_entrys( list => {
        financial_account => "fa_1Le9F32eZvKYlo2CjbQcDQUE",
        limit             => "3", } ) || die( $stripe->error );

Provided with a treasury transaction entry{.perl-module} object, this issue an api call to get the list of all treasury transaction entry.

Possible parameters are:

created

: A filter on the list based on the object created field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

effective_at

: A filter on the list based on the object effective_at field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

financial_account

: Required. Returns objects associated with this FinancialAccount.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

order_by

: The results are in reverse chronological order by created or effective_at. The default is created.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

transaction

: Only return TransactionEntries associated with this Transaction.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/transaction_entries/list

retrieve {#retrieve-98}

    my $obj = $stripe->treasury_transaction_entrys( retrieve => $args ) || die( $stripe->error );

Provided with a treasury transaction entry{.perl-module} object or a hash reference, this will retrieve a Stripe treasury transaction entry and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/treasury/transaction_entries/retrieve

USAGE RECORD

You can create or list usage record

create {#create-77}

    my $obj = $stripe->usage_records( create => {
        quantity  => "100",
        timestamp => "1571252444", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::Billing::UsageRecord{.perl-module} object or a hash reference, this will create a Stripe usage record and return an Net::API::Stripe::Billing::UsageRecord{.perl-module} object.

Possible parameters are:

action

: Valid values are increment (default) or set. When using increment the specified quantity will be added to the usage at the specified timestamp. The set action will overwrite the usage quantity at that timestamp. If the subscription has billing thresholds{.perl-module}, increment is the only allowed value.

quantity

: Required. The usage quantity for the specified timestamp.

timestamp

: The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided subscription_item, and must not be in the future. When passing "now", Stripe records usage for the current time. Default is "now" if a value is not provided.

More information from Stripe api documentation at https://stripe.com/docs/api/usage_records/create

list {#list-95}

    my $obj = $stripe->usage_records( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a usage record{.perl-module} object, this issue an api call to get the list of all usage record.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/usage_records/subscription_item_summary_list

WEBHOOK ENDPOINT

You can create, delete, list, retrieve or update webhook endpoint

create {#create-78}

    my $obj = $stripe->webhook_endpoints( create => {
        enabled_events => [qw( charge.failed charge.succeeded )],
        url            => "https://example.com/my/webhook/endpoint", } ) || die( $stripe->error );

Provided with a Net::API::Stripe::WebHook::Object{.perl-module} object or a hash reference, this will create a Stripe webhook endpoint and return an Net::API::Stripe::WebHook::Object{.perl-module} object.

Possible parameters are:

api_version

: Events sent to this endpoint will be generated with this Stripe Version instead of your account's default Stripe Version.

connect

: Whether this endpoint should receive events from connected accounts (true), or from your account (false). Defaults to false.

description

: An optional description of what the webhook is used for.

enabled_events

: Required. The list of events to enable for this endpoint. You may specify ['*'] to enable all events, except those that require explicit selection.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

url

: Required. The URL of the webhook endpoint.

More information from Stripe api documentation at https://stripe.com/docs/api/webhook_endpoints/create

delete

    my $obj = $stripe->webhook_endpoints( delete => $args ) || die( $stripe->error );

Provided with a webhook endpoint{.perl-module}, or a hash reference, this will issue an api call to Stripe to remove the webhook endpoint. It returns the webhook endpoint object that was deleted with its property deleted set to true.

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/webhook_endpoints/delete

list {#list-96}

    my $obj = $stripe->webhook_endpoints( list => {
        limit => "3", } ) || die( $stripe->error );

Provided with a webhook endpoint{.perl-module} object, this issue an api call to get the list of all webhook endpoint.

Possible parameters are:

ending_before

: A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

limit

: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after

: A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

More information from Stripe api documentation at https://stripe.com/docs/api/webhook_endpoints/list

retrieve {#retrieve-99}

    my $obj = $stripe->webhook_endpoints( retrieve => $args ) || die( $stripe->error );

Provided with a webhook endpoint{.perl-module} object or a hash reference, this will retrieve a Stripe webhook endpoint and return its corresponding object{.perl-module}

There are no query parameter.

More information from Stripe api documentation at https://stripe.com/docs/api/webhook_endpoints/retrieve

update

    my $obj = $stripe->webhook_endpoints( update => {
        url => "https://example.com/new_endpoint", } ) || die( $stripe->error );

Provided with a webhook endpoint{.perl-module} object or a hash reference, this will update a Stripe webhook endpoint and return its corresponding object{.perl-module}

Possible parameters are:

description

: An optional description of what the webhook is used for.

disabled

: Disable the webhook endpoint if set to true.

enabled_events

: The list of events to enable for this endpoint. You may specify ['*'] to enable all events, except those that require explicit selection.

metadata

: Set of key-value pairs{.perl-module} that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

url

: The URL of the webhook endpoint.

More information from Stripe api documentation at https://stripe.com/docs/api/webhook_endpoints/update

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

https://stripe.com/docs/upgrades for Stripe API version history.

AUTHOR

Jacques Deguest <jack@deguest.jp{classes="ARRAY(0x55bbe6b0ed60)"}>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api

List of server-side libraries: https://stripe.com/docs/libraries#server-side-libraries

Net::Stripe{.perl-module}, another Stripe API, but which uses Moose

COPYRIGHT & LICENSE

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

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