Failed international payments from Stripe accounts in India

Failed international Payments in Stripe accounts 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 fail to satisfy the requirements above, your payment will most likely fail or appear as an "incomplete payment". To help you understand the issue, please check the API error message in Event and Logs on your payment page.

Depending on how you integrate through Stripe, there will be different steps that 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 that 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 India.

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

Address needs to be outside 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 India.

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

Export transactions require a purpose code.
Make sure that you have a default purpose code set for your export transactions.
Please contact support-in@stripe.com so that 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 be shown 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 rupees (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 a sole proprietorship, limited liability partnership or company.

Please register your business as a sole proprietorship, limited liability partnership or company. We can't support unregistered entities to accept international payments 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 India.

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

If you're selling:
- Services: Pass the billing address located outside India when creating a customer.
- Goods: Pass both the billing address and the shipping address outside 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 India.

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

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

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

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

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