URL: https://stripe.com/

Default Currency: USD

Developer Documentation: https://stripe.com/docs/api

ūüďė

Notice

This gateway does not support 3-D Secure parameters from an external 3-D Secure service. Thus, you will not be able to use this gateway to process transactions authenticated via TokenEx's 3-D Secure service.

Supported Parameters:
* denotes a required field

Field NameTypeStripe MappingNotes
gatewaystringN/AStripe
privateKey*stringapi_keyYour Stripe secret key provisions in the Stripe dashboard. Prefixed with either _sk_test or _sk_live. See the Stripe API Authentication page for more information.
merchantIdstringstripe_accountAllows you to make requests as a connected account by including a Stripe account ID in this field. See the Stripe API Connected Accounts page for more information.
idempotencyKeystringidempotency_keyA unique key for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. See the Stripe API Idempotency page for more information
amountnumericamountTransaction amount in smallest currency units. Example: $10.00 USD should be sent as 1000
currencyCodestringcurrencyCurrency of the transaction.
Use the ISO 4217 three-letter alphabetic code for the currency.
paymentMethodIdstringpayment_methodID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to the PaymentIntent.
paymentMethodData.Typestringpayment_method_data.typeThe 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.
paymentMethodData.Metadataobjectpayment_method_data.metadataSet 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 this field.
creditCard.Numberstringcard.numberCard number or TokenEx Token - Tokenex will replace the Token with the Detokenized number
creditCard.ExpMonthstringcard.exp_monthThe two-digit expiration month of the card. Example: 01
creditCard.ExpYearstringcard.exp_yearThe four-digit expiration year of the card. Example: 2022
creditCard.CVVstringcard.cvcThe three- or four-digit number on the back of a credit card (on the front for American Express).

This field is required if the merchant would like to use the Card Code Verification (CCV) security feature.

Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard.
creditCard.Metadataobjectcard.metadataA set of key-value pairs that you can attach to a card object. This can be useful for storing additional information about the card in a structured format.
billingAddress.Address1stringpayment_method_data.billing_details.address.line1Customer’s billing address.
billingAddress.Address2stringpayment_method_data.billing_details.address.line2Customer’s billing address, line 2.
billingAddress.Countrystringpayment_method_data.billing_details.address.countryAlpha-3 ISO country code
billingAddress.Citystringpayment_method_data.billing_details.address.cityCity of customer’s billing address.
billingAddress.Statestringpayment_method_data.billing_details.address.stateState of customer’s billing address.
billingAddress.Zipstringpayment_method_data.billing_details.address.postal_codePostal code of customer’s billing address.
billingAddress.Emailstringpayment_method_data.billing_details.emailEmail address associated with customer’s billing address.
billingAddress.Phonestringpayment_method_data.billing_details.phonePhone number associated with customer’s billing address.
billingAddress.FirstNamestringpayment_method_data.billing_details.nameFirst name associated with customer’s shipping address. Concatenated with the last name into the name field
billingAddress.LastNamestringpayment_method_data.billing_details.nameLast name associated with customer’s shipping address. Concatenated with the last name into the name field
applicationFeeAmountnumericapplication_fee_amountThe amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. The amount of the application fee collected will be capped at the total payment amount.
confirmationMethodstringconfirmation_methodPossible values: automatic, manual. For automatic, payments can be confirmed with a publishable key. For manual, all payment attempts must be made using a secret key.
descriptionstringdescriptionAn arbitrary string attached to the object. Often useful for displaying to users.
expandarrayexpandA list of response parameters to expand to return additional information that isn't normally in the response. See the Stripe API Expanding Responses page for more information
metadataobjectmetadataSet 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. For more information, see the Stripe API Metadata page.
offSessionbooleanoff_sessionSet to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later.
paymentMethodTypesarraypayment_method_typesThe list of payment method types that this PaymentIntent is allowed to use. If this is not provided, defaults to [‚Äúcard‚ÄĚ].
receiptEmailstringreceipt_emailEmail address that the receipt for the resulting payment will be sent to.
setupFutureUsagestringsetup_future_usageIndicates that you intend to make future payments with this PaymentIntent’s payment method. Possible values: on_session, off_session
softDescriptors.Descriptorstring(22)statement_descriptorFor non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
softDescriptors.DescriptorSuffixstringstatement_descriptor_suffixProvides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
statementDescriptorstring(22)statement_descriptorSame description as softDescriptors.Descriptor. If user provides softDescriptors.Descriptor then this field is ignored.
statementDescriptorSuffixstringstatement_descriptor_suffixSame description as softDescriptors.DescriptorSuffix. If user provides softDescriptors.DescriptorSuffix then this field is ignored.
onBehalfOfstringon_behalf_ofThe Stripe account ID for which these funds are intended.
returnUrlstringreturn_urlThe URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.
orderInfo.CustomerIdstringcustomerID of the Customer this PaymentIntent belongs to, if one exists.
orderInfo.Customer.Address.Address1stringcustomer.address.line1Customer’s address.
orderInfo.Customer.Address.Address2stringcustomer.address.line2Customer’s address, line 2.
orderInfo.Customer.Address.Countrystringcustomer.address.countryAlpha-3 ISO country code
orderInfo.Customer.Address.Citystringcustomer.address.cityCity of customer’s address.
orderInfo.Customer.Address.Statestringcustomer.address.stateState of customer’s address.
orderInfo.Customer.Address.Zipstringcustomer.address.postal_codePostal code of customer’s address.
orderInfo.Customer.Address.Phonestringcustomer.phoneThe customer's phone number.
orderInfo.Customer.Namestringcustomer.nameThe customer’s full name or business name.
orderInfo.Customer.Descriptionstringcustomer.descriptionAn arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.
orderInfo.Customer.Emailstring(512)customer.emailCustomer’s email address. It’s displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to 512 characters.
orderInfo.Customer.Balancenumericcustomer.balanceAn amount in smallest currency units that represents the customer’s current balance, which affects the customer’s future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.
orderInfo.Customer.Couponstringcustomer.couponIf you provide a coupon code, the customer will have a discount applied on all recurring charges. Charges you create through this gateway's Authorize or Purchase methods will not have the discount.
orderInfo.Customer.InvoicePrefixstring(3-12)customer.invoice_prefixThe prefix for the customer used to generate unique invoice numbers. Must be 3‚Äď12 uppercase letters or numbers.
orderInfo.Customer.InvoiceSettings.DefaultPaymentMethodstringcustomer.invoice_settings.default_payment_methodID of a payment method that’s attached to the customer, to be used as the customer’s default payment method for subscriptions and invoices.
orderInfo.Customer.InvoiceSettings.Footerstringcustomer.invoice_settings.footerDefault footer to be displayed on invoices for this customer.
orderInfo.Customer.InvoiceSettings.CustomFieldsobjectcustomer.invoice_settings.custom_fieldsDefault custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields.

Each property of this object is mapped to the name and value fields as passed. For example, an object { "myKey": "myValue" } will map to an array containing a single Stripe Custom Field with the name "myKey" and value "myValue"
orderInfo.Customer.NextInvoiceSequencenumericcustomer.next_invoice_sequenceThe sequence to be used on the customer’s next invoice. Defaults to 1.
orderInfo.Customer.PromotionCodestringcustomer.promotion_codeThe API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through this gateway's Authorize or Purchase methods will not have the discount.
orderInfo.Customer.SourceIdstringcustomer.sourceWhen using payment sources created via the Stripe Token or Stripe Sources APIs, passing this parameter will create a new source object, make it the new customer default source, and delete the old customer default if one exists.Whenever you attach a card to a customer, Stripe will automatically validate the card.
orderInfo.Customer.PreferredLocalesarraycustomer.preferred_localesCustomer’s preferred languages, ordered by preference.
orderInfo.Customer.Expandarraycustomer.expandA list of response parameters to expand to return additional information that isn't normally in the response. See the Stripe API Expanding Responses page for more information
orderInfo.Customer.Metadataobjectcustomer.metadataSet 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.
orderInfo.Customer.Shipping.Address.Phonestringcustomer.shipping.phoneCustomer phone (including extension).
orderInfo.Customer.Shipping.Address.Address1stringcustomer.shipping.address.line1Customer’s shipping address.
orderInfo.Customer.Shipping.Address.Address2stringcustomer.shipping.address.line2Customer’s shipping address, line 2.
orderInfo.Customer.Shipping.Address.Countrystringcustomer.shipping.address.countryAlpha-3 ISO country code
orderInfo.Customer.Shipping.Address.Citystringcustomer.shipping.address.cityCity of customer’s shipping address.
orderInfo.Customer.Shipping.Address.Statestringcustomer.shipping.address.stateState of customer’s shipping address.
orderInfo.Customer.Shipping.Address.Zipstringcustomer.shipping.address.postal_codePostal code of customer’s shipping address.
transferGroupstringtransfer_groupA string that identifies the resulting payment as part of a group.
transferData.Destinationstringtransfer_data.destinationIf specified, successful charges will be attributed to the destination account for tax reporting, and the funds from charges will be transferred to the destination account. The ID of the resulting transfer will be returned on the successful charge’s transfer field.
transferData.Amountnumerictransfer_data.amountThe amount that will be transferred automatically when a charge succeeds in the smallest currency units. The amount is capped at the total transaction amount and if no amount is set, the full amount is transferred.
paymentMethodOptions.Card.CvcTokenstringpayment_method_options.card.cvc_tokenA single-use cvc_update Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt.
paymentMethodOptions.Card.Motobooleanpayment_method_options.card.motoWhen specified, this parameter indicates that a transaction will be marked as MOTO (Mail Order Telephone Order) and thus out of scope for SCA.
paymentMethodOptions.Card.Networkstringpayment_method_options.card.networkSelected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent.
paymentMethodOptions.Card.RequestThreeDSecurestringpayment_method_options.card.request_three_d_secureIf you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: automatic or any. If not provided, defaults to automatic. See the Stripe API Manual 3DS page for more information.
paymentMethodOptions.Card.Installments.Enabledbooleanpayment_method_options.card.installments.enabledSetting to true enables installments for this PaymentIntent. This will cause the response to contain a list of available installment plans. Setting to false will prevent any selected plan from applying to a charge.
paymentMethodOptions.Card.Installments.Plan.Countnumericpayment_method_options.card.installments.plan.countFor fixed_count installment plans, this is the number of installment payments your customer will make to their credit card.
paymentMethodOptions.Card.Installments.Plan.Intervalstringpayment_method_options.card.installments.plan.intervalFor fixed_count installment plans, this is the interval between installment payments your customer will make to their credit card. One of month.
paymentMethodOptions.Card.Installments.Plan.Typestringpayment_method_options.card.installments.plan.typeType of installment plan, one of fixed_count.
shippingAddress.Address1stringshipping.address.line1Customer’s shipping address.
shippingAddress.Address2stringshipping.address.line2Customer’s shipping address, line 2.
shippingAddress.Countrystringshipping.address.countryAlpha-3 ISO country code
shippingAddress.Citystringshipping.address.cityCity of customer’s shipping address.
shippingAddress.Statestringshipping.address.stateState of customer’s shipping address.
shippingAddress.Zipstringshipping.address.postal_codePostal code of customer’s shipping address.
shippingAddress.Phonestringshipping.phonePhone number associated with customer’s shipping address.
shippingAddress.FirstNamestringshipping.nameFirst name associated with customer’s shipping address. Concatenated with the last name into the name field
shippingAddress.LastNamestringshipping.nameLast name associated with customer’s shipping address. Concatenated with the first name into the name field
shippingAddress.Carrierstringshipping.carrierThe carrier handling the shipment
shippingAddress.TrackingNumberstringshipping.tracking_numberThe tracking number provided by the carrier.
mandatestringmandateID of the mandate to be used for this payment.
mandateCustomerAcceptanceData.Typestringmandate_data.customer_acceptance.typeThe type of customer acceptance information included with the Mandate. One of online or offline.
mandateCustomerAcceptanceData.OnlineUserAgentstringmandate_data.customer_acceptance.online.user_agentThe user agent of the browser from which the Mandate was accepted by the customer.
mandateCustomerAcceptanceData.OnlineIpAddressstringmandate_data.customer_acceptance.online.ip_addressThe IP address from which the Mandate was accepted by the customer.
mandateCustomerAcceptanceData.AcceptedAtstringmandate_data.customer_acceptance.accepted_atThe time at which the customer accepted the mandate. Must be sumbitted in ISO 8601 format.
cancellationReasonstringcancellation_reasonOnly used in Card Void requests. Reason for canceling this PaymentIntent. Possible values are duplicate, fraudulent, requested_by_customer, or abandoned
reasonstringreasonOnly used for Card Refund requests. String indicating the reason for the refund. If set, possible values are duplicate, fraudulent, and requested_by_customer. If you believe the charge to be fraudulent, specifying fraudulent as the reason will add the associated card and email to your block lists, and will also help us improve our fraud detection algorithms.
refundApplicationFeebooleanrefund_application_feeOnly used for Card Refund requests. Indicates whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded.
reverseTransferbooleanreverse_transferOnly used for Card Refund requests. Indicates whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

Example Payloads:

{
  "amount": 1000,
  "gateway": "Stripe",
  "privateKey": "<Your Stripe secret key>",
  "currencyCode": "USD",
  "idempotencyKey": "<Your per-request idempotency key>",
  "creditCard": {
    "brand": "MasterCard",
    "number": "2223003122003222",
    "expMonth": 11,
    "expYear": 2024,
    "firstName": "Samantha",
    "lastName": "Gottlieb",
    "cvv": "123"
  },
  "billingAddress": {
    "carrier": "FedEx",
    "trackingNumber": "1234567890",
    "phone": "6514219597",
    "fax": null,
    "email": null,
    "firstName": "Fredrick",
    "lastName": "Konopelski",
    "name": null,
    "company": null,
    "address1": "123 Someplace Lane",
    "address2": "Some Place",
    "city": "Theronbury",
    "state": "Idaho",
    "zip": "89105-3085",
    "country": "USA"
  },
  "tax": {
    "exempt": false
  },
  "orderInfo": {
    "customer": {
      "address": {
        "carrier": "FedEx",
        "trackingNumber": "1234567890",
        "phone": "2749063220",
        "firstName": "Bryan",
        "lastName": "Smith",
        "address1": "123 Someplace Lane",
        "address2": "Some Place",
        "city": "Mohammadfurt",
        "state": "Illinois",
        "zip": "27994",
        "country": "USA"
      },
      "email": "[email protected]",
      "name": "Noel Mraz"
    }
  }
}
{
  "gateway": "Stripe",
  "privateKey": "<Your Stripe secret key>",
  "idempotencyKey": "<Your per-request idempotency key>",
  "tokenExTransactionCode": "<TokenExTransactionCode from a successful Authorize call>",
  "amount": 1000,
  "currencyCode": "USD"
}
{
  "amount": 1000,
  "gateway": "Stripe",
  "privateKey": "<Your Stripe secret key>",
  "idempotencyKey": "<Your per-request idempotency key>",
  "refundApplicationFee": true,
  "tokenExTransactionCode": "<TokenExTransactionCode from a successful Capture or Purchase>",
  "currencyCode": "USD"
}
{
  "gateway": "Stripe",
  "privateKey": "<Your Stripe secret key>",
  "idempotencyKey": "<Your per-request idempotency key>",
  "cancellationReason": "requested_by_customer",
  "tokenExTransactionCode": "<TokenExTransactionCode from a successful Authorize call>"
}

Gateway Response Fields:

Field NameTypeStripe Result MappingNotes
approvedbooleanstatusTrue if Status indicates a successful transaction or operation.
providerTransactionCodestringidUnique identifier for the operation that was just performed.
verificationResult.providerParsed.cvvstringcharges.data[0].payment_method_details.card.checks.cvc_checkIf a CVC was provided, results of the check: pass, fail, unavailable, or unchecked.
verificationResult.providerParsed.streetMatchstringcharges.data[0].payment_method_details.card.checks.address_line1_checkresults of the billing address line 1 check: fail, unavailable, or unchecked.
verificationResult.providerParsed.postalCodeMatchstringcharges.data[0].payment_method_details.card.checks.address_postal_code_checkIf a address postal code was provided, results of the check: pass, fail, unavailable, or unchecked.
merchantReferenceIdstringcharges.data[0].metadata.order_idReflects the value sent in the request's OrderInfo.OrderId