The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

API::Stripe - Stripe.com API Client

VERSION

version 0.07

SYNOPSIS

    use API::Stripe;

    my $stripe = API::Stripe->new(
        username   => 'USERNAME',
        identifier => 'APPLICATION NAME',
    );

    $stripe->debug(1);
    $stripe->fatal(1);

    my $charge = $stripe->charges('ch_163Gh12CVMZwIkvc');
    my $results = $charge->fetch;

    # after some introspection

    $charge->update( ... );

DESCRIPTION

This distribution provides an object-oriented thin-client library for interacting with the Stripe (https://stripe.com) API. For usage and documentation information visit https://stripe.com/docs/api. API::Stripe is derived from API::Client and inherits all of it's functionality. Please read the documentation for API::Client for more usage information.

ATTRIBUTES

identifier

    $stripe->identifier;
    $stripe->identifier('IDENTIFIER');

The identifier attribute should be set to a string that identifies your app.

username

    $stripe->username;
    $stripe->username('USERNAME');

The username attribute should be set to an API key associated with your account.

debug

    $stripe->debug;
    $stripe->debug(1);

The debug attribute if true prints HTTP requests and responses to standard out.

fatal

    $stripe->fatal;
    $stripe->fatal(1);

The fatal attribute if true promotes 4xx and 5xx server response codes to exceptions, a API::Client::Exception object.

retries

    $stripe->retries;
    $stripe->retries(10);

The retries attribute determines how many times an HTTP request should be retried if a 4xx or 5xx response is received. This attribute defaults to 0.

timeout

    $stripe->timeout;
    $stripe->timeout(5);

The timeout attribute determines how long an HTTP connection should be kept alive. This attribute defaults to 10.

url

    $stripe->url;
    $stripe->url(Mojo::URL->new('https://api.stripe.com'));

The url attribute set the base/pre-configured URL object that will be used in all HTTP requests. This attribute expects a Mojo::URL object.

user_agent

    $stripe->user_agent;
    $stripe->user_agent(Mojo::UserAgent->new);

The user_agent attribute set the pre-configured UserAgent object that will be used in all HTTP requests. This attribute expects a Mojo::UserAgent object.

METHODS

action

    my $result = $stripe->action($verb, %args);

    # e.g.

    $stripe->action('head', %args);    # HEAD request
    $stripe->action('options', %args); # OPTIONS request
    $stripe->action('patch', %args);   # PATCH request

The action method issues a request to the API resource represented by the object. The first parameter will be used as the HTTP request method. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data or query.

create

    my $results = $stripe->create(%args);

    # or

    $stripe->POST(%args);

The create method issues a POST request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data or query.

delete

    my $results = $stripe->delete(%args);

    # or

    $stripe->DELETE(%args);

The delete method issues a DELETE request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data or query.

fetch

    my $results = $stripe->fetch(%args);

    # or

    $stripe->GET(%args);

The fetch method issues a GET request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data or query.

update

    my $results = $stripe->update(%args);

    # or

    $stripe->PUT(%args);

The update method issues a PUT request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data or query.

RESOURCES

account

    $stripe->account;

The account method returns a new instance representative of the API Account resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#account.

application_fees

    $stripe->application_fees;

The application_fees method returns a new instance representative of the API Application Fees resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#application_fees.

balance

    $stripe->balance->history;

The balance method returns a new instance representative of the API Balance resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#balance.

bitcoin_receivers

    $stripe->bitcoin->receivers;

The bitcoin_receivers method returns a new instance representative of the API Bitcoin Receivers resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#bitcoin_receivers.

cards

    $stripe->cards;

The cards method returns a new instance representative of the API Cards resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#cards.

charges

    $stripe->charges;

The charges method returns a new instance representative of the API Charges resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#charges.

coupons

    $stripe->coupons;

The coupons method returns a new instance representative of the API Coupons resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#coupons.

customers

    $stripe->customers;

The customers method returns a new instance representative of the API Customers resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#customers.

discounts

    $stripe->discounts;

The discounts method returns a new instance representative of the API Discounts resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#discounts.

disputes

    $stripe->disputes;

The disputes method returns a new instance representative of the API Disputes resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#disputes.

events

    $stripe->events;

The events method returns a new instance representative of the API Events resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#events.

fee_refunds

    $stripe->application_fees('fee_6HiNDgLZ85q6KD')->refunds('fr_6HiNza7kmLzMFc');

The fee_refunds method returns a new instance representative of the API Application Fee Refunds resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#fee_refunds.

file_uploads

    $stripe->files;

The file_uploads method returns a new instance representative of the API File Uploads resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#file_uploads.

invoiceitems

    $stripe->invoiceitems;

The invoiceitems method returns a new instance representative of the API Invoice Items resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#invoiceitems.

invoices

    $stripe->invoices;

The invoices method returns a new instance representative of the API Invoices resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#invoices.

plans

    $stripe->plans;

The plans method returns a new instance representative of the API Plans resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#plans.

recipients

    $stripe->recipients;

The recipients method returns a new instance representative of the API Recipients resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#recipients.

refunds

    $stripe->refunds;

The refunds method returns a new instance representative of the API Refunds resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#refunds.

subscriptions

    $stripe->subscriptions;

The subscriptions method returns a new instance representative of the API Subscriptions resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#subscriptions.

tokens

    $stripe->tokens;

The tokens method returns a new instance representative of the API Tokens resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#tokens.

transfer_reversals

    $stripe->transfers('tr_164xRv2eZvKYlo2CZxJZWm1E')->reversals;

The transfer_reversals method returns a new instance representative of the API Transfer Reversals resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#transfer_reversals.

transfers

    $stripe->transfers;

The transfers method returns a new instance representative of the API Transfers resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://stripe.com/docs/api#transfers.

AUTHOR

Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.