Failed International Payments from Stripe Accounts in India

Failed International Payments on Stripe Account In India

To be considered as valid transactions in India, all transactions must satisfy the requirements below:

Domestic Payments

International Payments

Merchant side

1) passing customer name and billing / shipping address inside India in Customer Creation API

2) passing description and INR currency in the Payment Intent API

1) passing customer name and valid billing and shipping address in Customer Creation API

2) passing description in the Payment Intent API

End-user Side

Pay with Card Issued in India

Pay with Card Issued outside India

When transactions failed to satisfy the requirements above, your payment will most likely fail or appear as 'incomplete payment'. To help you understand the issue, please check the API error message in the Event and Logs on your payment page.

Depending on how you integrate through Stripe, there will be different steps you need to take. Please use these documents as reference:

I'm using API to integrate directly with Stripe (Direct Integration)

API error message

What does this mean?

What do I need to do?

As per Indian regulations, export transactions require a description. More info here: https://stripe.com/docs/india-exports

You are missing the description field.

To accept international payments, you need to collect the description of the product / services you're selling

Pass the description field when creating a PaymentIntent.

As per Indian regulations, export transactions require a customer name and address. More info here: https://stripe.com/docs/india-exports

You are missing the customer name and/or the address field.

To accept international payments, you need to collect the customer name and the address located outside of India.

Pass both the customer name and the address when creating a customer.

Address needs to be outside of India to be considered as valid charges for international payments.

As per Indian regulations, goods export transactions require a billing and a shipping address. More info here: https://stripe.com/docs/india-exports

You are missing the billing and/or shipping address field.

To accept international payments, you must collect shipping/billing information with an address located outside of India.

if you're selling:
- Services: pass the billing address located outside of India when creating a customer.
- Goods: pass both the billing address and the shipping address outside of India when creating a customer.

Export transactions require a purpose code.
Make sure you have a default purpose code set for your export transactions.
Please contact support-in@stripe.com so we can help.

You haven't input the purpose code upon registration.

To accept international payments, you need to provide us with your purpose code information.

Follow the steps outlined in: Transactions Purpose Code for Stripe Account in India

Domestic transactions in India must present in INR. More info here: https://stripe.com/docs/india-exports

You're trying to pass a non-INR currency for domestic payments.

To accept domestic payments, you must charge the customer in Rupee (INR).

Charge the customers in INR by passing inr as a currency when creating a PaymentIntent.

As per Indian regulations, only registered Indian businesses (i.e. sole proprietorships, limited liability partnerships and companies, but not individuals) can accept international payments.
More info here: https://stripe.com/docs/india-exports

You are registered as an Individual.

To accept international payments, you must be registered as sole proprietorships, limited liability partnerships, and companies.

Please register your business as one of sole proprietorships, limited liability partnerships, or companies. We can't support unregistered entities to accept international payment in Stripe.

You could check the required document for each legal entity type; or update your legal entity through settings.

International transactions in India should have a valid shipping/billing address. More info here: https://stripe.com/docs/india-exports

You are passing a shipping/billing address inside of India.

To accept international payments, you must collect the shipping/billing information with an address located outside of India.

If you're selling:
- Services: pass the billing address located outside of India when creating a customer.
- Goods: pass both the billing address and the shipping address outside of India when creating a customer.

International transactions in India require a card issued outside India. More info here: https://stripe.com/docs/india-exports

Your customer is trying to pay using a card issued inside of India.

To accept international payments, you must receive payment with cards issued outside of India.

On the checkout page, add prompts / notes to use a card issued outside of India.

If you plan to charge Indian customers with a card issued inside of India, please charge them in Rupee (INR) instead.

I'm using a third-party provider or a plugin to integrate with Stripe

If you're integrated to Stripe through a third-party provider (Woocommerce, Shopify, Chargebee, Thinkific, Kajabi, and others) or a plugin and unable to make the API changes above; please reach out to your third-party provider as they are able to make the changes and in the best position to help you with this issues.