David Tran Getting Started Hits: 1,311

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.

    media/paypal_profile.png
  • Now enter the menu My selling tools.

    media/paypal_selling_tools.png
  • 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).

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

    media/paypal_data_transfer.png
  • 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

    media/paypal_ipn_setup.png
  • Now you must change the encoding format of the payment request sent by Odoo to Paypal. To do so, get back to My selling tools and click PayPal button language encoding in More Selling Tools section.

    media/paypal_button_encoding.png

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

    media/paypal_more_options.png media/paypal_encoding_options.png

    Tip

    If you want your customers to pay without creating a Paypal account, Paypal Account Optional needs to be turned on.

    media/paypal_account_optional.png

Set up Odoo

Go live

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

media/paypal_live.png

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.

media/paypal_fees.png

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.