Stripe integration guide
Stripe is a gateway that allows you to collect card payments. This guide is intended to help you implement Stripe based on your preferred integration workflow.
Services and compatibility
Supported payment types |
|
Supported transaction types | |
Supported processing currencies | AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BIF, BMD, BND, BOB, BRL, BSD, BWP, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ETB, EUR, FJD, FKP, GBP, GEL, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, ISK, JMD, JPY, KES, KGS, KHR, KMF, KRW, KYD, KZT, LAK, LBP, LKR, LRD, LSL, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SEK, SGD, SHP, SLL, SOS, SRD, STN, SZL, THB, TJS, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW |
3D Secure 1.x supported | Yes |
3D Secure 2.x supported | No |
External 3D Secure supported | No |
Installments supported | No |
Gateway-specific information
The following are not supported with Stripe:
paymentType
is not supported.- Recurring billing
Configuration
Work with Integrations Support to add Stripe as a connection. You will need the following credentials from Stripe (https://dashboard.stripe.com/login):
- Publishable Key
- Secret Key
Required fields
The following fields are required when processing a payment request with Stripe:
card.cardHolderName
data.amount
data.currency
data.customer.firstName
data.customer.lastName
data.customer.shipToAddressOne
If you are having issues with transactions that are rejected by Stripe because of potential fraud, include the clientIp
parameter in the payment request and explicitly set the value as the IP address of the device where the customer is submitting the payment information. If you do not explicitly set a value, it looks to Stripe as if the exact same IP address is sending out an inordinate amount of traffic and it is not possible to separate out the valid and invalid requests.
Testing data
Use the following test card information to test your Stripe configuration.
Brand | Card number | Expiration date | Security code | Cardholder name | Transaction result |
---|---|---|---|---|---|
Visa | 4111111111111111 | Any | 111 | Any | Success |
Visa | 4242424242424242 | Any | Any | Any | Success |
Visa (debit) | 4000056655665556 | Any | Any | Any | Success |
Mastercard | 5105105105105100 | Any | 111 | Any | Success |
Discover | 6011111111111117 | Any | 111 | Any | Success |
Visa | 4000000000000002 | Any | 111 | Any | Decline |
Amex | 378282246310005 | Any | 737 | Any | Insufficient funds |
Visa | 4000000000000069 | Any | 7373 | Any | Card expired |
Visa | 4000000000000127 | Any | 737 | Any | Incorrect security code |
Visa (3DS1) | 4000002760003184 | Any | 737 | Any | Success |
Visa (3DS1) | 4000008400001629 | Any | 7373 | Any | Decline |
Visa (3DS1) | 4000008260003178 | Any | 737 | Any | Insufficient funds |
Status workflows
The status of a successful transaction with Stripe varies, depending on the options you choose.
Sale | When isAuthOnly is false , successful sale transactions will have the following statuses:
|
Auth only | When isAuthOnly is true , successful sale transactions will have the following status:
|
Capture | Successful capture transactions will have the following statuses:
|
Void | Successful void transactions will have the following status:
|
Refund | Successful refund transactions will have the following statuses:
|
*Pending status displays as "authorized" or "AUTHORIZED" in the Nexio Dashboard; it displays as 10
, meaning "authorized", in the response when querying transactions (for more information about transactionStatus
, see the appropriate transactionStatus
table).
If you have any additional questions or feedback, contact us.
See also
Updated 17 days ago