Retail:Adyen Payment Provider
This document describes the installation and configuration of the Openbravo payment integration with Adyen. Adyen is a global payment company that allows business to accept e-commerce, mobile and point-of-sale payments.
This integration takes advantage of the payment methods grouping by provider functionality that allows to use one single payment button in Web POS and select a different payment method depending on the type of card used in the payment transaction: VISA, AMEX,...
The Web POS application communicates with the Adyen backend through the Hardware Manager, and it is the Adyen backend who manages the communication with the payment device.
The communication with the Adyen backend is based in HTTP and REST, and uses the Adyen's point-of-sale solution.
This is an overview of the architecture.
Installation and configuration
This integration has been developed and tested with the Verifone V400M model. But it will work with any other supported device by Adyen.
First you need to configure your merchant account and board the device provided by Adyen. This is done in the Adyen customer area in the section Point of sale > Devices. Follow the Adyen Board the terminal documentation to configure your account and board the device.
As System administrator you need first to install the module Adyen Payment Provider. This module implements the integration. After the module is installed, you can rebuild the application and start the configuration. Follow the Modules_Management documentation for the details to install a new module.
To configure Openbravo log in Openbravo as Company administrator and follow these steps.
In the window Provider Group create a new record and select in the field Provider the value Adyen. In Name The label to display in the payment button, and in API Key, the value provided by Adyen to you as a merchant. This can be obtained in the Adyen customer area in the section Account > Users. Follow the Adyen How to get the API key documentation for more detail.
In order to test the Openbravo configuration and simulate payments, refunds, void transactions and card adquisitions without having a payment device or a merchant account you can use the provider Adyen Mock. This provider will simulate a connection error if the amount is 100.01, a user cancellation if the amount is 100.02, a success of a partial amount of 50.00 if the amount is 100.03 and success for the full amount in any other case.
Here you have an example of a Provider Group configuration using Adyen.
Then complete the payment methods configuration in the windows Channel - Touchpoint and Channel - Touchpoint Type linking in this last window the corresponding payment methods with the Provider Group created in the previous step and the Payment Method Type assigned to each payment method. For more information about how to configure payment methods using this Provider Group go to the guide Payment Methods grouping by Provider.
Payment terminals must be registered in Openbravo in the window Adyen Terminal. Create one record for each device with the following fields:
- Terminal ID. The Adyen unique ID of the terminal, in the format [device model]-[serial number]. For example, P400-123456789.
- Name. A descriptive identifier for the terminal used to display.
- Network. Select Cloud or Cloud (Testing mode). The last one Cloud (Testing mode) uses the testing Adyen platform
Here you have an example of a Adyen Terminal record.
Finally in the Channel - Touchpoint window, select the Adyen terminal to be used with each Openbravo POS terminal. Here you must be sure to fill in the Hardware URL field and select in Adyen Terminal one of the terminals registered in the previous step. The field Hardware URL is required because the Adyen integration requires the Hardware Manager running as a proxy for the communications between the POS terminal and the Adyen API. But there is no need to do any configuration in the Hardware Manager.
Here you have an example of a POS terminal configured with one Adyen terminal.
Once everything is configured, the operation of the POS terminal is as usual. In the moment to process a payment transaction select the button with the Provider Group name configured and add the payment. In this case, a dialog will appear waiting for the Adyen terminal to process the payment. And after the payment is completed. The terminal will print a customer and merchant copy, the dialog will disappear and the payment line will appear in the Web POS application.
When closing the receipt, the receipt will be printed.
This integration also allows tokenizing the customer's card for customer identification and payments without the customer's card present. The acquisition of a customer card must be done in a payment process. This means first must be configured the customer to request the card acquisition and in the next payment of this customer using a card, the card will be acquired by Adyen and the token generated stored in Openbravo.
To configure this functionality, the customer information has a new field named Request Card Acquisition, and when this field is selected it must be filled in also the field named Recurring Contract, that has three possible values: Recurring, One click, and One click, Recurring. This last field indicates the type of recurring contract to be used:
- One click: The customer opts to store their card details for future use. The customer is present for the subsequent transaction, for cards the security code (CVC/CVV) is required.
- Recurring: Payment details are stored for future use. For cards, the security code (CVC/CVV) is not required for subsequent payments. This is used for a customer not present transactions.
- One click, Recurring: Payment details are stored for future use. This allows the use of the stored payment details regardless of whether the shopper is on your site or not.
The customer fields for card acquisition can be edited in the backend:
Or in the POS terminal:
Once the token of the card acquired has been stored in Openbravo, the field Stored Card will be displayed as checked in the backend and in the POS terminal. With the card stored it is possible to request the card again, just mark the field Request Card Acquisition, and the card will be acquired in the next payment of the customer.
In case you want to delete the stored card token there is a button in the backend, in the window Business Partner, named Remove token, that deletes the token of the stored card of the customer.