[IMP] eCommerce: brand new doc on payment methods + requested config changes for Paypal

This commit is contained in:
Frédéric Gilson
2017-04-28 17:19:52 +02:00
committed by Yannick Tivisse
parent f748dd0b21
commit d98595b44e
57 changed files with 482 additions and 400 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

+70 -134
View File
@@ -1,175 +1,111 @@
=============================
How to set up payment methods
=============================
======================================
How to get paid with payment acquirers
======================================
To collect payments, you can either request your customers to process it
manually (e.g. wire transfer) or redirect them to payment acquirers. The payment
process described hereunder is common to both eCommerce and online quotations.
Odoo embeds several payment methods to get paid on eCommerce, Sales
and Invoicing apps.
Payment methods
===============
What are the payment methods available
======================================
Wire transfer
-------------
Wire Transfer is the default payment method available. The aim is providing your
customers with your bank details so that they can pay via their bank. This is very
easy to start with but slow and inefficient process-wise. Opt for online acquirers
as soon as you can!
customers with your bank details so they can pay on their own via their bank.
This is very easy to start with but slow and inefficient process-wise.
Opt for online acquirers as soon as you can!
.. tip::
For B2B users: you can create new manually-processed payment methods (check,
purchase order, etc.) by renaming 'Wire Transfer' or duplicating it.
Online payment acquirers
------------------------
Redirect your customers to payment acquirer platforms to collect money effortless.
Odoo supports more and more platforms over time: Paypal, Ingenico, Authorize.net,
etc. Once the payment accepted, orders are confirmed in Odoo so that the delivery
& invoicing processes are triggered automatically.
Custom (advanced)
Payment acquirers
-----------------
Can be used to request payments to any payment acquirer not listed in Odoo.
Redirect your customers to payment platforms to collect money effortless
and track the payment status (call-back).
Odoo supports more and more platforms over time:
Edit a payment method
=======================
* `Paypal <paypal.html>`__
* Ingenico
* Authorize.net
* Adyen
* Buckaroo
* PayUmoney
* Sips
* Stripe
To make payment methods intuitive for your customers feel free to customize them by editing:
* the name,
How to go live
==============
* the picture,
Once the payment method ready, make it visible in the payment interface
and activate the **Production** mode.
* the notification messages (thank you & next step, error, cancellation).
.. image:: media/paypal_live.png
:align: center
Go to :menuselection:`Website Admin --> Configuration --> Payment Acquirers` to do so.
Generic setup
=============
How to let customers save and reuse credit cards
================================================
To ease the payment of returning customers, you can let them
save and reuse a credit card if they want to.
If so, a payment token will be saved in Odoo.
This option is available with Ingenico and Authorize.net.
1. Review the elements here above.
You can turn this on from the acquirer configuration form.
2. Enter your credentials (online acquirers only).
.. image:: media/payment_save_card.png
:align: center
3. Choose your order confirmation preference (see below).
4. Publish the payment method.
How to debit credit cards to pay subscriptions
==============================================
`Odoo Subscription <https://www.odoo.com/page/subscriptions>`__ allows to
bill services automatically on a recurring basis.
Along with it, you can have an automatic debit of the customer's credit card.
5. Test the payment flow in *Test* mode (default mode).
This option is available with Ingenico and Authorize.net.
6. Switch to *Production* mode.
You can turn this on from the acquirer configuration form.
7. Se your default payment acquirer in :menuselection:`Accounting --> Configuration --> Settings`.
It will be auto-selected for your customers when they enter the payment screen.
.. image:: media/payment_recurring.png
:align: center
.. note::
Rely on the documentation related to your payment acquirer to go through step 2, 5 and 6. Some
acquirers provides you with specific credentials for test and production modes (Paypal). Others
let you switch mode in their setup interface (Authorize.net).
That way a payment token will be recorded when the customer
goes for the subscription and an automatic debit will occur
whenever an invoice is issued from the subscription.
.. tip::
With Ingenico and Authorize.net, you can let your customers save and reuse a payment card to
accelerate the process on next checkouts. See *Store Card Data* in Configuration tab.
Payment flow
============
How to use other acquirers (advanced)
=====================================
1. When choosing the payment method, the customer is taken to the payment acquirer interface to
process the payment.
Odoo can submit single payment requests and redirect to any payment acquirer.
But there is no call-back, i.e. Odoo doesn't track the transaction status.
So you will confirm orders manually once you get paid.
2. Once done he is taken back to Odoo's confirmation page. The transaction status shows up:
How to:
* *Pending*: the order will be confirmed as soon as you authorize the transaction in the acquirer interface.
* Switch to developer mode.
* *Confirmed*: the payment has been authorized automatically.
* Take the **Custom** payment method.
3. A confirmation email is sent to the customer with a copy of the order in pdf. It shows the payment status.
* Set up the payment form (S2S Form Template) as instructed by your payment acquirer.
You can start from *default_acquirer_button* that you can duplicate.
4. Launch the delivery and invoicing from:
* eCommerce: :menuselection:`Website Admin --> Orders --> (Unpaid) Orders`,
Other configurations
====================
* online quotations: :menuselection:`Sales --> Sales --> Quotations/Sales Orders`.
Odoo can also be used for more advanced payment processes
like installment plans (e.g.
`Paypal Installment Plans <https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/installment_buttons>`__).
For internal tracking purposes, a link to the transaction status is provided in the sales order.
Such a customization service is made on-demand by our technical experts
based on your own requirements. A business advisor can reach you out for
such matter. `Contact us. <https://www.odoo.com/page/contactus>`__
.. note::
If the customer cancels the payment while on the payment acquirer form, it is taken back to
the store page (or online quotation) in order to reprocess the order. The payment is
marked as *Cancelled* in Odoo.
.. tip::
You can edit the confirmation email template from
:menuselection:`Website Admin --> Configuration --> Settings`.
Order confirmation preferences
==============================
There are 4 different behaviors available for any payment acquirer.
No automatic confirmation
-------------------------
This is the default mode for *Wire Transfer*. It means Odoo does not confirm orders but keep
them in an intermediary stage (*Quotation Sent* = *Unpaid Order*). Once you get the payment,
you are expected to confirm the order manually to pursue the process (delivery, invoicing).
Authorize the amount and confirm the SO on acquirer confirmation (capture manually)
-----------------------------------------------------------------------------------
Odoo confirms the order as soon as the payment success notification comes in. To get the
money however, you need to capture it from your payment transaction. In lots of countries
you are indeed requested to deliver your goods before capturing the amount.
Authorize & capture the amount and confirm the SO on acquirer confirmation
--------------------------------------------------------------------------
This is the default mode for payment acquirers. The amount is captured automatically.
.. tip::
For B2B: if you use a manual payment method like *Wire Transfer* and don't expect any
upfront payment to launch the delivery, switch to this mode as well.
Authorize & capture the amount, confirm the SO and auto-validate the invoice on acquirer confirmation
-----------------------------------------------------------------------------------------------------
If you invoice upfront and not at the delivery, switch to this last mode to automate everything.
You are requested to select a Payment Journal to record such payments
(see :doc:`../../accounting/receivables/customer_payments/credit_cards`).
Custom payment acquirers (advanced)
===================================
Odoo can submit payment requests and redirect to any payment acquirer. In such a case, you need
to confirm the sale manually in Odoo once you get paid because Odoo cannot read any payment
status sent by the acquirer.
To configure this:
* switch to developer mode,
* edit the *Custom* payment method,
* set up the payment form (S2S Form Template) as instructed by your payment acquirer. You can
start from *default_acquirer_button* that you can duplicate.
Recurring payments & Installment plans
======================================
The Ingenico integration allows you to process and manage recurring payments from Odoo
Subscriptions app out-of-the-box (more information coming soon).
With some customization, Odoo can also trigger installment plans if this is permitted by
your payment acquirers API:
e.g. Paypal Installment Plans (see https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/installment_buttons).
Such a service is made on-demand by our technical experts based on your own requirements.
Ask our business advisors at info@odoo.com.
.. seealso::
* :doc:`paypal`
* :doc:`wire_transfer`
* :doc:`payment_acquirer`
@@ -0,0 +1,79 @@
===================================================
How to manage orders paid with payment acquirers
===================================================
Odoo confirms orders automatically as soon as the payment is authorized
by a payment acquirer. This triggers the delivery.
If you invoice based on ordered quantities,
you are also requested to invoice the order.
What are the payment status
===========================
At anytime, the salesman can check the transaction status from the order.
.. image:: media/payment_transaction.png
:align: center
* *Draft*: transaction under processing.
* *Pending*: the payment acquirer keeps the transaction on hold and you
need to authorize it from the acquirer interface.
* *Authorized*: the payment has been authorized but not yet captured.
In Odoo, the order is already confirmed. Once the delivery done, you
can capture the amount from the acquirer interface (or from Odoo if you use
Authorize.net).
* *Done*: the payment is authorized and captured. The order has been confirmed.
* *Error*: an error has occured during the transaction.
The customer needs to retry the payment.
The order is still in draft.
* *Cancelled*: when the customer cancels the payment in the payment acquirer form.
They are taken back to Odoo in order to modify the order.
.. note:: Specific messages are provided to your customers for every
payment status, when they are redirected to Odoo after the transaction.
To edit such messages, go to the *Messages* tab of the payment
method.
Auto-validate invoices at order
===============================
When the order is confirmed you can also have an invoice automatically issued
and paid. This fully-automated made for businesses that invoice
orders straight on.
.. image:: media/payment_invoice.png
:align: center
.. note:: If you choose this mode you are requested to select a payment journal
in order to record payments in your books.
This payment is automatically reconcilied with the invoice, marking it as paid.
Select your **bank account** if you get paid immediately on your bank account.
If you don't you can create a specific journal for the payment acquirer
(type = Bank). That way, you can track online payments in an intermediary
account of your books until you get paid into your bank account
(see `How to register credit card payments <../../accounting/receivables/customer_payments/credit_cards.html>`__).
Capture the payment after the delivery
======================================
With this mode, the order is confirmed but the amount is kept on hold.
Once the delivery processed, you can capture the payment from Odoo.
This mode is only available with Authorize.net.
.. image:: media/payment_capture_mode.png
:align: center
To capture the payment, open the transaction from the order.
Then click *Capture Transaction*.
.. image:: media/payment_capture.png
:align: center
With other payment acquirers, you can manage the capture in
their own interfaces, not from Odoo.
+138 -37
View File
@@ -1,48 +1,112 @@
===================================
How to collect payments with Paypal
===================================
===========================
How to get paid with Paypal
===========================
Paypal is the easiest payment method to configure. It is also the only one without any subscription
free.
Paypal is the easiest online payment method to configure.
It is also the only one without any subscription free.
We definitely advise it to any starter.
Setup your Paypal account
=========================
1. Create a business account at Paypal.com (see:
https://www.paypal.com/in/cgi-bin/webscr?cmd=xpt/Marketing/general/how-to-set-up-a-paypal-account-outside)
or upgrade your account to Business account (merchant) if you have a basic account.
Set up your Paypal account
==========================
2. Log in to your account at Paypal.com and go to
:menuselection:`My Account --> Profile --> My Selling Tools`. There click *PayPal button language
encoding* under *More Selling Tools* section. Then, click *More Options* and replace the two default
encoding formats by *UTF-8*.
* Create a `Paypal Business Account <https://www.paypal.com>`__
or upgrade your account to *Business account* if you have a basic account.
3. Open Paypal setup form in Odoo and enter your *Email ID*.
* Log in to `Paypal <https://www.paypal.com>`__
and open the settings of your **Profile**.
4. The Paypal Merchant ID is not mandatory (extra verification level). It is provided in
Paypal under :menuselection:`My Account --> Overview`.
.. image:: media/paypal_profile.png
:align: center
5. Configure the IPN feedback (Paypal contacting your Odoo instance without needing the
redirection). The setting can be found in
:menuselection:`Profile --> My Selling Tools --> Instant payment notification`.
Activate it and set it to <odoo_instance_url>/payment/paypal/ipn.
* Now enter the menu **My selling tools**.
6. To test the workflow, you can create sandbox accounts by logging in at
https://developer.paypal.com/webapps/developer/applications/myapps with the same Paypal credentials.
Two default sandbox accounts are automatically generated when you register to Paypal:
one is a buyer, the other is a shopper.
.. image:: media/paypal_selling_tools.png
:align: center
7. Log in with your buyer sandbox account to https://www.sandbox.paypal.com (same password than real
account) and apply the same format change.
* 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).
.. image:: media/paypal_auto_return.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.
.. image:: media/paypal_data_transfer.png
:align: center
* 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
.. image:: media/paypal_ipn_setup.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.
.. image:: media/paypal_button_encoding.png
:align: center
Then, click *More Options* and set the two default encoding formats as **UTF-8**.
.. image:: media/paypal_more_options.png
:align: center
.. image:: media/paypal_encoding_options.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
Set up Paypal's payment method in 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
.. tip::
To automatically redirect your customers when the payment is completed, go to your Website
Preferences and turn *Auto Return* on. Set *Return URL* to <odoo_instance_url>/shop/confirmation.
Verify that your *Notify URL* uses the correct protocol (HTTP/HTTPS).
.. tip::
If you want your customers to pay without creating a Paypal account, *Paypal Account
Optional* needs to be turned on.
Transaction fees
================
@@ -50,5 +114,42 @@ 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 and check *Add Extra Fees*. Default
fees are the ones charged by Paypal.
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.
.. image:: media/paypal_fees.png
:align: center
To apply the right fees for your country, please refer to
`Paypal Fees <https://www.paypal.com/webapps/mpp/paypal-fees>`__.
Test the payment flow
=====================
You can test the entire payment flow 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).
* A default personal account (to use as shopper, e.g. pp.merch01-buyer@example.com).
* Log in to `Paypal Sandbox <https://www.sandbox.paypal.com>`__
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.
.. seealso::
* :doc:`payment`
* :doc:`payment_acquirer`
+16 -16
View File
@@ -1,18 +1,20 @@
==========================================
How customers can access their portal
==========================================
=================================================
How customers can access their customer account
=================================================
It has never been so easy for your customers to access their documents
through a portal. Forget endless signup forms, Odoo makes it as easy as
ABC. With eCommerce and Online Quotation apps, your customers are requested
to create a portal account (name, email, password only) from the very first
order confirmation or online quotation email they get from you.
It has never been so easy for your customers to access their
customer account. Forget endless signup forms,
Odoo makes it as easy as ABC.
They are suggested to sign up (name, email, password) when the order
is placed, and not before.
Indeed, nothing is more annoying than going through a signup process
before buying something.
Sign up
=======
When clicking the link in the email or when clicking *Sign up* in the checkout
process, your customer is directed to the *Sign up* page.
The invitation to sign up shows up when the customer wants to visualize
the order from order confirmation email.
.. image:: ./media/portal_odoo_signup.png
:align: center
@@ -20,19 +22,17 @@ process, your customer is directed to the *Sign up* page.
Customer account
================
Once logged in the customer will access his account by clicking *My Account*
Once logged in the customer will access the account by clicking *My Account*
in the login dropdown menu.
.. image:: ./media/portal_link.png
:align: center
From the portal menu all the customer history can be reviewed. The main address
(billing) can also be modified.
THere they find all their history. The main address (billing) can also be modified.
.. image:: ./media/portal_menu.png
:align: center
.. note::
If a portal user is a contact of a company (*Company* field set in customer
detail form), this last will see all the documents of the company and all
its other contacts through the portal.
If the customer is set as a contact of a company in your address book,
they will see all the documents whose the customer belongs to this company.
@@ -0,0 +1,42 @@
=======================================
How to get paid with wire transfers
=======================================
**Wire Transfer** is the default payment method available.
The aim is providing your customers with your bank details
so they can pay on their own.
This is very easy to start with but slow and inefficient process-wise.
Opt for payment acquirers as soon as you can!
How to provide customers with payment instructions
==================================================
Put your payment instructions in the **Thanks Message** of your payment method.
.. image:: media/payment_instructions.png
:align: center
They will appear to the customers when they place an order.
.. image:: media/payment_customer_instructions.png
:align: center
How to manage an order once you get paid
========================================
Whenever a customer pays by wire transfer, the order stays in an
intermediary stage **Quotation Sent** (i.e. unpaid order).
When you get paid,
you confirm the order manually to launch the delivery.
How to create other manual payment methods
==========================================
If you manage a B2B business, you can create other manually-processed
payment methods like paying by check.
To do so, just rename *Wire Transfer* or duplicate it.
.. image:: media/payment_check.png
:align: center