---- dataentry gateway ----
type : gateway # do not change this line
# Add the full name of the gateway after the colon below.
name : Adyen
# Supported Countries. Please use 2-character ISO Country Codes available at
# http://www.iso.org/iso/english_country_names_and_code_elements
# Separate multiple country codes by commas.
countries : US, CA, FR, DE, IT, NL, PL, RU, ES, SE, TR, GB, BR, MX, AU, CN, HK, IN, ID, JP, MY, PH, KR, TH
# Enter the FoxyCart versions where support was added or removed (if applicable).
# Version numbers should include applicable decimals, such as "0.7.0" and not "070"
support-added : 2.0.0
support-removed :
# Features and Details
auth-net-emulation : no # enter "yes" or "no" (without quotes)
supports-3dsecure : yes # enter "yes" or "no" (without quotes)
supports-multicurrency : yes
# Gateway URL
gateway_url : https://www.adyen.com/
----
====== Adyen ======
Adyen provide access to a large variety of payment options for customers, which are embedded directly onto the checkout. Some methods (like credit cards) being able to be completed directly on the checkout, while others redirect over to a hosted payment page to complete.
===== Supported Payment Methods =====
Adyen support a whole host of different payment methods that can be enabled for your account. All are supported on the Foxy checkout except for Klarna and RatePay. Klarna can be supported for your store [[gateways:klarna|with our native integration]].
The options actually displayed to customers will be determined by Adyen based on what you have enabled on your account and where the customer is based.
Only a subset of their supported payment gateways are compatible with subscriptions too. You can [[https://docs.adyen.com/payment-methods?features=recurring|review their supported payment methods on their website here]].
===== Setting Up Adyen for FoxyCart =====
==== Obtaining a Test Account ====
You can obtain a test account from Adyen on their website at [[https://www.adyen.com/signup|adyen.com/signup]]. After completing the application, you'll receive an email with details on accessing your test account.
==== Configuring Test Account ====
* In your browser, access the Adyen administration and login.
* Once you've logged in to the Adyen administration, click the "Account" option in the top navigation, and select "Users".
* Select the "ws@Company.//[YourCompanyAccount]//" option from the users list
* Under Authentication, click Generate New API Key and copy the API Key that is displayed to your computers clipboard.
* Click Save at the bottom of the page.
* In a second tab in your browser, access your store's FoxyCart administration. Proceed to the "payments" section of the admin, and enable the "Accept payments using your Adyen Embedded account" option.
* In the "Secret Key" field, paste the API key you copied earlier.
* Back in the tab of the Adyen administration, under "Account" in the top navigation, select "Merchant accounts"
* Copy the "Account Code" for the merchant account that you want to use with your Foxy store. In the FoxyCart administration tab, paste this value into the "Merchant Account" field.
* Save the FoxyCart administration.
==== Configure Notifications ====
* In your Adyen administration, proceed to "Settings" and select the "Server Communication" option.
* In the list of notification options at the bottom of the page, click "Add" on the "Standard Notification" option.
* In the URL, enter a URL like ''https://YOURSTORE.foxycart.com/ipn.php'', but with your own FoxyCart store domain. For example, if your store domain was ''mystore.foxycart.com'', then the URL would be ''https://mystore.foxycart.com/ipn.php''. If you have a custom subdomain like ''secure.mystore.com'', then the URL would be ''https://secure.mystore.com/ipn.php''.
* Leave "SSL Version" as "SSL"
* Check the "Active" checkbox
* Leave "Method" as "JSON"
* Leave the "Authentication" fields blank
* Scroll to the bottom and click "Save Configuration"
* If you want transactions to appear as pending for payments like iDEAL and bank transfer options until they're finally approved, you can also add the "Generic Pending Notification" option, following the same configuration as above.
* [[#important_notes_and_caveats|See the note below]] about the datafeed if you enable pending notifications
===== Testing Adyen =====
Once you've configured your account, we recommend running through some test transactions, especially with the countries and payment methods that you anticipate selling through.
==== Test Card Numbers ====
Review the [[https://docs.adyen.com/developers/test-cards/test-card-numbers|test card numbers]] available from Adyen's documentation for testing payments.
===== Taking your Adyen account live =====
When you've finished testing, you can then take your Adyen account live, as detailed on [[https://docs.adyen.com/developers/get-started-with-adyen/business|this page of their documentation]].
Once your account is live, you'll need to generate a new HMAC key for live servers.
Firstly though - if you haven't already, login to your store's FoxyCart administration and start your store's subscription from the dashboard.
The settings for test and live will remain the same, so you can copy the merchant account and secret key from your test gateway settings over to your live gateway settings. You can access the live gateway settings by selecting "Live Servers" on the "payments" section in the admin.
===== Troubleshooting & Interpreting Response Codes =====
Contact Adyen for info. Know more? Feel free to edit this page with info.
===== Important Notes and Caveats =====
==== Possible Action: Datafeed Handling ====
This section only applies if you've enabled one of Adyen's "Pending" notification options
For delayed payment methods that Adyen offer like bank transfers, at the time of the customer completing the transaction - we don't necessarily know whether the transaction was completed yet or not. We instead rely on a notification from the gateway after the checkout has been completed to confirm whether the transaction was approved or not. To handle this, transactions are initially marked as pending, and when we get a confirmation from the gateway on the result of the transaction, we update it accordingly. Each time the status changes, a datafeed will be sent to your endpoint if configured with the transaction details and the ''status'' node will be present.
The ''status'' node can contain one of three different values: ''pending'', ''approved'' or ''rejected''. Depending on the types of actions you're needing to perform at your datafeed endpoint, you need to make sure the appropriate status value is present first.
===== User Notes and Experiences =====
If you have tips, experience, or helpful notes related to this gateway that would benefit others, please add them below, including your name and the date. We reserve the right to edit or remove comments that don't add value to this page.