[IMP] accounting: authorize.net

task-2382237

Updating the main section in a separate PR as the original PR is stuck due
to uncertainties regarding the Import section.

closes odoo/documentation#4999

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
This commit is contained in:
Xavier (XPL) 2023-07-03 14:31:21 +00:00
parent c6e6401e36
commit 418e4f8a2c
5 changed files with 89 additions and 75 deletions

View File

@ -2,121 +2,135 @@
Authorize.Net Authorize.Net
============= =============
`Authorize.Net <https://www.authorize.net>`__ is a United States-based online payment solution `Authorize.Net <https://www.authorize.net>`_ is a United States-based online payment solution
provider, allowing businesses to accept **credit cards**. provider allowing businesses to accept **credit cards**. Among others, it offers the ability to
process customer payments after delivery.
.. image:: authorize/authorize-net.png
:align: center
:alt: Authorize.Net logo
This Payment Acquirer offers additional options that are not available for other :doc:`Payment
Acquirers <../payment_acquirers>`, such as the ability to process your customer's payment after
delivery.
Authorize.Net account Authorize.Net account
===================== =====================
If not done yet, choose a plan and `Sign Up for an Authorize.Net account First, choose a plan and `create an Authorize.Net account
<https://www.authorize.net/sign-up.html>`__. <https://www.authorize.net/sign-up/pricing.html>`_.
Odoo needs your **API Credentials & Keys** to connect with your Authorize.Net account, which Odoo needs the Authorize.Net account's **API credentials and keys** to connect to it, which
comprise: comprises the:
- API Login ID - API login ID,
- Transaction Key - Transaction key, and
- Signature Key - Signature key.
To retrieve them, log into your Authorize.Net account, go to :menuselection:`Account --> Security To retrieve them, log in to Authorize.Net and go to :menuselection:`Account --> Security Settings:
Settings --> General Security Settings --> API Credentials & Keys`, and generate your **Transaction API Credentials & Keys`. While the :guilabel:`API Login ID` is displayed, both keys need to be
Key** and **Signature Key**. generated.
To do so, select :guilabel:`New Transaction Key` and click :guilabel:`Submit`. Copy the key and
store it somewhere secure as it will not be displayed afterward. Repeat the same process for the
:guilabel:`Signature Key`.
.. image:: authorize/authorize-api-keys.png .. image:: authorize/authorize-api-keys.png
:align: center :alt: Generating the transaction and signature keys on Authorize.Net
:alt: Generate your Transaction Key and Signature Key on your Authorize.Net account
.. seealso:: .. seealso::
`Authorize.Net Getting Started Guide
<https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000002939>`_
- `Authorize.Net: Getting Started Guide Configuration
<https://support.authorize.net/s/article/Authorize-Net-Getting-Started-Guide>`__ =============
Payment Acquirer Configuration .. seealso::
============================== Refer to the :doc:`payment acquirers documentation <../payment_acquirers>` for more information
about general configuration options.
To configure Authorize.Net as Payment Acquirer in Odoo, go to :menuselection:`Accounting --> To activate Authorize.Net as a payment acquirer in Odoo, go to :menuselection:`Accounting -->
Configuration --> Payment Acquirers`, open **Authorize.Net**, and change the **State** to *Enabled*. Configuration --> Payment Acquirers`. Find :guilabel:`Authorize.Net`, click the :guilabel:`Activate`
Don't forget to click on *Save* once you've set everything up. button, and change the :guilabel:`State` to :guilabel:`Enabled`.
.. note::
Please refer to the :doc:`Payment Acquirers documentation <../payment_acquirers>` to read how to
configure this payment acquirer.
Credentials Credentials
----------- -----------
Copy your credentials from your Authorize.Net account (API Login Id, API Transaction Key, and API Fill in the :guilabel:`API Login Id`, :guilabel:`API Transaction Key`, and :guilabel:`API Signature
Signature Key), paste them in the related fields under the **Credentials** tab, then click on Key` fields with the values displayed or generated on Authorize.Net's :guilabel:`API Credentials &
**Generate Client Key**. Keys` page, and :guilabel:`Save`.
.. note:: .. note::
The **API Client Key** is necessary only if you select *Payment from Odoo* option as An :guilabel:`API Client Key` is only necessary if the :guilabel:`Payment from Odoo` option is
:ref:`Payment Flow <payment_acquirers/payment_flow>`. selected as :ref:`Payment Flow <payment_acquirers/payment_flow>`.
.. important:: .. important::
If you are trying Authorize.Net as a test, with a *sandbox account*, change the :guilabel:`State` To test Authorize.Net with a **sandbox account**, first change the :guilabel:`State` field to
to :guilabel:`Test Mode`. We recommend doing this on a test Odoo database, rather than on your :guilabel:`Test Mode`. It is recommended to do so on a test Odoo database, rather than on a
main database. production database.
If you set :guilabel:`Test Mode` on Odoo and use an authorize.net account instead of a .. note::
sandbox.authorize.net account, it results in the following error: *The merchant login ID or If the :guilabel:`Test Mode` is used with the credentials of a non-sandbox account, it will
password is invalid or the account is inactive*. result in the following error: *The merchant login ID or password is invalid or the account is
inactive*.
Payment Flow Payment flow
------------ ------------
The **Payment Flow** lets you decide if to redirect the user to the payment acquirer's portal to It is possible either to redirect users to Authorize.Net's portal to authenticate the payment or to
authenticate the payment, or if to stay on the current page and authenticate the payment from Odoo. keep users on the current page and authenticate the payment from Odoo.
This field is under the **Configuration** tab.
If you select *Redirection to the acquirer website*, make sure you add a **Default Receipt URL** and To configure the payment flow, go to :menuselection:`Accounting --> Configuration --> Payment
a **Default Relay Response URL** to your Authorize.net account. Acquirers --> Authorize.Net --> Configuration tab`. Under :guilabel:`Payment Flow`, select
:guilabel:`Redirection to the acquirer website` or :guilabel:`Payment from Odoo` and
:guilabel:`Save`.
To do so, log into your Authorize.Net account, go to :menuselection:`Account --> Transaction Format Payment from Odoo
Settings --> Transaction Response Settings --> Response/Receipt URLs`, and set the default links: ~~~~~~~~~~~~~~~~~
- | Default Receipt URL: If :guilabel:`Payment from Odoo` is selected, an :guilabel:`API Client Key` is needed. To generate
| *https://[yourcompany.odoo.com]*/**payment/authorize/return** one, go to :menuselection:`Accounting --> Configuration --> Payment Acquirers --> Authorize.Net -->
- | Default Relay Response URL: Credentials tab`. Click :guilabel:`Generate Client Key` to automatically fill in the :guilabel:`API
| *https://[yourcompany.odoo.com]*/**shop/confirmation** Client Key` field and :guilabel:`Save`.
Redirection to the acquirer website
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If :guilabel:`Redirection to the acquirer website` is selected, a :guilabel:`Default Receipt URL`
and :guilabel:`Default Relay Response URL` should be added to the Authorize.Net account.
To do so, log in to Authorize.Net, and go to :menuselection:`Account --> Transaction Format
Settings: Response/Receipt URLs`. Click :guilabel:`Add URL`, enter the URL following the format
below, and click :guilabel:`Submit`:
- :guilabel:`Default Receipt URL`: add `/payment/authorize/return` after the main website URL.
.. example::
`https://example.odoo.com/payment/authorize/return`
- :guilabel:`Default Relay Response URL`: add `/shop/confirmation` after the main website URL.
.. example::
`https://example.odoo.com/shop/confirmation`
.. image:: authorize/authorize-redirect-urls.png
:alt: Adding the response and receipt URLs on Authorize.Net
.. note:: .. note::
| Failing to complete this step results in the following error: Failing to complete this step results in the following error: *The referrer, relay response or
| *The referrer, relay response or receipt link URL is invalid.* receipt link URL is invalid*.
Capture the payment after the delivery Capture payments after delivery
-------------------------------------- -------------------------------
The **Capture Amount Manually** field is under the **Configuration** tab. If enabled, the funds are To reserve funds for 30 days on the customer's card without charging them yet, go to
reserved for 30 days on the customer's card, but not charged yet. :menuselection:`Accounting --> Configuration --> Payment Acquirers --> Authorize.Net -->
Configuration tab`, enable :guilabel:`Capture Amount Manually`, and :guilabel:`Save`.
.. image:: authorize/authorize-configuration.png To capture the payment, go to the related sales order and click :guilabel:`Capture Transaction`. If
:align: center the order is canceled, click :guilabel:`Void Transaction` to unlock the funds from the customer's
:alt: Authorize.Net Configuration tab on Odoo card.
To capture the payment, go to the related Sales Order and click on *Capture Transaction*. If the
order is canceled, you can click on *Void Transaction* to unlock the funds from the customer's card.
.. image:: authorize/authorize-capture.png .. image:: authorize/authorize-capture.png
:align: center :alt: Capturing the payment manually
:alt: Hold the credit card payment until you capture or revoke it on Odoo
.. warning:: .. warning::
After **30 days**, the transaction is **voided automatically** by Authorize.net. After **30 days**, transactions are **voided automatically** by Authorize.Net.
.. note::
With other payment acquirers, you can manage the capture in their own interfaces, not from Odoo.
.. seealso:: .. seealso::
- `Authorize.Net: Getting Started Guide - `Authorize.Net: Getting Started Guide
<https://support.authorize.net/s/article/Authorize-Net-Getting-Started-Guide>`__ <https://support.authorize.net/s/article/Authorize-Net-Getting-Started-Guide>`_
- :doc:`../payment_acquirers` - :doc:`../payment_acquirers`
- :doc:`../../websites/ecommerce/shopper_experience/payment_acquirer` - :doc:`../../websites/ecommerce/shopper_experience/payment_acquirer`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB