diff --git a/ecommerce/shopper_experience/media/paypal01.png b/ecommerce/shopper_experience/media/paypal01.png new file mode 100644 index 000000000..f8f5436af Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal01.png differ diff --git a/ecommerce/shopper_experience/media/paypal02.png b/ecommerce/shopper_experience/media/paypal02.png new file mode 100644 index 000000000..8cc050cba Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal02.png differ diff --git a/ecommerce/shopper_experience/media/paypal03.png b/ecommerce/shopper_experience/media/paypal03.png new file mode 100644 index 000000000..6191ef562 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal03.png differ diff --git a/ecommerce/shopper_experience/media/paypal04.png b/ecommerce/shopper_experience/media/paypal04.png new file mode 100644 index 000000000..f4465486a Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal04.png differ diff --git a/ecommerce/shopper_experience/media/paypal05.png b/ecommerce/shopper_experience/media/paypal05.png new file mode 100644 index 000000000..c2ccb7333 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal05.png differ diff --git a/ecommerce/shopper_experience/media/paypal06.png b/ecommerce/shopper_experience/media/paypal06.png new file mode 100644 index 000000000..0f5c7c8a6 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal06.png differ diff --git a/ecommerce/shopper_experience/media/paypal07.png b/ecommerce/shopper_experience/media/paypal07.png new file mode 100644 index 000000000..7f3b1b816 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal07.png differ diff --git a/ecommerce/shopper_experience/media/paypal08.png b/ecommerce/shopper_experience/media/paypal08.png new file mode 100644 index 000000000..a2dfc4d8e Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal08.png differ diff --git a/ecommerce/shopper_experience/media/paypal09.png b/ecommerce/shopper_experience/media/paypal09.png new file mode 100644 index 000000000..15f8ee713 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal09.png differ diff --git a/ecommerce/shopper_experience/media/paypal10.png b/ecommerce/shopper_experience/media/paypal10.png new file mode 100644 index 000000000..18efc0301 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal10.png differ diff --git a/ecommerce/shopper_experience/media/paypal11.png b/ecommerce/shopper_experience/media/paypal11.png new file mode 100644 index 000000000..1dd8a2ed2 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal11.png differ diff --git a/ecommerce/shopper_experience/media/paypal12.png b/ecommerce/shopper_experience/media/paypal12.png new file mode 100644 index 000000000..56cd401c0 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal12.png differ diff --git a/ecommerce/shopper_experience/media/paypal13.png b/ecommerce/shopper_experience/media/paypal13.png new file mode 100644 index 000000000..9cf495f92 Binary files /dev/null and b/ecommerce/shopper_experience/media/paypal13.png differ diff --git a/ecommerce/shopper_experience/paypal.rst b/ecommerce/shopper_experience/paypal.rst index 7a43a9ace..1c3139623 100644 --- a/ecommerce/shopper_experience/paypal.rst +++ b/ecommerce/shopper_experience/paypal.rst @@ -1,155 +1,192 @@ -=========================== -How to get paid with Paypal -=========================== +============================= +Configure your Paypal account +============================= -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. +Paypal is available and popular worldwide. It doesn’t charge any +subscription fee and creating an account is very easy. That’s why we +definitely recommend it for starters in Odoo. It works as a seamless +flow where the customer is routed to Paypal website to register the +payment. + +Paypal account +============== + +A business account is needed to get paid with Paypal. Create a `Paypayl Business Account `__ or upgrade your Personal account to a Business account. Go to the Paypal settings and click on *Upgrade to a Business account*. Then follow the few configuration steps. -Set up your Paypal account -========================== +Settings in Paypal +================== -* Create a `Paypal Business Account `__ - or upgrade your account to *Business account* if you have a basic account. +| First, let’s see how to set up your Paypal account in order to build a + seamless customer experience with Odoo. +| Log in and open the settings. Go to *Products & Services > Website + payments* and click *Update* on *Website preferences*. -* Log in to `Paypal `__ - and open the settings of your **Profile**. - - .. image:: media/paypal_profile.png +.. image:: media/paypal01.png :align: center -* Now enter the menu **My selling tools**. +Auto Return +----------- - .. image:: media/paypal_selling_tools.png +*Auto Return* automatically redirects your customers to Odoo once the +payment is processed. Check *Auto Return* and enter your domain name +"/shop/confirmation" as *Return URL* (e.g. +https://yourcompany.odoo.com/shop/confirmation). + +This URL is requested in Paypal but not used in practice as Odoo +transmits it at each transaction. Don’t worry if you manage several +sales channels or Odoo databases. + +.. image:: media/paypal02.png :align: center -* Let's start with the **Website Preferences**. +Payment Data Transfer (PDT) +--------------------------- -* Turn on **Auto Return** and enter the **Return URL**: - /shop/confirmation. - Verify that this address uses the correct protocol (HTTP/HTTPS). +*Payment Data Transfer* delivers the payment confirmation to Odoo as +soon as it is processed. Without it, Odoo cannot end the sales flow. +This setting must be activated as well. When saving, an *Identity +Token* is generated. You will be later requested to enter it in Odoo. - .. image:: media/paypal_auto_return.png +.. image:: media/paypal03.png :align: center -* Turn on **Payment Data Transfer**. - When saving, an **Identity Token** is generated. - You will be later requested to enter it in Odoo. +Paypal Account Optional - .. image:: media/paypal_data_transfer.png +We advise you to not prompt customers to log in with a Paypal account +when they get to pay. Let them pay with debit/credit cards as well, or you might lose some deals. Make sure this setting is turned on. + +.. image:: media/paypal04.png :align: center -* Then, get back to your profile to activate the - **Instant Payment Notification (IPN)** in *My selling tools*. +Instant Payment Notification (IPN) +---------------------------------- - Enter the **Notification URL**: /payment/paypal/ipn +PDT sends order confirmations once and only once. As a result, your site +must be running when it happens; otherwise, it will never receive the +message. That’s why we advise to activate the *Instant Payment +Notification* (IPN) on top. With IPN, delivery of order confirmations +is virtually guaranteed since IPN resends a confirmation until your site acknowledges receipt. - .. image:: media/paypal_ipn_setup.png +| To activate IPN, get back to *Website payments* menu and click + *Update* in *Instant Payment Notification*. +| The *Notification URL* to set is your domain name + + “payment/paypal/ipn” (e.g. + https://yourcompany.odoo.com/payment/paypal/ipn). + +.. image:: media/paypal05.png :align: center -* 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. +Payment Messages Format +----------------------- - .. image:: media/paypal_button_encoding.png +Finally make sure the encoding format of payment messages is correctly +set. Go to *PayPal button language encoding*. + +.. image:: media/paypal06.png :align: center - Then, click *More Options* and set the two default encoding formats as **UTF-8**. +Click *More Options* and set the two default encoding formats as +*UTF-8*. - .. image:: media/paypal_more_options.png +.. image:: media/paypal07.png :align: center - .. image:: media/paypal_encoding_options.png +.. image:: media/paypal08.png :align: center - .. tip:: If you want your customers to pay without creating a Paypal account, - **Paypal Account Optional** needs to be turned on. - - .. image:: media/paypal_account_optional.png - :align: center +Your Paypal account is ready! - -Set up Odoo -=========== -* Open Paypal setup form in :menuselection:`Website or Sales or Accounting - --> Settings --> Payment Acquirers+`. Enter both your **Email ID** - and your **Merchant ID** and check **Use IPN**. - - .. image:: media/paypal_credentials.png - :align: center - - They are both provided in your Paypal profile, - under :menuselection:`My business info`. - -* Enter your **Identity Token** in Odoo (from *Auto Return* option). - To do so, open the *Settings* and activate the **Developer Mode**. - - .. image:: media/paypal_debug.png - :align: center - - Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` - and create a parameter with following values: - - * Key: payment_paypal.pdt_token - * Value: your Paypal *Identity Token* - - .. image:: media/paypal_identity_token.png - :align: center - - -Go live -======= -Your configuration is now ready! -You can make Paypal visible on your merchant interface -and activate the **Production mode**. - -.. image:: media/paypal_live.png - :align: center - - -Transaction fees +Settings in Odoo ================ -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. +Activation +---------- -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. +Activate *Paypal* from the config bar of Sales, Invoicing and +eCommerce apps, or from the configuration menu of *Payment Acquirers*. -.. image:: media/paypal_fees.png +Credentials +----------- + +Odoo requires three Paypal credentials: + +- *Email ID* is your login email address in Paypal. + +- *Merchant ID* can be found in the settings of your Paypal account, in *Profile > About the business*. + +- *Paypal PDT Token* is given in *Website payments* configuration as explained here above. + +.. image:: media/paypal09.png :align: center -To apply the right fees for your country, please refer to -`Paypal Fees `__. +Transaction fees +---------------- +You can charge extra fees to your customers for paying with Paypal; +This to cover the transaction fees Paypal charges you. Once redirected to Paypal, your customer sees an extra applied to the order amount. -Test the payment flow -===================== +To activate this, go to the Configuration tab of Paypal configuration in +Odoo and check *Add Extra Fees*. -You can test the entire payment flow thanks to Paypal Sandbox accounts. +.. image:: media/paypal10.png + :align: center -* Log in to `Paypal Developer Site `__ - with your Paypal credentials. - This will create two sandbox accounts: +You can refer to `Paypal Fees `__ to set up +fees. - * A business account (to use as merchant, e.g. pp.merch01-facilitator@example.com). - * A default personal account (to use as shopper, e.g. pp.merch01-buyer@example.com). +..note:: `Traders in the EU `__ +are not allowed to charge extra fees for paying with credit cards. -* Log in to `Paypal Sandbox `__ - with the merchant account and follow the same configuration instructions. +Go live! +======== -* 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. +Your configuration is ready to roll. Make sure *Production* mode is +on. Then publish the payment method by clicking the *Published* button right next to it. -* Run a test transaction from Odoo using the sandbox personal account. +.. image:: media/paypal11.png + :align: center -.. seealso:: +.. image:: media/paypal12.png + :align: Center - * :doc:`payment` - * :doc:`payment_acquirer` +Paypal is now available in your payment form available in eCommerce, +Sales and Invoicing apps. Customers are redirected to Paypal website +when hitting *Pay Now*. They get back to a confirmation page in Odoo +once the payment is processed. + +.. image:: media/paypal13.png + :align: center + +Test environment +================ + +You can test the entire payment flow in Odoo thanks to Paypal Sandbox accounts. + +Log in to `Paypal Developer Site `__ with your Paypal credentials. + +This will create two sandbox accounts: + +- A business account + (to use as merchant, e.g. + `pp.merch01-facilitator@example.com `__). + + Log in to `Paypal Developer Site `__ with your Paypal credentials. + +- A default personal account + (to use as shopper, e.g. + `pp.merch01-buyer@example.com `__). + +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 Environment*. Also, make sure the automatic invoicing +is not activated in your eCommerce settings, to not generate invoices +when a fictitious transaction is completed. + +Run a test transaction from Odoo using the sandbox personal account. + +See also + +`How to manage orders paid with payment acquirers `__ + +`How to manage orders paid with payment acquirers `__