5.6 KiB
Adyen
Adyen is a Dutch company that offers several online payment possibilities.
:::{seealso}
- {ref}
payment_providers/add_new
- {doc}
../payment_providers
:::
:::{note} Adyen works only with customers processing more than 10 million annually or invoicing a minimum of 1.000 transactions per month. :::
Configuration
:::{seealso}
{ref}payment_providers/add_new
:::
First, reach Adyen support to enable {guilabel}multiple partial capture
for you.
Credentials tab
Odoo needs your API Credentials to connect with your Adyen account, which comprise:
- Merchant Account: The code of the merchant account to use with Adyen.
- {ref}
API Key <adyen/api_and_client_keys>
: The API key of the webservice user. - {ref}
Client Key <adyen/api_and_client_keys>
: The client key of the webservice user. - {ref}
HMAC Key <adyen/hmac_key>
: The HMAC key of the webhook. - {ref}
Checkout API URL <adyen/urls>
: The base URL for the Checkout API endpoints. - {ref}
Recurring API URL <adyen/urls>
: The base URL for the Recurring API endpoints.
You can copy your credentials from your Adyen account, and paste them in the related fields under the Credentials tab.
:::{important}
If you are trying Adyen as a test, with an Adyen test account, head to
{menuselection}Accounting --> Configuration --> Payment Providers
. There, click on
{guilabel}Adyen
, enable {guilabel}Test Mode
and enter your credentials in the
{guilabel}Credentials
tab.
:::
(adyen-api-and-client-keys)=
API Key and Client Key
In order to retrieve the API Key and the Client Key, log into your Adyen account, go to
{menuselection}Developers --> API Credentials
.
- If you already have an API user, open it.
- If you don't have an API user yet, click on Create new credential.
Go to {menuselection}Server settings --> Authentification
and copy or generate your API Key.
Be careful to copy your API key as you'll not be allowed to get it later without generating a new
one.
Now, head to {menuselection}Client settings --> Authentification
and cody or generate your
Client Key. This is also the place where you can {ref}allow payments to be made from your website <adyen/allowed_origins>
.
(adyen-hmac-key)=
HMAC key
In order to retrieve the HMAC Key, you'll need to configure a Standard Notification
webhook. For
this, log into your Adyen account then go to {menuselection}Developers --> Webhooks --> Add webhook --> Add Standard notification
.
:align: center
:alt: Configure a webhook.
There, in {menuselection}General --> Server configuration --> URL
, enter your server address
followed by /payment/adyen/notification
.
:align: center
:alt: Enter the notification URL.
Then enter {menuselection}Security --> HMAC Key --> Generate
. Be careful to copy the key as you
will not be allowed to do it later without generating a new one.
:align: center
:alt: Generate a HMAC key and save it.
You have to save the webhook to finalize its creation.
(adyen-urls)=
API URLs
All Adyen API URLs include a customer area-specific prefix generated by Adyen. To configure the URLs, proceed as follows:
-
Log into your Adyen account, then go to {menuselection}
Developers --> API URLs
. -
Copy the {guilabel}
Prefix
for your live Customer area (i.e., data center) and save it for later.:alt: Copy the prefix for the Adyen APIs
-
In Odoo, {ref}
navigate to the payment provider Adyen <payment_providers/add_new>
. -
In the {guilabel}
Checkout API URL
field, enter the following URL and replaceyourprefix
with the prefix you previously saved:https://yourprefix-checkout-live.adyenpayments.com/checkout
-
In the {guilabel}
Recurring API URL
field, enter the following URL and replaceyourprefix
with the prefix you previously saved:https://yourprefix-pal-live.adyenpayments.com/pal/servlet/Recurring
.
:::{note} If you are trying Adyen as a test, you can use the following URLs instead:
- {guilabel}
Checkout API URL
:https://checkout-test.adyen.com
- {guilabel}
Recurring API URL
:https://pal-test.adyen.com/pal/servlet/Recurring
:::
Adyen Account
(adyen-allowed-origins)=
Allow payments from a specific origin
To allow payment originated from your website, follow the steps in {ref}adyen/api_and_client_keys
to navigate to your API user and go to {menuselection}Add allowed origins
, then add the URLs from
where payments will be made (the URLs of the servers hosting your Odoo instances).
:align: center
:alt: Allows payments originated from a specific domain.
Place a hold on a card
Adyen allows you to capture an amount manually instead of having an immediate capture.
To set it up, enable the Capture Amount Manually option on Odoo, as explained in the
{ref}payment providers documentation <payment_providers/manual_capture>
.
Then, open your Adyen Merchant Account, go to {menuselection}Account --> Settings
, and set the
Capture Delay to manual.
:align: center
:alt: Capture Delay settings in Adyen
:::{caution}
- If you configure Odoo to capture amounts manually, make sure to set the Capture Delay to manual on Adyen. Otherwise, the transaction will be blocked in the authorized state in Odoo. :::
:::{note}
- After 7 days, if the transaction has not been captured yet, the customer has the right to revoke it. :::
:::{seealso}
{doc}../payment_providers
:::