NAME

Net::API::Stripe::Payment::Method - A Stripe Payment Method Object

SYNOPSIS

my $pm = $stripe->payment_method({
    billing_details => $billing_details_object,
    card => $card_object,
    metadata => { transaction_id => 123, customer_id => 456 },
    type => 'card',
});

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

VERSION

v0.3.0

DESCRIPTION

PaymentMethod objects represent your customer's payment instruments. They can be used with PaymentIntents (https://stripe.com/docs/payments/payment-intents) to collect payments or saved to Customer objects to store instrument details for future payments.

CONSTRUCTOR

new( %ARG )

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

METHODS

id string

Unique identifier for the object.

object string, value is "payment_method"

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

alipay hash

If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.

The Stripe API docs does not document any hash properties. There is some information about possible attributes here

au_becs_debit

If this is an au_becs_debit PaymentMethod, this hash contains details about the bank account.

bsb_number string

Six-digit number identifying bank and branch associated with this bank account.

fingerprint string

Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.

last4 string

Last four digits of the bank account number.

bacs_debit hash

If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.

It has the following properties:

fingerprint string

Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.

last4 string

Last four digits of the bank account number.

network_status string

The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`.

reference string

The unique reference identifying the mandate on the Bacs network.

sort_code string

Sort code of the bank account. (e.g., `10-20-30`)

url string

The URL that will contain the mandate that the customer has signed.

bancontact hash

If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.

The Stripe API docs does not document any hash properties.

billing_details hash

Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.

This is a Net::API::Stripe::Billing::Details object.

boleto hash

If this is a boleto PaymentMethod, this hash contains details about the Boleto payment method.

It has the following properties:

fingerprint string
tax_id string

Uniquely identifies the customer tax id (CNPJ or CPF)

card hash

If this is a card PaymentMethod, this hash contains details about the card.

This is a Net::API::Stripe::Connect::ExternalAccount::Card object.

card_present hash

If this is an card_present PaymentMethod, this hash contains details about the Card Present payment method.

created timestamp

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

customer string (expandable)

The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.

eps hash

If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.

The Stripe API docs does not document any hash properties.

fpx hash

If this is an fpx PaymentMethod, this hash contains details about the FPX payment method.

bank string

The customer’s bank, if provided. Can be one of affin_bank, alliance_bank, ambank, bank_islam, bank_muamalat, bank_rakyat, bsn, cimb, hong_leong_bank, hsbc, kfh, maybank2u, ocbc, public_bank, rhb, standard_chartered, uob, deutsche_bank, maybank2e, or pb_enterprise.

giropay hash

If this is a giropay PaymentMethod, this hash contains details about the Giropay payment method.

The Stripe API docs does not document any hash properties.

grabpay

If this is a grabpay PaymentMethod, this hash contains details about the GrabPay payment method.

This is just a property with an empty hash. There are a few instances of this on Stripe api documentation.

ideal hash

If this is an ideal PaymentMethod, this hash contains details about the iDEAL payment method.

bank string

The customer’s bank, if provided. Can be one of abn_amro, asn_bank, bunq, handelsbanken, ing, knab, moneyou, rabobank, regiobank, sns_bank, triodos_bank, or van_lanschot.

bic string

The Bank Identifier Code of the customer’s bank, if the bank was provided.

interac_present hash

If this is an interac_present PaymentMethod, this hash contains details about the Interac Present payment method.

The Stripe API docs does not document any hash properties.

klarna object

If this is a klarna PaymentMethod, this hash contains details about the Klarna payment method.

This is a Net::API::Stripe::Connect::Person object.

If this is an Link PaymentMethod, this hash contains details about the Link payment method.

It has the following properties:

email string

Account owner's email address.

persistent_token string

Token used for persistent Link logins.

livemode boolean

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

metadata hash

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

oxxo hash

If this is an oxxo PaymentMethod, this hash contains details about the OXXO payment method.

The Stripe API docs now has the following properties:

expires_after_days

he 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 hash contains details about the P24 payment method.

It has the following properties:

bank string

The customer's bank, if provided.

paynow

If this is a paynow PaymentMethod, this hash contains details about the PayNow payment method.

This is just a property with an empty hash. There are a few instances of this on Stripe api documentation.

promptpay

If this is a promptpay PaymentMethod, this hash contains details about the PromptPay payment method.

This is just a property with an empty hash. There are a few instances of this on Stripe api documentation.

radar_options object

Options to configure Radar. See Radar Session for more information.

This is a Net::API::Stripe::Fraud::Review object.

sepa_debit hash

If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA debit bank account.

This is a Net::API::Stripe::Connect::ExternalAccount::Card object which uses the following properties:

bank_code string

Bank code of bank associated with the bank account.

branch_code string

Branch code of bank associated with the bank account.

country string

Two-letter ISO code representing the country the bank account is located in.

fingerprint string

Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.

generated_from

Information about the object that generated this PaymentMethod.

charge

The ID of the Charge that generated this PaymentMethod, if any.

setup_attempt

The ID of the SetupAttempt that generated this PaymentMethod, if any.

last4 string

Last four characters of the IBAN.

sofort hash

If this is a sofort PaymentMethod, this hash contains details about the SOFORT payment method.

It has the following properties:

country string

Two-letter ISO code representing the country the bank account is located in.

preferred_language

Preferred language of the Bancontact authorization page that the customer is redirected to.

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.

Possible enum values: card, fpx, ideal, sepa_debit

us_bank_account object

If this is an us_bank_account PaymentMethod, this hash contains details about the US bank account payment method.

This is a Net::API::Stripe::Connect::ExternalAccount::Bank object.

wechat_pay

If this is an wechat_pay PaymentMethod, this hash contains details about the wechat_pay payment method.

This is just a property with an empty hash. There are a few instances of this on Stripe api documentation.

API SAMPLE

{
  "id": "pm_123456789",
  "object": "payment_method",
  "billing_details": {
    "address": {
      "city": "Anytown",
      "country": "US",
      "line1": "1234 Main street",
      "line2": null,
      "postal_code": "123456",
      "state": null
    },
    "email": "jenny@example.com",
    "name": null,
    "phone": "+15555555555"
  },
  "card": {
    "brand": "visa",
    "checks": {
      "address_line1_check": null,
      "address_postal_code_check": null,
      "cvc_check": null
    },
    "country": "US",
    "exp_month": 8,
    "exp_year": 2020,
    "fingerprint": "kabvjbjcnbmbcmn",
    "funding": "credit",
    "generated_from": null,
    "last4": "4242",
    "three_d_secure_usage": {
      "supported": true
    },
    "wallet": null
  },
  "created": 123456789,
  "customer": null,
  "livemode": false,
  "metadata": {
    "order_id": "123456789"
  },
  "type": "card"
}

HISTORY

v0.1

Initial version

STRIPE HISTORY

2019-12-24

Added properties ideal and sepa_debit

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api/payment_methods, https://stripe.com/docs/payments/payment-methods, https://stripe.com/docs/payments/cards/reusing-cards

COPYRIGHT & LICENSE

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

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