[IMP]Ecommerce:Paypal
Change to improve the paypal documentation
BIN
ecommerce/shopper_experience/media/paypal01.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
ecommerce/shopper_experience/media/paypal02.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
ecommerce/shopper_experience/media/paypal03.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
ecommerce/shopper_experience/media/paypal04.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
ecommerce/shopper_experience/media/paypal05.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
ecommerce/shopper_experience/media/paypal06.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
ecommerce/shopper_experience/media/paypal07.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
ecommerce/shopper_experience/media/paypal08.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
ecommerce/shopper_experience/media/paypal09.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
ecommerce/shopper_experience/media/paypal10.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
ecommerce/shopper_experience/media/paypal11.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
ecommerce/shopper_experience/media/paypal12.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
ecommerce/shopper_experience/media/paypal13.png
Normal file
After Width: | Height: | Size: 10 KiB |
@ -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 <https://www.paypal.com/us/merchantsignup/applicationChecklist?signupType=CREATE_NEW_ACCOUNT&productIntentId=wp_standard>`__ 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 <https://www.paypal.com>`__
|
||||
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 <https://www.paypal.com>`__
|
||||
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**:
|
||||
<odoo_instance_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**: <odoo_instance_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 <https://www.paypal.com/webapps/mpp/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 <https://developer.paypal.com>`__
|
||||
with your Paypal credentials.
|
||||
This will create two sandbox accounts:
|
||||
You can refer to `Paypal Fees <https://www.paypal.com/webapps/mpp/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 <https://europa.eu/youreurope/citizens/consumers/shopping/pricing-payments/index_en.htm>`__
|
||||
are not allowed to charge extra fees for paying with credit cards.
|
||||
|
||||
* Log in to `Paypal Sandbox <https://www.sandbox.paypal.com>`__
|
||||
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 <https://developer.paypal.com/>`__ with your Paypal credentials.
|
||||
|
||||
This will create two sandbox accounts:
|
||||
|
||||
- A business account
|
||||
(to use as merchant, e.g.
|
||||
`pp.merch01-facilitator@example.com <mailto:pp.merch01-facilitator@example.com>`__).
|
||||
|
||||
Log in to `Paypal Developer Site <https://developer.paypal.com/>`__ with your Paypal credentials.
|
||||
|
||||
- A default personal account
|
||||
(to use as shopper, e.g.
|
||||
`pp.merch01-buyer@example.com <mailto: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 <https://www.odoo.com/documentation/user/12.0/ecommerce/shopper_experience/payment.html>`__
|
||||
|
||||
`How to manage orders paid with payment acquirers <https://www.odoo.com/documentation/user/12.0/ecommerce/shopper_experience/payment_acquirer.html>`__
|
||||
|