NAME Net::API::Stripe - An interface to Stripe API 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.0.7 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. It inherits from Module::Generic and Net::API::Stripe sub modules inherits from Net::API::Stripe::Generic CONSTRUCTOR new( %ARG ) Creates a new Net::API::Stripe objects. It may also take an hash like arguments, that also are method 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 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 object. account_link Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Account::Link object. address Provided with optional hash parameters, this returns a Net::API::Stripe::Address object. amount Provided with a number, this returns a Module::Generic::Number object, which extends Number::Format api_uri Returns the URI object of the Stripe api. application_fee Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ApplicationFee object. application_fee_refund Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ApplicationFee::Refund object. authorization Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Authorization object. balance Provided with optional hash parameters, this returns a Net::API::Stripe::Balance object. balance_transaction Provided with optional hash parameters, this returns a Net::API::Stripe::Balance::Transaction object. bank_account Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ExternalAccount::Bank object. browser Set or get the user agent string used when making calls to Stripe API. capability Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Account::Capability object. card_holder Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Card::Holder object. card Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::ExternalAccount::Card object. charge Provided with optional hash parameters, this returns a Net::API::Stripe::Charge 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" ); 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 object. country_spec Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::CountrySpec object. coupon Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Coupon object. credit_note Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::CreditNote 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 object. customer_balance_transaction Provided with optional hash parameters, this returns a Net::API::Stripe::Customer::BalanceTransaction object. customer_tax_id Provided with optional hash parameters, this returns a Net::API::Stripe::Customer::TaxId 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 object). discount Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Discount object. dispute Provided with optional hash parameters, this returns a Net::API::Stripe::Dispute 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 object. expand Integer. Sets or get the depth of Stripe object expansion. See Stripe api documentation for more information: 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 object. file_link Provided with optional hash parameters, this returns a Net::API::Stripe::File::Link object. fraud Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud object. generate_uuid Returns a uuid version 4. This uses Data::UUID 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 object. http_client This returns the LWP::UserAgent object and create it if it is not yet instantiated. http_request Get or set the HTTP::Request based on the data provided. http_response Get or set the HTTP::Response based on the data provided. 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 object. invoice_item Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice::Item object. invoice_line_item Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice::LineItem object. invoice_settings Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Invoice::Settings object. issuing_card Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Card object. issuing_dispute Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Dispute object. issuing_transaction Provided with optional hash parameters, this returns a Net::API::Stripe::Issuing::Transaction 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 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 object. login_link Provided with optional hash parameters this returns a Net::API::Stripe::Connect::Account::LoginLink object. order Provided with optional hash parameters, this returns a Net::API::Stripe::Order object. order_item Provided with optional hash parameters, this returns a Net::API::Stripe::Order::Item object. payment_intent Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Intent object. payment_method Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Method object. payout Provided with optional hash parameters, this returns a Net::API::Stripe::Payout object. person Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Person object. plan Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Plan 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" 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" method. This method is used primarily when upload file. See the section below on "FILES" product Provided with optional hash parameters, this returns a Net::API::Stripe::Product object. reader Provided with optional hash parameters, this returns a Net::API::Stripe::Terminal::Reader object. refund Provided with optional hash parameters, this returns a Net::API::Stripe::Refund object. return Provided with optional hash parameters, this returns a Net::API::Stripe::Order::Return object. review Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud::Review object. schedule Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Subscription::Schedule object. session Provided with optional hash parameters, this returns a Net::API::Stripe::Session object. schedule_query Provided with optional hash parameters, this returns a Net::API::Stripe::Sigma::ScheduledQueryRun object. session Provided with optional hash parameters, this returns a Net::API::Stripe::Checkout::Session object. setup_intent Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Intent::Setup object. shipping Provided with optional hash parameters, this returns a Net::API::Stripe::Shipping object. sku Provided with optional hash parameters, this returns a Net::API::Stripe::Order::SKU object. source Provided with optional hash parameters, this returns a Net::API::Stripe::Payment::Source object. subscription Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Subscription object. subscription_item Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::Subscription::Item object. tax_ids Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::TaxID object. tax_rate Provided with optional hash parameters, this returns a Net::API::Stripe::Tax::Rate object. token Provided with optional hash parameters, this returns a Net::API::Stripe::Token object. topup Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::TopUp object. transfer Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Transfer object. transfer_reversal Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Transfer::Reversal object. usage_record Provided with optional hash parameters, this returns a Net::API::Stripe::Billing::UsageRecord object. value_list Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud::ValueList object. value_list_item Provided with optional hash parameters, this returns a Net::API::Stripe::Fraud::ValueList::Item object. version Set or get the api version. This must be set on the Stripe dashboard webhook Provided with optional hash parameters, this returns a Net::API::Stripe::WebHook::Object object. transfer Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Transfer object. transfer Provided with optional hash parameters, this returns a Net::API::Stripe::Connect::Transfer object. BALANCE You can retrieve the account balance. retrieve Provided a "balance" object or an id, this returns a Net::API::Stripe::Balance object or undef upon error. ERROR HANDLING Net::API::Stripe 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" method, such as: my $prod = $stripe->products( retrieve => $prod_id ) || die( $stripe->error, "\n" ); The error method returns the Module::Generic::Exception set. Please refer to the manual page of "error" in Module::Generic 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 type The error type, if any DATES AND DATETIME Everywhere Stripe returns a date or datetime, Net::API::Stripe will return a DateTime object so one can call the method like this: printf( "Object was created on %s\n", $product->created->iso8601 ); NUMBERS When a number is returned by Stripe, Net::API::Stripe will return a Module::Generic::Number, so one could call the method representing a number like this: printf( "Charge was %s\n", $charge->amount->format_money( 2, '€' ) ); # Assuming the charge amount is 100, this would produce: €100.00 API ACCESS METHODS All api access methods below from "BALANCE TRANSACTIONS" and below also take the *expand* parameter, which can have value 'all' to expand all possible objects, or it can have an integer to set the depth of expanstion or it can be an array reference of object properties to expand. Sub levels of expansion are noted by a dot between properties. my $cust = $stripe->customers( retrieve => { id => $customer_id, expand => [qw( invoice_settings.default_payment_method invoice_settings.default_payment_method.customer )] }) When providing an object as a parameter to an api method, *expand* will always set automatically to "all". BALANCES You an retrieve balances. retrieve Provided with a Net::API::Stripe::Balance object, or a hash reference, this will retrieve a Stripe balance and return its Net::API::Stripe::Balance object. There is no argument. 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 object of Net::API::Stripe::Balance::Transaction objects. Valid parameters are as follows. See Stripe API for more information: my $list = $stripe->balance_transactions( 'list' ) || die( $stripe->error ); while( my $bt = $list->next ) { printf( <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 Provided a "balance_transaction" object or an id, this returns a Net::API::Stripe::Balance::Transaction object or undef upon error. BANK ACCOUNT You can create, retrieve, update, delete or list bank acounts. create Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank 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 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: retrieve Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank 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 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: update Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank 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 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: delete Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank 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 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: list Provided wuth a bank account object Net::API::Stripe::Connect::ExternalAccount::Bank 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 Possible parameters are: *account* A Stripe account id. This is required. For more information see Stripe documentation here: CARD You can create, retrieve, update, delete or list cards. create Provided a customer object Net::API::Stripe::Customer or a card object Net::API::Stripe::Payment::Card 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 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 retrieve Provided a customer object Net::API::Stripe::Customer or a card object Net::API::Stripe::Payment::Card 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 object Possible parameters are: *id* Stripe card id *customer* Stripe customer id update Provided a customer object Net::API::Stripe::Customer or a card object Net::API::Stripe::Payment::Card 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 delete Provided with a customer or a card 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 as 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 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: CHARGE You can create, retrieve, update, capture or list charges. create Provided with a Net::API::Stripe::Charge object or a hash reference, this will create a Stripe charge and return a charge object Net::API::Stripe::Charge 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 *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: retrieve Provided with a Net::API::Stripe::Charge object or a hash reference, this will retrieve a Stripe charge and return its corresponding charge object Net::API::Stripe::Charge Possible parameters are: *id* Stripe charge id. This is required For more information see Stripe documentation here: update Provided with a Net::API::Stripe::Charge object or a hash reference, this will update a Stripe charge and return its corresponding charge object Net::API::Stripe::Charge 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 *transfer_group* Text For more information see Stripe documentation here: capture Provided with a Net::API::Stripe::Charge object or a hash reference, this will capture a Stripe charge and return its corresponding charge object Net::API::Stripe::Charge 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: list This will list all the charges for a given customer and return a Net::API::Stripe::List 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: COUPONS You can create, retrieve, update, delete or list coupons. create Provided with a Net::API::Stripe::Billing::Coupon object or a hash reference, this will create a Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon 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: retrieve Provided with a Net::API::Stripe::Billing::Coupon object or a hash reference, this will retrieve a Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon. Possible parameters are: *id* A Stripe coupon id For more information see Stripe documentation here: update Provided with a Net::API::Stripe::Billing::Coupon object or a hash reference, this will update a Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon. Possible parameters are: *id* A Stripe coupon id *metadata* Arbitrary hash reference *name* String For more information see Stripe documentation here: delete Provided with a Net::API::Stripe::Billing::Coupon object or a hash reference, this will remove the Stripe coupon and return a coupon object Net::API::Stripe::Billing::Coupon with the property *deleted* set to true. For more information see Stripe documentation here: list This will list all the coupons and return a Net::API::Stripe::List 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: CREDIT NOTES You can preview, create, lines, lines_preview, retrieve, update, void or list credit notes. preview Provided with a Net::API::Stripe::Billing::CreditNote or a hash reference, this will create a Stripe credit note preview and return a Net::API::Stripe::Billing::CreditNote 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 create Provided with a Net::API::Stripe::Billing::CreditNote object or a hash reference, this will create a Stripe credit note and return a credit note Net::API::Stripe::Billing::CreditNote 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: lines Provided with a Net::API::Stripe::Billing::CreditNote object or a hash reference, this gets the list of all the credit note line items and return a Net::API::Stripe::List 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: lines_preview Provided with a Net::API::Stripe::Billing::CreditNote object or a hash reference, this gets the list of all the credit note preview line items and return a Net::API::Stripe::List 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: retrieve Provided with a Net::API::Stripe::Billing::CreditNote object or a hash reference, this will retrieve the Stripe credit note and return a Net::API::Stripe::Billing::CreditNote object Possible parameters are: *id* A Stripe credit note id For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Billing::CreditNote object or a hash reference, this will update a Stripe credit note and return a Net::API::Stripe::Billing::CreditNote 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: void Provided with a Net::API::Stripe::Billing::CreditNote object or a hash reference, this will void a Stripe credit note and return a Net::API::Stripe::Billing::CreditNote object Possible parameters are: *id* A Stripe credit note id. This is required For more information, see Stripe documentation here: list Given a set of optional parameters, this get the list of credit notes and return a Net::API::Stripe::List 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: CUSTOMERS You can create, retrieve, update, delete, delete_discount or list customers. create Provided with a Net::API::Stripe::Customer object or a hash reference, this will create a Stripe customer and return its Net::API::Stripe::Customer object. Possible parameters are: *account_balance* Integer *address* A Net::API::Stripe::Address 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 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 objects *tax_info* A Net::API::Stripe::Customer::TaxInfo object or a hash reference with the following properties: tax_id type For more information, see Stripe documentation here: retrieve Provided with a Net::API::Stripe::Customer object or a hash reference, this will retrieve a Stripe customer and return its Net::API::Stripe::Customer object. Possible parameters are: *id* A Stripe customer id. This is required. For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Customer object or a hash reference, this will update a Stripe customer and return its Net::API::Stripe::Customer object. Possible parameters are: *account_balance* Integer *address* A Net::API::Stripe::Address 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 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 objects *tax_info* A Net::API::Stripe::Customer::TaxInfo object or a hash reference with the following properties: tax_id type For more information, see Stripe documentation here: delete Provided with a Net::API::Stripe::Customer object or a hash reference, this will remove a Stripe customer and return its Net::API::Stripe::Customer 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: delete_discount Provided with a Net::API::Stripe::Customer object or a hash reference, this will remove a Stripe customer discount and return the discount removed as a Net::API::Stripe::Billing::Discount object. Possible parameters are: *id* A Stripe customer id. This is required. For more information, see Stripe documentation here: list Provided with some optional parameters, this will get a list of Stripe customers and return a Net::API::Stripe::List 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: DISCOUNTS You can execute the following options: delete_customer or delete_subscription, such as: $stripe->discounts( delete_customer => { customer => $customer_id, id => $discount_id }); They will call respectively "$self-"customers( delete_discount => @_ )> and "$self-"subscriptions( delete_discount => @_ )> DISPUTES You can close, retrieve, update or list disputes close Provided with a Net::API::Stripe::Dispute object or an hash reference and this will close a Stripe dispute and return Net::API::Stripe::Dispute object. Possible parameters are: *id* A Stripe dispute id. For more information, see Stripe documentation here: retrieve Provided with a Net::API::Stripe::Dispute or a hash reference of parameters, this will retrieve the Stripe dispute and return a Net::API::Stripe::Dispute object. Possible parameters are: *id* A Stripe dispute id. This is required. For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Dispute or a hash reference of parameters, this will update a Stripe dispute and return a Net::API::Stripe::Dispute 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: list 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 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: FILES You can create, retrieve or list files create Provided with a Net::API::Stripe::File or a hash reference of parameters, this will create a Stripe file and return a Net::API::Stripe::File 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: retrieve Provided with a Net::API::Stripe::File or a hash reference of parameters, this will retrieve the Stripe file and return a Net::API::Stripe::File object. Possible parameters are: *id* A Stripe file id. This is required. For more information, see Stripe documentation here: list 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 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: INVOICES You can create delete finalise lines lines_upcoming invoice_write_off upcoming pay retrieve send update void list invoices create Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference, this will create a Stripe invoice and return a Net::API::Stripe::Billing::Invoice 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: delete This is to remove draft invoice. When provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will remove the draft invoice and return a Net::API::Stripe::Billing::Invoice object. Possible parameters are: *id* A Stripe draft invoice id For more information, see Stripe documentation here: finalise When provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will set the draft invoice as finalised and return a Net::API::Stripe::Billing::Invoice object. Possible parameters are: *id* A Stripe draft invoice id *auto_advance* Boolean For more information, see Stripe documentation here: lines Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will retrieve the list of invoice lines and return a 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: lines_upcoming Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will retrieve the list of upcoming invoice lines and return a 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: invoice_write_off Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will write off an invoice and return its Net::API::Stripe::Billing::Invoice object. Possible parameters are: *id* A Stripe invoice id. This is required. For more information, see Stripe documentation here: upcoming Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will retrieve an upcoming invoice and return its Net::API::Stripe::Billing::Invoice 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: pay Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will mark an invoice as paid and return its Net::API::Stripe::Billing::Invoice 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: retrieve Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will retrieve an invoice and return its Net::API::Stripe::Billing::Invoice object. Possible parameters are: *id* A Stripe invoice id. This is required. For more information, see Stripe documentation here: send Provided with a Net::API::Stripe::Billing::Invoice 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 object. Possible parameters are: *id* A Stripe invoice id. This is required. For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will update an invoice and return its Net::API::Stripe::Billing::Invoice 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: void Provided with a Net::API::Stripe::Billing::Invoice object or an hash reference of parameters, this will void (i.e. cancel) an invoice and return its Net::API::Stripe::Billing::Invoice object. Possible parameters are: *id* A Stripe invoice id. This is required. For more information, see Stripe documentation here: list Provided with an hash reference of parameters, this returns a Net::API::Stripe::List 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: PAYMENT METHODS You can create, retrieve, update, list, attach, detach, payment methods. create Provided with a Net::API::Stripe::Payment::Method object or an hash reference and this will create a Stripe payment method and return its Net::API::Stripe::Payment::Method 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: retrieve Provided with a Net::API::Stripe::Payment::Method object or an hash reference and this will retrieve a Stripe payment method and return its Net::API::Stripe::Payment::Method object. Possible parameters are: *id* A Stripe payment method id. This is required For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Payment::Method object or an hash reference and this will update the Stripe payment method and return its Net::API::Stripe::Payment::Method 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: list Provided with an hash reference of parameters, and this will get a list of payment methods and return a Net::API::Stripe::List 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: attach Provided with a Net::API::Stripe::Customer or a Net::API::Stripe::Payment::Method 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 object. Possible parameters are: *id* A Stripe payment method id *customer* A Stripe customer id For more information, see Stripe documentation here: detach Provided with a Net::API::Stripe::Customer or a Net::API::Stripe::Payment::Method 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 object. Possible parameters are: *id* A Stripe payment method id For more information, see Stripe documentation here: PLANS You can create, retrieve, update, list, delete plans. create Provided with a Net::API::Stripe::Billing::Plan object or an hash reference of parameters and this will create a Stripe plan and return its Net::API::Stripe::Billing::Plan 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: retrieve Provided with a Net::API::Stripe::Billing::Plan object or an hash reference of parameters and this will retrieve a Stripe plan and return its Net::API::Stripe::Billing::Plan object. Possible parameters are: *id* A Stripe plan id For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Billing::Plan object or an hash reference of parameters and this will update a Stripe plan and return its Net::API::Stripe::Billing::Plan 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: list Provided with an hash reference of parameters, this will get the list of Stripe plans and return a Net::API::Stripe::List 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: delete Provided with a Net::API::Stripe::Billing::Plan object or an hash reference of parameters and this will remove a Stripe plan and return its Net::API::Stripe::Billing::Plan object. Possible parameters are: *id* A Stripe plan id. This is required For more information, see Stripe documentation here: PRICES You can create, retrieve, update, list products create Provided with a Net::API::Stripe::Price object or an hash reference of parameters and this will create a Stripe product and return its Net::API::Stripe::Price 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 *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 for details *tiers_mode* string *transfer_lookup_key* string *transform_quantity* number *unit_amount_decimal* number For more information, see Stripe documentation here: retrieve Provided with a Net::API::Stripe::Price object or an hash reference of parameters and this will retrieve a Stripe price and return its Net::API::Stripe::Price object Possible parameters are: *id* A Stripe price id For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Price object or an hash reference of parameters and this will update a Stripe price and return its updated Net::API::Stripe::Price object As per the Stripe documentation, "After prices are created, you can only update their metadata, nickname, and active fields." (see Products and Prices ) 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: list Provided with an hash reference of parameters, this will retrieve a list of Stripe prices and return a Net::API::Stripe::List 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 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: PRODUCTS You can create, retrieve, update, list, delete products create Provided with a Net::API::Stripe::Product object or an hash reference of parameters and this will create a Stripe product and return its Net::API::Stripe::Product 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: retrieve Provided with a Net::API::Stripe::Product object or an hash reference of parameters and this will retrieve a Stripe product and return its Net::API::Stripe::Product object Possible parameters are: *id* A Stripe product id For more information, see Stripe documentation here: 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: list Provided with an hash reference of parameters, this will retrieve a list of Stripe products and return a Net::API::Stripe::List 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: delete Provided with a Net::API::Stripe::Product object or an hash reference of parameters and this will remove a Stripe product and return its Net::API::Stripe::Product object with its property *deleted* set to true. Possible parameters are: *id* A Stripe product id For more information, see Stripe documentation here: SUBSCRIPTION SCHEDULES You can create, retrieve, update, list, cancel or release schedules create Provided with a Net::API::Stripe::Billing::Subscription::Schedule object or an hash reference of parameters and this will create a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule 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 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: retrieve Provided with a Net::API::Stripe::Billing::Subscription::Schedule object or an hash reference of parameters and this will retrieve a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule object. Possible parameters are: *id* A Stripe subscription schedule id For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Billing::Subscription::Schedule object or an hash reference of parameters and this will update a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule 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: list Provided with an hash reference of parameters this will get the list of subscription schedules and return a Net::API::Stripe::List 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: cancel Provided with a Net::API::Stripe::Billing::Subscription::Schedule object or an hash reference of parameters and this will cancel a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule object. Possible parameters are: *id* A Stripe subscription schedule. This is required. *invoice_now* Boolean *prorate* Boolean For more information, see Stripe documentation here: release Provided with a Net::API::Stripe::Billing::Subscription::Schedule object or an hash reference of parameters and this will release a Stripe subscription schedule and return a Net::API::Stripe::Billing::Subscription::Schedule object. Possible parameters are: *id* A Stripe subscription schedule. This is required. *preserve_cancel_date* Boolean For more information, see Stripe documentation here: CHECKOUT SESSIONS You can create or retrieve checkout sessions create Provided with a Net::API::Stripe::Checkout::Session object or an hash reference of parameters and this will create a Stripe checkout session and return a Net::API::Stripe::Checkout::Session 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: retrieve Provided with a Net::API::Stripe::Checkout::Session object or an hash reference of parameters and this will retrieve a Stripe checkout session and return a Net::API::Stripe::Checkout::Session object. Possible parameters are: *id* A Stripe checkout session For more information, see Stripe documentation here: list Provided with an hash reference of parameters, this will get the list of checkout sessions and return a Net::API::Stripe::List 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: SOURCES You can create, retrieve, update, detach or attach sources create Provided with Net::API::Stripe::Payment::Source object or an hash reference of parameters, this will create a Stripe source and return a Net::API::Stripe::Payment::Source 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: retrieve Provided with Net::API::Stripe::Payment::Source object or an hash reference of parameters, this will retrieve a Stripe source and return a Net::API::Stripe::Payment::Source object. Possible parameters are: *id* A Stripe source id For more information, see Stripe documentation here: update Provided with Net::API::Stripe::Payment::Source object or an hash reference of parameters, this will update a Stripe source and return a Net::API::Stripe::Payment::Source 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: detach Provided with a Net::API::Stripe::Customer object or a Net::API::Stripe::Payment::Source object or an hash reference of parameters, this will detach a Stripe source from the customer and return a Net::API::Stripe::Payment::Source object. Possible parameters are: *id* A Stripe customer id *source* A Stripe source id For more information, see Stripe documentation here: attach Provided with a Net::API::Stripe::Customer object or a Net::API::Stripe::Payment::Source object or an hash reference of parameters, this will attach a Stripe source to a customer and return a Net::API::Stripe::Payment::Source object. Possible parameters are: *id* A Stripe customer id *source* A Stripe source id For more information, see Stripe documentation here: SUBSCRIPTIONS You can create, delete_discount, retrieve, update, list or cancel subscriptions create Provided with a Net::API::Stripe::Billing::Subscription object or an hash reference of parameters, this will create a Stripe subscription and return a Net::API::Stripe::Billing::Subscription 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: plan 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: delete_discount Provided with a Net::API::Stripe::Billing::Subscription object or an hash reference of parameters, this will remove its discount and return a Net::API::Stripe::Billing::Subscription object. Possible parameters are: *id* A Stripe subscription id For more information, see Stripe documentation here: retrieve Provided with a Net::API::Stripe::Billing::Subscription object or an hash reference of parameters, this will retrieve a Stripe subscription and return a Net::API::Stripe::Billing::Subscription object. Possible parameters are: *id* A Stripe subscription id For more information, see Stripe documentation here: update Provided with a Net::API::Stripe::Billing::Subscription object or an hash reference of parameters, this will update a Stripe subscription and return a Net::API::Stripe::Billing::Subscription 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: list Provided with a Net::API::Stripe::Billing::Subscription object or an hash reference of parameters, this will create a Stripe subscription and return a Net::API::Stripe::Billing::Subscription 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: cancel Provided with a Net::API::Stripe::Billing::Subscription object or an hash reference of parameters, this will cancel a Stripe subscription and return a Net::API::Stripe::Billing::Subscription object. Possible parameters are: *id* A Stripe subscription id For more information, see Stripe documentation here: TAX IDS You can create, retrieve, delete or list tax ids create Provided with a Net::API::Stripe::Billing::TaxID object or an hash reference of parameters, this will cancel a Stripe tax id and return a Net::API::Stripe::Billing::TaxID 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: retrieve Provided with a Net::API::Stripe::Billing::TaxID object or an hash reference of parameters, this will cancel a Stripe tax id and return a Net::API::Stripe::Billing::TaxID 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: delete Provided with a Net::API::Stripe::Billing::TaxID object or an hash reference of parameters, this will cancel a Stripe tax id and return a Net::API::Stripe::Billing::TaxID 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: list Provided with an hash reference of parameters, this will get the list of Stripe tax id and return a Net::API::Stripe::List 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: 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 for Stripe API version history. AUTHOR Jacques Deguest SEE ALSO Stripe API documentation: List of server-side libraries: Net::Stripe, 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.