How to get paid with Paypal - Odoo 11.0

Paypal is the easiest online payment acquirer to configure. It is also the only one without any subscription fee. We definitely advise it to any starter.

Set up your Paypal account

  • Create a Paypal Business Account or upgrade your account to Business account if you have a basic account.
  • Log in to Paypal and open the settings of your Profile.

  • Now enter the menu My selling tools.

  • Let's start with the Website Preferences.
  • Turn on Auto Return and enter the Return URL: <odoo_instance_url>/shop/confirmation. Verify that this address uses the correct protocol (HTTP/HTTPS).

  • Turn on Payment Data Transfer. When saving, an Identity Token is generated. You will be later requested to enter it in Odoo.

  • Then, get back to your profile to activate the Instant Payment Notification (IPN) in My selling tools.

    Enter the Notification URL: <odoo_instance_url>/payment/paypal/ipn

Configure the encoding of the requests

If you use accented characters (or anything else than basic Latin characters) for your customer names, addresses... you MUST configure the encoding format of the payment request sent by Odoo to Paypal.

To do so, open:

Then, click More Options and set the two default encoding formats as UTF-8.

Set up Odoo

  • Open Paypal setup form in Website or Sales or Accounting ‣ Settings ‣ Payment Acquirers+. Enter both your Email ID and your Merchant ID and check Use IPN.

    They are both provided in your Paypal profile, under My business info.

  • Enter your Identity Token in Odoo (from Auto Return option). To do so, open the Settings and activate the Developer Mode.

    Then, go to Settings ‣ Technical ‣ Parameters ‣ System Parameters and create a parameter with following values:

    • Key: payment_paypal.pdt_token
    • Value: your Paypal Identity Token

Go live

Your configuration is now ready! You can make Paypal visible on your merchant interface and activate the Production mode.

Transaction fees

You can charge an extra to the customer to cover the transaction fees Paypal charges you. Once redirected to Paypal, your customer sees an extra applied to the order amount.

To activate this, go to the Configuration tab of Paypal config form in Odoo and check Add Extra Fees. Default fees for US can be seen here below.

To apply the right fees for your country, please refer to Paypal Fees.

Test the payment flow

You can test the entire payment flow thanks to Paypal Sandbox accounts.

  • Log in to Paypal Developer Site with your Paypal credentials. This will create two sandbox accounts:

  • Log in to Paypal Sandbox with the merchant account and follow the same configuration instructions.
  • Enter your sandbox credentials in Odoo and make sure Paypal is still set on Test mode. Also, make sure the confirmation mode of Paypal is not Authorize & capture the amount, confirm the SO and auto-validate the invoice on acquirer confirmation. Otherwise a confirmed invoice will be automatically generated when the transaction is completed.
  • Run a test transaction from Odoo using the sandbox personal account.