- Adyen Test Account
- Adyen Payment terminal
- SAP Customer Checkout
- Adyen API Key (if dynamic terminal choice is used)
Download the Adyen certificates from [here](Building a local integration | Adyen Docs), rename them as shown and place them also in the AP folder.
Please log into your adyen account and create a new store for your merchant account.
A: Add Store reference for example e.g. A25
B: Add Store description
C: Add information which is shown on the shopper receipt
Add address and phone number and add the store. Afterwards assign your terminal to your newly created store. To achieve this, go to In-person payments -> Terminals. Click on the button "..." of the terminal and choose "Reassign".
Connect your terminal to your local network. Either with LAN or via Wifi. Please consult the manuals for your specific terminal [here](Get started manuals | Adyen Docs).
Note: Usually the terminal has to be in the same network as the CCO instance. If this is not the case or not possible, please talk to your network administrators.
Start your SAP CCO instance, login as User with administrative privileges and go to the configuration backend. In the tab Accounting open the subtab Credit Card Type.
Add a new credit card which will trigger the payment transaction on the adyen terminal. The card can be called Adyen but you can name the new card as you like. Set the visibility of all other cards (except the ones not handled by the payment terminal) to Visible = OFF but keep them active. The Adyen card should be visible.
KEY | VALUES |
---|---|
ADYEN_ACTIVATE_DYNAMIC_TERMINAL | true / false If true is selected, the terminal is not linked to a single POS. When by card at the checkout, the cashier is asked which terminal should be used. This can be usefull, if you use CCO on a tablet and the POS has not a fixed location in the store. Note: The API Key has also be provided. |
ADYEN_ACTIVATE_UNREFERENCED_REFUNDS | true / false Handles refunds only allowed with a referenced payment from an older receipt. This has to be activated by Adyen. Please consult your Adyen contact person. |
ADYEN_API_KEY | XSA2342FEFASFEF This can be created in your Adyen backend in the section Developers / API credentials. Note: The permission to use the terminal management API has to be activated by Adyen. Please consult your Adyen contact. |
ADYEN_CARD_MAPPING![]() |
mc=3;amex=1;visa=2;visa_applepay=2;maestro=5 The adyen terminal will respond with an alphanumeric code as represenation for the card being used. The codes can be found here. This alphanumeric code has to be mapped to a specific credit card in CCO. The mapping works with an imaginary wildcard. This means, if you want to map all visa payment methods to CCO card 2 except visa_applepay and visabusiness, the mapping for visa could look like this: visa=2;visa_applepay=3;visabusiness=5 |
ADYEN_COMPANY_ACCOUNT | samplecompany The ID of your company. Seen in the Adyen Backend. ![]() |
ADYEN_CREATE_NEW_ABSTRACT_PAYMENT_ITEM | true / false If false is selected, after a failed card payment, the cashier can choose a different payment method for the next try e.g. cash. If true is selected, the plugin will automatically add a new payment item of type card payment to retry the payment on the terminal. |
ADYEN_EXCLUDE_CARD_IDS | 1;1337;9234 Codes of CCO credit cards, that should not be handled by the adyen terminal. |
ADYEN_FALLBACK_CARD | 3 Indicates which credit card should be used, if the terminal responds with a payment method which is not mapped in ADYEN_CARD_MAPPING. |
ADYEN_FALLBACK_SERIAL_NUMBER | AMS1-00000000000000000 Serial number of the payment terminal which is used when ADYEN_ACTIVATE_DYNAMIC_TERMINAL is set to false. Note: The serial number of the terminal is visible in the adyen backend. It's not the serial number printed on the device itself! |
ADYEN_FALLBACK_TERMINAL | https://192.168.13.37 Specifies the IP address of the payment terminal which is used when ADYEN_ACTIVATE_DYNAMIC_TERMINAL is set to false. |
ADYEN_IS_TEST_ENV | true / false Set this property according to the intended use. |
ADYEN_KEY_IDENTIFIER ADYEN_KEY_PASSPHRASE ADYEN_KEY_VERSION |
IDENTIFIER PASSPHRASE 1 This parameters can be configured either on store level or on terminal level. E.g. go to In- person payments / Stores / Integrations or In-person payments / Terminals / Integrations Note: For the sake of security please use a generated Identifier and Passphrase and treat them like passwords! Note: When using the ADYEN_DYNAMIC_TERMINAL_CHOICE feature all terminals in one store need to use the same values! Therefore it is recommended to configure this on store level rather than terminal level. |
ADYEN_MERCHANT_ACCOUNT | SampleMerchant Select your corresponding merchant account Id. ![]() |
ADYEN_PAYMENT_REFERENCE_PATTERN | ${cco_prefix} You can configure how the merchant reference should look like. You can see this in the adyen backend transactions / payments in column Merchant reference. This can become handy if you need IDs from CCO for mapping payments in your ERP system. Possible placeholder: cco_prefix - Your CCO prefix receipt_id - Your CCO receipt id transaction_amount - The amount for the payment transaction transaction_currency - The currency for the payment transaction transaction_timestamp - The timestamp of the transaction terminal_serial_number - The serial number of the terminal used terminal_display_label - The configured display label of the terminal Note: The string can be max. 80 characters. Any characters exceeding this will not be transferred. |
ADYEN_STORE_ID | A15 The ID of the store in which the terminal was boarded. |
ADYEN_TERMINAL_CONNECTION_TIMEOUT | 10000 Value in milliseconds how long the plugin will wait for a connection. If you experience slow network connections in your store, please adjust this timeout accordingly. |
ADYEN_TERMINAL_READ_TIMEOUT | 120000 Value in milliseconds how long the terminal will wait for the shoppers card to be presented. Note: The processing time of a payment transaction is included into this timeout. This means the timeout will also occur, if the card was presented at ms 119999 and the processing takes > 1 ms. |
ADYEN_PRINT_KEY_FILTER | The terminal will send the merchant and customer payment receipt in a key-value structure. By providing unwanted keys spearated with semicolon, you can hide certain info on the print out. Available keys can be found here aid |
Restart your CCO instance after the config. If any mandatory plugin property is missing, you will get a warning after the next login.
This is only applicable, if you intend to use the ADYEN_DYNAMIC_TERMINAL_CHOICE feature. With these buttons the cashier can choose his "standard" terminal or delete his prior choice even without an open receipt or running payment transaction.
Add a new quickselection button in CCO Manager and add the following string into the Extended JavaScript input field.
"event" : { "eventName" : "ADY_ADD_STANDARD_TERMINAL_CHOICE" }
Add a new quickselection button in CCO Manager and add the following string into the Extended Javascript input field.
"event" : { "eventName" : "ADY_REMOVE_STANDARD_TERMINAL_CHOICE" }
The Adyen plugin automatically deploys standard translations in the /cco/POSPlugins/translations folder. You can change the translations to your liking.
Note: Your translations files and changes will never be overwritten. So please check when using a newer version of the plugin, if new translation keys are present. E.g. rename the modified translation file, restart CCO so the plugin will deploy the new translation file with the original name.
The plugin writes messages into the SAP CCO log file. If any error occurs please consult the log file. This includes any error in the payment dialog in CCO.
ErrorCode | Cause | Solution |
---|---|---|
ADY:ERR:1100 | The merchant account was not set | Set the merchant account in the plugin properties |
ADY:ERR:11001 | The company account was not set | Set the company accoun in the plugin properties |
ADY:ERR:11002 | The fallback card was not set | Set the fallback card id in the plugin properties |
ADY:ERR:11003 | The key identifier was not set | Set the key identifier in the plugin properties |
ADY:ERR:11004 | The fallback terminal was not set | Set the fallback terminal in the plugin properties |
ADY:ERR:11005 | The passphrase was not set | Set the passphrase in the plugin properties |
ADY:ERR:11006 | The key version was not set | Set the key version in the plugin properties |
ADY:ERR:11007 | The api key was not set | Set the api key in the plugin properties |
2024-07-30
- Improvement: The plugin will log at startup which version is started
- Improvement: Logout of cashier user will delete the standard terminal choice when using dynamic terminal choice is active
- Bugfix: Setting a standard terminal when no receipt was open resulted in an error
provided adyenplugin-1.0.24-FP18 - suitable for CCO FP18 to FP20
provided adyenplugin-1.0.24-FP16 - suitable for CCO FP16 & FP17
2024-04-12
- Improvement: Actual values of card payments are now entered automatically. Thus, there should be no discrepancies in the daily closing.
- Improvement: Chosen standard terminal will be saved even after cashier logged out once.
- Improvement: Return of a receipt with copied payment item which was originally paid with adyen will now open the terminal choice dialog if dynamic terminal choice is active.
- Improvement: Card mapping works now like a regex. E.g. visadebit, visa, visacredit, visa_applepay... will now be mapped with a single visa=2
If visacredit should be mapped to another CCO card, this can be done with visa=2;visacredit=23 - Bugfix: Changing the CreditCardTypeCode could lead to an error in cashdesk closing when receipts were already posted with this card.
provided Plugin adyenplugin-1.0.23-FP18 - suitable for CCO FP18 & FP19
provided Plugin adyenplugin-1.0.23-FP16 - suitable for CCO FP16 & FP17
IMPORTANT
adyenplugin-1.0.20-FP14 is out of maintenance!
2023-12-21
- Improvement: warning message when fall back terminal is used is now only shown when no dynamic terminal feature is activated.
- Bugfix: Terminal choice was shown on every split card payment. Final payment was done on last choice. Now first choice will be used and no further dialogs appear.
provided Plugin adyenplugin-1.0.20-FP18
provided Plugin adyenplugin-1.0.20-FP16
provided Plugin adyenplugin-1.0.20-FP14
2023-09-06
provided Plugin adyenplugin-1.0.12-FP16 - suitable for CCO FP16 and FP17
2023-08-25
provided Plugin adyenplugin-1.0.12-FP16 - suitable for CCO FP16
provided Plugin adyenplugin-1.0.12-FP14 - suitable for CCO FP14 and FP15