Stripe is a United States-based online payment solution provider, allowing businesses to accept credit cards and other payment methods.
Fill in your credentials¶
In case your API Credentials are required to connect with your Stripe account, these are the credentials that must be completed:
Publishable Key: The key solely used to identify the account with Stripe.
Secret Key: The key to sign the merchant account with Stripe.
Webhook Signing Secret: When you enable your webhook on your Stripe account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo.
To retrieve the publishable and secret keys, follow this link to your API keys, or log into your Stripe dashboard and go to .
Generate a webhook¶
In case your Webhook Signing Secret is required to connect with your Stripe account, you can create a webhook either automatically or manually.
Make sure your Publishable and Secret keys are filled in, then click on the Generate your Webhook button.
To update the webhook, click once again on the Generate your Webhook button.
Visit the webhooks page on Stripe, or log into your Stripe dashboard and go to . Then, click on Add endpoint in your Hosted endpoints and insert the following data into the pop-up form:
- In the Endpoint URL, enter your Odoo database’s URL followed by
At the bottom of the form, you can select events to listen to. Click on Select events. Then:
In the Payment Intent section, select payment_intent.amount_capturable_updated and payment_intent.succeeded.
In the Setup Intent section, select setup_intent.succeeded.
It is possible to select other events, but they are currently not processed by Odoo.
When you click on Add endpoint, your Webhook is configured. Click on reveal to display your signing secret.
To update an existing webhook, click on it. Then, click on the three dots at the right side of the Webhook URL and on Update details.
Place a hold on a card¶
Stripe allows you to capture an amount manually instead of having an immediate capture. This feature earmarks an amount on the customer’s account for a determined period of time that depends on the payment method used.
To set it up, enable the Capture Amount Manually option on Odoo, as explained in the payment providers documentation.
When the manual capture feature is activated, your customers are not able to proceed with any payment if unsupported payment methods are selected.
Odoo doesn’t support the partial capture yet. Be aware that a partial capture from Stripe’s interface is still managed as a full capture by Odoo.
Enable local payment methods¶
Local payment methods are payment methods that are only available for certain merchants and customers countries and currencies.
Odoo supports the following local payment methods:
To enable some of these local payment methods with Stripe, list them as supported payment icons. To do so, go toand add the desired payment methods in the Supported Payment Icons field. If the desired payment method is already listed, you don’t have anything to do.
If a payment icon record does not exist in the database and its related local payment method is listed above, it is considered enabled with Stripe.
If a local payment method is not listed above, it is not supported and cannot be enabled.
Enable express checkout¶
After ticking the Allow Express Checkout checkbox, Google Pay is enabled out of the box, but Apple Pay requires extra steps: You must register your web domain with Apple. This can be done either automatically from Odoo, or manually from Stripe.
Navigate to your payment provider and make sure that it is enabled.
Go to the Configuration tab and click on the Enable Apple Pay button. A notification shows that the web domain was successfully registered with Apple.
Visit the Apple pay web domains page on Stripe, or log into your Stripe dashboard and go to . Then, click on Add new domain and insert the web domain of your Odoo database into the pop-up form. Odoo already hosts the verification file of Stripe. Click on Add to register your web domain with Apple.
This operation must be repeated whenever your web domain changes.