From 03e9a8fd2b54e341de8f6511536514bae951b21f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CAudrey?= <“auva@odoo.com”> Date: Fri, 29 Dec 2023 10:36:31 +0100 Subject: [PATCH] [IMP] payment_providers: restructure doc page task-3702587 Based on https://github.com/odoo/documentation/pull/7414 Up to saas-16.4 closes odoo/documentation#7545 Signed-off-by: Audrey Vandromme (auva) --- .../finance/accounting/payments/online.rst | 6 +- .../finance/payment_providers.rst | 402 +++++++++--------- .../finance/payment_providers/activation.png | Bin 24877 -> 0 bytes .../finance/payment_providers/adyen.rst | 2 +- .../finance/payment_providers/authorize.rst | 2 +- .../finance/payment_providers/paypal.rst | 7 +- content/applications/sales/subscriptions.rst | 4 +- .../checkout_payment_shipping/payments.rst | 3 +- 8 files changed, 208 insertions(+), 218 deletions(-) delete mode 100644 content/applications/finance/payment_providers/activation.png diff --git a/content/applications/finance/accounting/payments/online.rst b/content/applications/finance/accounting/payments/online.rst index 5610b2d52..3bb734f7e 100644 --- a/content/applications/finance/accounting/payments/online.rst +++ b/content/applications/finance/accounting/payments/online.rst @@ -20,11 +20,11 @@ method, making the payment process much easier. Configuration ============= -Make sure your :ref:`Payment Providers are correctly configured `. +Make sure your :doc:`payment providers are correctly configured <../../payment_providers>`. .. note:: - By default, ":doc:`Wire Transfer `" is the only - Payment Provider activated, but you still have to fill out the payment details. + By default, ":doc:`Wire Transfer `" is the + only payment provider activated, but you still have to fill out the payment details. To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*. diff --git a/content/applications/finance/payment_providers.rst b/content/applications/finance/payment_providers.rst index 5373e092e..d6f3ff844 100644 --- a/content/applications/finance/payment_providers.rst +++ b/content/applications/finance/payment_providers.rst @@ -1,8 +1,8 @@ :show-content: -================================================= -Payment providers (credit cards, online payments) -================================================= +=============== +Online payments +=============== .. toctree:: :titlesonly: @@ -24,34 +24,27 @@ Payment providers (credit cards, online payments) payment_providers/sips payment_providers/stripe -Odoo embeds several **payment providers** that allow your customers to pay on their *Customer -Portals* or your *eCommerce website*. They can pay sales orders, invoices, or subscriptions with -recurring payments with their favorite payment methods such as **Credit Cards**. - -Offering several payment methods increases the chances of getting paid in time, or even immediately, -as you make it more convenient for your customers to pay with the payment method they prefer and -trust. +Odoo embeds several **payment providers** that allow your customers to pay online, on their +*customer portals*, or on your *eCommerce website*. They can pay sales orders, invoices, or +subscriptions with recurring payments using their favorite payment methods, such as +**credit cards**. .. image:: payment_providers/online-payment.png - :align: center - :alt: Pay online in the customer portal and select which payment provider to use. + :alt: Online payment form .. note:: Odoo apps delegate the handling of sensitive information to the certified payment provider so - that you don't ever have to worry about PCI compliance. - - This means that no sensitive information (such as credit card numbers) is stored on Odoo servers - or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number to the data - stored safely in the payment providers' systems. + that you don't ever have to worry about PCI compliance. No sensitive information (such as credit + card numbers) is stored on Odoo servers or Odoo databases hosted elsewhere. Instead, Odoo apps + use a unique reference number for the data stored safely in the payment providers' systems. .. _payment_providers/supported_providers: Supported payment providers =========================== -From an accounting perspective, we can distinguish two types of payment providers: the payment -providers that are third-party services and require you to follow another accounting workflow, and -the payments that go directly on the bank account and follow the usual reconciliation workflow. +To access the supported payment providers, go to :menuselection:`Accounting --> Configuration --> +Payment Providers` or :menuselection:`Website --> Configuration --> Payment Providers`. .. _payment_providers/online_providers: @@ -65,11 +58,11 @@ Online payment providers * - - Payment flow from - - :ref:`Tokenization ` - - :ref:`Manual capture ` - - :ref:`Refunds ` - - :ref:`Express checkout ` - - :ref:`Extra fees ` + - :ref:`Tokenization ` + - :ref:`Manual capture ` + - :ref:`Refunds ` + - :ref:`Express checkout ` + - :ref:`Extra fees ` * - :doc:`Adyen ` - Odoo - |V| @@ -78,14 +71,14 @@ Online payment providers - - * - :doc:`Amazon Payment Services ` - - The provider website + - The provider's website - - - - - * - :doc:`AsiaPay ` - - The provider website + - The provider's website - - - @@ -99,56 +92,56 @@ Online payment providers - - * - :doc:`Buckaroo ` - - The provider website + - The provider's website - - - - - * - :doc:`Flutterwave ` - - The provider website + - The provider's website - |V| - - - - * - :doc:`Mercado Pago ` - - The provider website + - The provider's website - - - - - * - :doc:`Mollie ` - - The provider website + - The provider's website - - - - - * - :doc:`PayPal ` - - The provider website + - The provider's website - - - - - |V| * - :doc:`Razorpay ` - - The provider website + - The provider's website - - Full only - Full and partial - - * - :doc:`SIPS ` - - The provider website + - The provider's website - - - - - * - :doc:`Stripe ` - - The provider website + - The provider's website - |V| - Full only - Full and partial @@ -158,17 +151,19 @@ Online payment providers .. |V| replace:: ✔ .. note:: - Some of these online payment providers can also be added as :doc:`bank accounts - <../finance/accounting/bank>`, but this is **not** the same process as adding - them as payment providers. Payment providers allow customers to pay online, and bank accounts are - added and configured on your Accounting app to do a bank reconciliation, which is an accounting - control process. + - Each provider has its own specific configuration flow, depending on which feature is + available. + - Some of these online payment providers can also be added as :doc:`bank accounts + <../finance/accounting/bank>`, but this is **not** the same process as adding them as payment + providers. Payment providers allow customers to pay online, and bank accounts are added and + configured in the Accounting app to do a :doc:`bank reconciliation + `. .. tip:: - In addition to the regular payment providers that integrate with an API such as Stripe, PayPal, + In addition to the regular payment providers that integrate with an API, such as Stripe, PayPal, or Adyen, Odoo bundles the :doc:`Demo payment provider `. This payment - provider allows you to make demo payments to test business flows involving online payments. No - credentials are required as the demo payments are fake. + provider allows you to test business flows involving online payments. No credentials are required + as the demo payments are dummy payments. .. _payment_providers/bank_payments: @@ -177,244 +172,238 @@ Bank payments - | :doc:`Wire Transfer ` | When selected, Odoo displays your payment information with a payment reference. You have to - approve the payment manually once you have received it on your bank account. + approve the payment manually once you have received it in your bank account. - | :doc:`SEPA Direct Debit <../finance/accounting/payments/batch_sdd>` - | Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged - directly. + | Your customers can make a bank transfer to register a SEPA Direct Debit mandate and get their + bank account charged directly. -.. _payment_providers/features: +.. _payment_providers/add_new: -Additional features -=================== +Enable a payment provider +========================= -Some payment providers support additional features for the payment flow. Refer to the :ref:`table -above ` to check if your payment provider supports these -features. +To add a new payment provider and make its related payment methods available to your customers, +proceed as follows: -.. _payment_providers/features/tokenization: +#. Go to the payment provider's website, create an account, and make sure you have the API + credentials requested for third-party use. These are necessary for Odoo to communicate with the + payment provider. +#. In Odoo, navigate to the :guilabel:`Payment providers` by going to :menuselection:`Accounting --> + Configuration --> Payment Providers` or :menuselection:`Website --> Configuration --> Payment + Providers`. +#. Select the provider and configure the :guilabel:`Credentials` tab. +#. Set the :guilabel:`State` field to :guilabel:`Enabled`. + +.. note:: + - The fields available in the :guilabel:`Credentials` tab depend on the payment provider. Refer + to the :ref:`related documentation ` for more + information. + - Once you have enabled the payment provider, it is automatically published on your website. + If you wish to unpublish it, click the :guilabel:`Published` button. Customers cannot make + payments through an unpublished provider, but they can still manage + :dfn:`(delete and assign to a subscription)` their existing tokens linked to such a provider. + +.. _payment_providers/test-mode: + +Test mode +--------- + +If you wish to try the payment provider as a test, set the :guilabel:`State` field in the payment +provider form to :guilabel:`Test mode`, then enter your provider's test/sandbox credentials in the +:guilabel:`Credentials` tab. + +.. note:: + By default, the payment provider remains **unpublished** in test mode so that it's not visible to + visitors. + +.. warning:: + We recommend using the test mode on a duplicate or a test database to avoid potential issues + with your invoice numbering. + +.. _payment_providers/payment_methods: + +Payment form +============ + +You can change the payment provider’s appearance on your website in the :guilabel:`Configuration` +tab of the selected payment provider. Modify its name in the :guilabel:`Displayed as` field and +adapt the :guilabel:`Supported Payment Icons` if necessary. + +.. _payment_providers/tokenization: Tokenization ------------- +============ -If your payment provider supports this feature, customers can choose to save their card for later. A -**payment token** is created in Odoo and can be used as a payment method for subsequent payments -without having to enter the card details again. This is particularly useful for the eCommerce -conversion rate and for subscriptions that use recurring payments. +:ref:`If the payment provider supports this feature `, customers +can save their payment method details for later. To enable this feature, go to the +:guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Allow Saving +Payment Methods`. -Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider -and by ticking the :guilabel:`Allow Saving Payment Methods` checkbox. +In this case, a **payment token** is created in Odoo to be used as a payment method for subsequent +payments without the customer having to enter their payment method details again. This is +particularly useful for the eCommerce conversion rate and subscriptions that use recurring payments. .. note:: You remain fully PCI-compliant when you enable this feature because Odoo does not store the card - details directly. Instead, it creates a payment token that only holds a reference to the card - details stored on the payment provider's server. + details directly. Instead, it creates a payment token that only references the card details + stored on the payment provider's server. -.. _payment_providers/features/manual_capture: +.. _payment_providers/manual_capture: Manual capture --------------- +============== -If your payment provider supports this feature, you can authorize and capture payments in two steps -instead of one. When you authorize a payment, the funds are reserved on the customer's payment -method but they are not immediately charged. The charge is only made when you manually capture the -payment later on. You can also void the authorization to release the reserved funds; this is -equivalent to a regular cancellation. Capturing payments manually can prove itself useful in many -situations: +:ref:`If the payment provider supports this feature `, you can +authorize and capture payments in two steps instead of one. To enable this feature, go to the +:guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Capture Amount +Manually`. - - Receive the payment confirmation and wait until the order is shipped to capture the payment. - - Review and verify that orders are legitimate before the payment is completed and the fulfillment - process starts. - - Avoid potentially high processing fees for cancelled payments: payment providers will not charge - you for voiding an authorization. - - Hold a security deposit to return later, minus any deductions (e.g., after a damage). +When you authorize a payment, the funds are reserved on the customer's payment method but not +immediately charged. They are charged when you manually capture the payment later on. You can also +void the authorization to cancel it and release the reserved funds. Capturing payments manually is +helpful in many situations: -Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider -and by ticking the :guilabel:`Capture Amount Manually` checkbox. +- Receive the payment confirmation and wait until the order is shipped to capture the payment. +- Review and verify that orders are legitimate before the payment is completed and the fulfillment + process starts. +- Avoid potentially high refund fees for refunded payments: payment providers will not charge you + for voiding an authorization. +- Hold a security deposit to return later, minus any deductions (e.g., in case of damages). To capture the payment after it was authorized, go to the related sales order or invoice and click -on the :guilabel:`CAPTURE TRANSACTION` button. To release the funds, click on the :guilabel:`VOID -TRANSACTION` button. +the :guilabel:`Capture Transaction` button. To release the funds, click the :guilabel:`Void +Transaction` button. .. note:: - Some payment providers support capturing only part of the authorized amount. The remaining amount can then be either captured or voided. These providers have the value **Full and partial** in the :ref:`table above `. The providers that - only support capturing or voiding the full amount have the value **Full only**. + only support capturing or voiding the total amount have the value **Full only**. - The funds are likely not reserved forever. After a certain time, they may be automatically released back to the customer's payment method. Refer to your payment provider's documentation for the exact reservation duration. - - Odoo does not support this feature for all payment providers but some allow the manual capture + - Odoo does not support this feature for all payment providers, but some allow the manual capture from their website interface. -.. _payment_providers/features/refund: +.. _payment_providers/refunds: Refunds -------- +======= If your payment provider supports this feature, you can refund payments directly from Odoo. It does -not need to be enabled first. To refund a customer payment, navigate to it and click on the -:guilabel:`REFUND` button. +not need to be enabled first. To refund a customer payment, navigate to it and click the +:guilabel:`Refund` button. .. note:: - Some payment providers support refunding only part of the amount. The remaining amount can then - optionally be refunded too. These providers have the value **Full and partial** in the + optionally be refunded, too. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support - refunding the full amount have the value **Full only**. - - Odoo does not support this feature for all payment providers but some allow to refund payments + refunding the total amount have the value **Full only**. + - Odoo does not support this feature for all payment providers, but some allow to refund payments from their website interface. -.. _payment_providers/features/express_checkout: +.. _payment_providers/express_checkout: Express checkout ----------------- +================ -If your payment provider supports this feature, customers can use the **Google Pay** and **Apple -Pay** buttons to pay their eCommerce orders in one click without filling the contact form. Using one -of those buttons, customers go straight from the cart to the confirmation page, stopping by the -payment form of Google or Apple to validate the payment. +:ref:`If the payment provider supports this feature `, you can +allow customers to use the :guilabel:`Google Pay` and :guilabel:`Apple Pay` buttons and pay their +eCommerce orders in one click. When they use one of these buttons, customers go straight from the +cart to the confirmation page without filling out the contact form. They just have to validate the +payment on Google's or Apple's payment form. -Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider -and by ticking the :guilabel:`Allow Express Checkout` checkbox. +To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and +enable :guilabel:`Allow Express Checkout`. .. note:: - All prices shown in the express checkout payment form are always taxes included. + All prices shown on the express checkout payment form always include taxes. -.. _payment_providers/features/extra_fees: +.. _payment_providers/extra_fees: Extra Fees ----------- +========== -If supported by the payment provider, you can add **extra fees** to online transactions. Fees can be -configured either as **fixed** amounts and percentages, **variable** amounts and percentages, or -*both* simultaneously. These can be applied according to **domestic** or **international** -geolocation. +:ref:`If the payment provider supports this feature `, you can +add extra fees to online transactions. Fees can be configured either as **fixed** amounts and +percentages, **variable** amounts and percentages, or both simultaneously. They can also differ +based on whether the transaction is **domestic** or **international**. -To enable fees, from the *eCommerce* or *Accounting* app, head to :menuselection:`Configuration ---> Payment Providers` and select the desired supported provider. Click on the :guilabel:`Fees` tab -and check the :guilabel:`Add Extra Fees` box. Configure the settings to your needs. +To enable this feature, go to the :guilabel:`Fees` tab of the selected payment provider, enable +:guilabel:`Add Extra Fees`, and configure the settings to your liking. .. note:: Fees are calculated on the tax-included price. -.. _payment_providers/configuration: +Availability +============ -Configuration -============= +You can adapt the payment provider's availability by specifying the :guilabel:`Maximum Amount` +allowed and modifying the :guilabel:`Currencies` and :guilabel:`Countries` in the +:guilabel:`Configuration` tab. + + +.. _payment_providers/currencies_countries: + +Currencies and countries +------------------------ + +All payment providers have a different list of available currencies and countries. They serve as a +first filter during payment operations, i.e., the payment methods linked to the payment provider are +not available for selection if the customer's currency or country is not in the supported list. As +there might be errors, updates, and unknowns in the lists of available currencies and countries, +adding or removing a payment provider's supported currencies or countries is possible. .. note:: - Each provider has its specific configuration flow, depending on :ref:`which feature is available - `. -.. _payment_providers/add_new: + - :ref:`Payment methods ` also have their own list of + available currencies and countries that serves as another filter during payment operations. + - If the list of supported currencies or countries is empty, it means the list is too long to be + displayed, or Odoo does not have information on that payment provider. The payment provider + remains available, even though it is possible the payment will be refused at a later stage + should the country or currency not be supported. -Add a new payment provider --------------------------- +Maximum amount +-------------- -To add a new payment provider and make it available to your customers, go to -:menuselection:`Accounting --> Configuration --> Payment Providers`, look for your payment provider, -install the related module, and activate it. To do so, open the payment provider and change its -state from *Disabled* to *Enabled*. - -.. image:: payment_providers/activation.png - :align: center - :alt: Click on install, then on activate to make the payment provider available on Odoo. - -.. warning:: - We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is - meant to be used with your test/sandbox credentials, but Odoo generates Sales Orders and Invoices - as usual. It isn't always possible to cancel an invoice, and this could create some issues with - your invoices numbering if you were to test your payment providers on your main database. - -.. _payment_providers/credentials_tab: - -Credentials tab -~~~~~~~~~~~~~~~ - -If not done yet, go to the online payment provider website, create an account, and make sure to have -the credentials required for third-party use. Odoo requires these credentials to communicate with -the payment provider. - -The form in this section is specific to the payment provider you are configuring. Please refer to -the related documentation for more information. - -.. _payment_providers/configuration_tab: - -Configuration tab -~~~~~~~~~~~~~~~~~ - -You can change the payment provider's front-end appearance by modifying its name under the -**Displayed as** field and which credit card icons to display under the **Supported Payment Icons** -field. - -.. _payment_providers/countries: - -Countries -********* - -Restrict the use of the payment provider to a selection of countries. Leave this field blank to make -the payment provider available in all countries. - -Maximum Amount -************** - -Restrict the maximum amount that can be paid with the selected provider. Leave this field to `0.00` -to make the payment provider available regardless of the payment amount. +You can restrict the :guilabel:`Maximum Amount` that can be paid with the selected provider. Leave +the field to `0.00` to make the payment provider available regardless of the payment amount. .. important:: - This feature is not intended to work on pages which allow the customer to update the payment - amount. For example, the **Donation** snippet of the Website app, and the **Checkout** page of - the **eCommerce** app when paid delivery methods are enabled. + This feature is not intended to work on pages that allow the customer to update the payment + amount, e.g., the **Donation** snippet and the **Checkout** page when paid :doc:`shipping methods + <../websites/ecommerce/checkout_payment_shipping/shipping>` are enabled. .. _payment_providers/journal: Payment journal -*************** +=============== -The **Payment journal** selected for your payment provider must be a *Bank* journal. +A :doc:`payment journal ` must be defined for the payment provider to record the +payments on an **outstanding account**. To do so, go to the :guilabel:`Configuration` tab of the +selected payment provider and select a :guilabel:`Payment Journal`. -.. _payment_providers/publish: - -Publish on the website ----------------------- - -By default, payment providers are *unpublished*, which means that only internal users can see them -on the website. Your customers cannot make payments through an unpublished provider but they can -still manage :dfn:`(delete and assign to a subscription)` their already existing tokens linked to -such an provider. This conveniently allows you to test an provider while preventing making payments -and registering new tokens. - -Click on the :guilabel:`Publish` button located in the top right corner of the provider's form to -publish it on the website and make it available to your customers. Click on the -:guilabel:`Unpublish` button to unpublish it. - -.. tip:: - Payment providers are automatically published and unpublished when you respectively change their - state to `enabled` and `test`. - -.. _payment_providers/accounting: +.. note:: + - The payment journal must be a :guilabel:`Bank` journal. + - The same journal can be used for several payment providers. Accounting perspective -====================== +---------------------- -The **Bank Payments** that go directly to one of your bank accounts follow their usual -reconciliation workflows. However, payments recorded with **Online Payment Providers** require you -to consider how you want to record your payments' journal entries. We recommend you to ask your -accountant for advice. +From an accounting perspective, there are two types of online payment workflows: the payments that +are directly deposited into your bank account and follow the usual :doc:`reconciliation +` workflow, and those coming from third-party :ref:`online payment +providers ` and require you to follow another accounting +workflow. For these payments, you need to consider how you want to record your payments' journal +entries. We recommend you ask your accountant for advice. -You need to select a *Payment Journal* on your provider configuration to record the payments, -on a **Outstanding Account**. The Journal's **type** must be *Bank Journal*. - -You can use a single journal for many payment methods. And for each payment method, you can either: - -- Define an **Accounting Account** to separate these payments from another payment method. -- Leave blank to fallback on the default account, which you can see or change in the settings. +By default, the :guilabel:`Bank Account` defined for the :ref:`payment journal +` is used, but you can also specify an :ref:`outstanding account +` for each payment provider to separate the provider's payments from +other payments. .. image:: payment_providers/bank_journal.png - :align: center - :alt: A bank journal in the "Incoming Payments Tab". - -You can have the same bank account for the whole company, or for some journals only, or a single -payment method... What best suit your needs. + :alt: Define an outstanding account for a payment provider. .. seealso:: - :doc:`payment_providers/wire_transfer` @@ -432,3 +421,4 @@ payment method... What best suit your needs. - :doc:`payment_providers/sips` - :doc:`payment_providers/stripe` - :doc:`../websites/ecommerce/checkout_payment_shipping/payments` + - :doc:`accounting/bank` diff --git a/content/applications/finance/payment_providers/activation.png b/content/applications/finance/payment_providers/activation.png deleted file mode 100644 index 617e11621d2128e6f0ffa9797cb22f8a25bee1b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24877 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. +:ref:`payment providers documentation `. Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settings`, and set the **Capture Delay** to **manual**. diff --git a/content/applications/finance/payment_providers/authorize.rst b/content/applications/finance/payment_providers/authorize.rst index 430ed9463..978269232 100644 --- a/content/applications/finance/payment_providers/authorize.rst +++ b/content/applications/finance/payment_providers/authorize.rst @@ -41,7 +41,7 @@ Place a hold on a card ~~~~~~~~~~~~~~~~~~~~~~ With Authorize.Net, you can enable the :ref:`manual capture -`. If enabled, the funds are reserved for 30 days on the +`. If enabled, the funds are reserved for 30 days on the customer's card, but not charged yet. .. warning:: diff --git a/content/applications/finance/payment_providers/paypal.rst b/content/applications/finance/payment_providers/paypal.rst index f21ad8176..b46ecd360 100644 --- a/content/applications/finance/payment_providers/paypal.rst +++ b/content/applications/finance/payment_providers/paypal.rst @@ -123,13 +123,14 @@ retrieve the token by following the configuration steps at :ref:`paypal/pdt`. Extra fees ---------- -You can charge :ref:`extra fees ` to customers choosing to -pay with PayPal in order to cover the transaction fees PayPal charges you. +You can charge :ref:`extra fees ` to customers choosing to pay with +PayPal in order to cover the transaction fees PayPal charges you. .. note:: - You can refer to `Paypal Fees `_ to set up fees. - - `Traders in the EU `_ are not allowed to charge extra fees for paying with credit cards. + - `Traders in the EU `_ + are not allowed to charge extra fees for paying with credit cards. .. _paypal/testing: diff --git a/content/applications/sales/subscriptions.rst b/content/applications/sales/subscriptions.rst index 39765193f..a1327477d 100644 --- a/content/applications/sales/subscriptions.rst +++ b/content/applications/sales/subscriptions.rst @@ -71,8 +71,8 @@ invoice manually. .. important:: If the online confirmation requires a pre-payment, your customer can select only the :ref:`payment providers ` that have the :ref:`tokenization - feature `. This ensures that the customer is - automatically charged at each new period. + feature `. This ensures that the customer is automatically + charged at each new period. .. toctree:: :titlesonly: diff --git a/content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst b/content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst index 4677ca104..861ab3a0c 100644 --- a/content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst +++ b/content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst @@ -21,8 +21,7 @@ Alternatively, you can access **payment providers** via :menuselection:`Website --> Settings`. In the :guilabel:`Shop - Payment` section, you can :guilabel:`Configure SEPA Direct Debit` if you wish to use it, as well as :guilabel:`View other providers`. If you use the :guilabel:`Authorize.net` payment provider, the -:ref:`Payment Capture Method ` can be configured in that -same menu. +:ref:`Payment Capture Method ` can be configured in that same menu. If you are using :doc:`/applications/finance/payment_providers/paypal`, you can also enable and configure it here.