Adyen
- Feature Levels
- Supported Functionality
- Core Smart Payments Support
- Additional Payment Methods for Adyen's Smart Payments (Klarna, ApplePay, SOFORT)
- Smart Payments Additional Features (Webhook Notifications)
- Level 2/3 Support Added
- Dynamic Soft Descriptor for SEPA
- Mandate ID and Mandate Signature Date for SEPA Direct Debit
- SEPA Payment Auto Rescue Support
- Recurring Process Model (RPM) Support for the VISA, Mastercard and Discover Card Types
- Credit Card Type and Query Token Details for Tokenized Cards
- 3DS Termination URL API Enhancement
- Auto Rescue Now Available for Credt Cards/Tokenized Credit Cards
- UI Configuration/Processing Options Tab
Feature Levels
Feature | Basic | Advanced | Complete |
---|---|---|---|
Tokenization | |||
Credit Card Processing (Authorization, Capture, Cancel, Reversal) | |||
Debit Card Processing (Authorization, Capture, Cancel, Reversal) | |||
3DS Secure 1.0/2.0 | |||
Refunds (Full and Partial) | |||
Recurring Transaction Indicators (CIT/MIT) | |||
Fraud Scoring | |||
Webhook/Event Notifications (Asynchronous Events and Chargeback) |
|||
Minimal Authorizations ($0/$1 Authorizations) |
|||
U.S. ACH Direct Debit | |||
U.K. BACS Direct Debit | |||
E.U. SEPA Direct Debit | |||
Level 2/3 Data | |||
Account Updater (Batch or Real Time) | |||
Soft Descriptor | |||
CVV/AVS Controls | |||
Digital Payment Method (Apple Pay) | |||
Deferred Payment Methods | |||
Network Tokenization |
Supported Functionality
Additional details on available features
Core Smart Payments Support
Adyen has been added as part of Aria’s Smart Payment enhancement of core payment processor functionality that can be leveraged with a minimal impact on business operations.
This includes the following payment-related functionality:
- Credit card authorization and capture (pay_method = 1)
- US ACH Direct Debit one-off payments (pay_method = 2)
- BACS and SEPA Direct Debit one-off payments (pay_method = 26)
- Tokenized credit card payments (pay_method = 13)
- Authorization Reversals
- Refunds
- 3D Secure Authentication (3DS) 1.0 and 2.0
- Fraud Scoring
(note: add above information in table above and remove this section...)
You can enable webhook notifications by inputting authentication credentials obtained from Adyen into Aria (Configuration > Payments > Payment Gateways > Merchant Account Details). The following required authentication methods are supported:
- Merchanct Account Name and Password
- HMAC Key
These fields appear as shown:
Aria exposes an endpoint where webhook notifications will be posted and returns an "accepted" response when the webhook is received. Aria ingests the following webhooks configured in the Adyen merchant portal:
- Standard notifications
- Generic Pending
- BankTransfer Pending
- Direct-debit Pending
- Ideal Details
- Ideal Pending
- Payment Method Notifications
Additional Payment Methods for Adyen's Smart Payments (Klarna, ApplePay, SOFORT)
Klarna Payments
As part of Adyen's Smart Payments integration for this release, the Klarna pay method is now supported. This is an alternate payment method (APM) where the initial Klarna Pay Later payment will happen outside Aria. After the successful initial payment, the client will use the record_alternate_payment_m API (pay_method = 42) to record their initial payment with Aria, with which a Klarna token is created and used for recurring payments with pay_method = 43. Aria support full/partial refund flow for both Klarna payments and tokenized Klarna payments.
Note: Aria rounds off the VAT percentage when making a Tokenized payment with the Klarna pay method as Adyen supports rounding up to 2 decimal places.
ApplePay Payments
With this release, the APM payment method "ApplePay - Indirect" is now supported for the Adyen payment processor (pay_method=38).
Support Types | Description |
---|---|
Recurring Payment Support | Aria supports recurring payments for the "ApplePay - Indirect" APM. The new payment method "Tokenized ApplePay"(pay_method=47) has been introduced to support the recurring transaction using the ApplePay payment method. |
Electronic Refund Support | Aria also supports an electronic refund for both the payment methods "ApplePay - Indirect" and "Tokenized ApplePay." |
The ApplePay workflow is as follows:
- Perform an ApplePay payment authorization outside of Aria (using a unique shopperReference that should be communicated to Aria and recorded against an account via the
input in the record_alternative_payment_m Aria API). Aria will then perform a capture against the provided pspReference (from Adyen’s authorization response). Once Aria receives the capture webhook notification, the payment transaction will be created in Aria and applied against the provided in the record_alternate_payment_m API. Once the ApplePay payment recorded, we (Aria) query the token details from Adyen using the shopperReference (provided in the input field) which is associated with the initial ApplePay payment. Also, a new billing_info sequence for the "Tokenized ApplePay" payment method will be created in Aria along with the token details (this billing_info sequence will be used for subsequent or recurring transactions).
Notes:
- Use your Aria account number in the shopperReference to Adyen.
- You must configure the Webhook Notification in the Adyen merchant portal in order for Aria to receive Adyen’s asynchronous notification and update the proper/final status capture request and create payment transactions in Aria.
- It is recommended that you provide the success/failure of authorization in the API input field
at the time of recording the alternate payment (ApplePay - Indirect payment). It is also recommended that you provide a unique shopperReference while creating an external payment and provide the same in the API input field in record_alternative_payment_m to get the unique ApplePay token on shopperReference. If this API input field is empty, Aria will continue to use the as the shopperReference (pre-existing behavior).
SOFORT Integration
Adyen’s Smart Payments integration now also supports the SOFORT APM. SOFORT is a single use, delayed notification payment method that requires customers to authenticate their payments. It is a popular online banking payment method in Europe with high usage in Germany, Austria, Switzerland, and Belgium.
After the successful initial payment outside Aria, use the record_alternate_payment_m API (pay_method = 36) to record the initial payment with Aria, with which Aria creates a SEPA token (pay_method = 37) to be used for recurring payments. Aria supports full/partial refunds for both Sofort payments and tokenized SEPA payments.
Smart Payments Additional Features (Webhook Notifications)
New functionality has been added for your Adyen integration through Aria’s Smart Payments.
Webhook notifications are now supported for the following payment events:
- AUTHORISATION
- CAPTURE
- CAPTURE_FAILED
- REFUND
- REFUND_FAILED
More robust transaction logging has also been added for your Adyen Smart Payments integration. This has been provided to assist with resolving client issues as well as customer complaints. Information in these logs will be masked in a configurable manner before the log entries are sent to the logging service. This includes the following logging types:
- FULL: Logging request consists of all the fields including both the summary fields and the four full request/response fields (payment_request, payment_response, core_request, and core_response). The generated logging request will be sent to the logging-service for all the transactions.
- ERROR: Logging request consists of all the fields including both the summary fields and the four full request/response fields (payment_request, payment_response, core_request, and core_response). The generated logging request will be sent to the logging-service only for the failed transactions where there is an error response. If core_response.collection_status = “5”, then the response is considered as an error response.
- SUMMARY: Logging request consists of only the summary fields. The generated logging request will be sent to the logging-service for all the transactions.
- NONE: No logging request will be sent to the logging-service. Furthermore, if logging_type is set to NULL or any other value, it will be considered as NONE.
Integrated ACH authorization auto reversal is now included also with this release. This feature is applicable when using ACH as the pay method (48) with applicable payment bank account details.
Additionally, the following fraud scoring fields may be passed at the Payment Gateway and Collection Group levels for more dynamic fraud scoring. These are existing fields for the Adyen payment processor (the Collection Group setting takes precedence):
These fields are as follows:
- dateOfBirth
- shopperName.firstName
- shopperName.infix
- shopperName.lastName
- shopperName.gender
- shopperEmail
- shopperIP
- deliveryAddress.houseNumberOrName
- deliveryAddress.street
- deliveryAddress.city
- deliveryAddress.stateOrProvince
- deliveryAddress.postalCode
- deliveryAddress.country
- deviceFingerprint
- telephoneNumber
- socialSecurityNumber
- deliveryDate
- fraudOffset
- merchantOrderReference
- browserInfo.userAgent
- browserInfo.acceptHeader
Also, Aria's Adyen Smart Payment integration now gives the capability for more dynamic fraud scoring. To accomplish this, the <proc_fraud_score_result> output parameter of the validate_acct_fraud_scoring_m API has been enhanced to provide the values listed above.
Level 2/3 Support Added
Aria now adds Level 2/3 support for the Adyen Smart Payments integration. Level 2 and 3 payments both provide more customer data but offer greater discounts based on data provided at each level. Collecting additional customer data also makes the transaction more secure and reduces the risk of fraud or chargebacks.
Level 2/3 data is provided for the following payment methods (for the Visa and Mastercard types):
- Credit Card
- Tokenized Credit Card
Aria will pass Level 2/3 data for the “payment” transaction (“auth” action plus “capture” action). Aria will not pass Level 2/3 data for the “capture” action (including the “capture” action in the “payment” transaction). Adyen will filter out and reformat data based on eligibility, so Aria will not check for eligibility also. Aria will also truncate values of Level 2/3 data based on Adyen validations and log truncated field information based on Adyen specifications. Level 3 data will not be sent for a particular line item if the line item total amount equals 0. Additionally, Aria limits the number of invoice line items containing L3 data to 9 in accordance with Adyen requirements.
Level 2 and Level 3 Data Field Mapping appears below:
Level | Adyen Fields | Aria Fields | Required? | Max Length | Default Value |
---|---|---|---|---|---|
L2 | customerReference | acct_no | Yes | 25 | Empty |
L2 | totalTaxAmount | tax_amount | Yes | 12 | 0 |
L2 | freightAmount | None | No | 12 | Empty |
L2 | dutyAmount | None | No | 12 | Empty |
L2 | destinationPostalCode | zip | No | 10 | Empty |
L2 | destinationStateProvinceCode | state | No | 3 | Empty |
L2 | destinationCountryCode | country | No | 3 | Empty |
L2 | shipFromPostalCode | custom_fields.shipFrom_postalCode | No | 10 | Empty |
L2 | orderDate | invoice_create_date | No | 6 (ddMMyy) | Empty |
L3 | commodityCode | line_items[i]- >commodity_cd | Yes | 12 | line_items[i]- >service_no |
L3 | description | line_items[i]- >comments | Yes | 26 | inv.line no:<i> |
L3 | productCode | line_items[i]- >service_no | Yes | 12 | Empty |
L3 | quantity | line_items[i]- >usage_units | Yes | 12 (Round to integer) | 1 |
L3 | unitOfMeasure | line_items[i]- >unit_of_measure | Yes | 3 | n/a |
L3 | unitPrice | line_items[i]- >usage_rate | Yes | 12 | line_items[i]- >debit - line_items[i]- >usage_units |
L3 | discountAmount | line_items[i]- >discount_amount | No | 12 | 0 |
L3 | totalAmount | line_items[i]- >debit - line_items[i]- >discount_amount |
Yes | 12 | This will always be available. |
Aria will also drop non-ASCII characters if they exist in the values for the following fields:
- customerReference
- destinationPostalCode
- destinationStateProvinceCode
- destinationCountryCode
- shipFromPostalCode
- commodityCode
- description
- productCode
- unitOfMeasure
Dynamic Soft Descriptor for SEPA
The dynamic soft descriptor field is now supported for SEPA payments within Adyen Smart Payments (via Configuration > Payments > Payment Gateways/Collection Groups > Field Options). You need to configure the soft descriptor field (for Payment Gateways and Collection Groups) using <Invoice_ID> and <Sequential_Statement_ID>.
Credit Card (pay method=1) Tokenized Credit Card (pay method =13) ACH (pay method =2) Tokenized ACH (pay method =48) Direct Debit (pay method =26) Tokenized Direct Debit (pay method =37) Tokenized Klarna (pay method =43) Tokenized Apple pay (pay method =47)
Mandate ID and Mandate Signature Date for SEPA Direct Debit
Aria now accepts an externally created Mandate ID and Mandate Signature Date for SEPA Direct Debit payments as part of the Adyen Smart Payments integration. This applies to the Direct Debit (26) and Tokenized Direct Debit (37) payment methods. The Mandate Signature Date is sent (input parameter) and returned (output parameter) via the following Aria APIs:
Response Type | Affected APIs |
---|---|
Input | |
Output |
The mandate date must be in the format of YYYY-MM-DD. The <mandate_id> and <mandate_signature_date> will be acknowledged solely upon validation and/or acceptance by Adyen. In case of any issue with the inputs passed, Adyen will generate their own <mandate_id>, <mandate_auth_date>, and <sequence_type> (<sequence_type> is an internal value based on the payment; values are 1 for First and 2 for Recurring).
Note: Even though this supports only Direct Debit and Tokenized Direct Debit at this time, <mandate_id> and <mandate_signature_date> needs to be passed for all payment types.
SEPA Payment Auto Rescue Support
Aria now supports "Auto Rescue" for SEPA payments. Auto Rescue is a payment recover feature that attempts to reprocess failed SEPA transactions up to three times depending on client settings.
The following two configuration settings have been introduced at the Payment Gateway and Collection Group levels (Configuration > Payments > Payment Gateways/Collection Groups > Field Options > Auto Rescue Options):
Field Name | Allowable Values | Tooltip |
---|---|---|
Auto Rescue Payment Recovery | On and Off (default) | Auto rescue is Adyen's payment recovery service. It will attempt to reprocess the transaction using their intelligence up to 2 times within the specified period for certain event codes. Refer to Adyen documentation for more details. Default is No. |
Maximum Rescue Days | 30 | Enter the maximum number of days that a failed SEPA/credit card transaction will be reattempted. For SEPA, Adyen only allows values between 1 and 42 days. For credit card payments, the allowed values are between 1 to 48 days (Aria recommends setting this value at 30 days). |
When the Auto Rescue Payment Recovery client setting is set to "On" and the SEPA payment fails, Adyen performs the auto rescuing of failed SEPA payments and notifies Aria whether the attempt has succeeded or failed.
Additionally, the following API has been added and an existing Aria API has been enhanced in support of SEPA payments:
cancel_payment_retry_m (Added)
Use this API to cancel the payment retry.
get_acct_payment_history_m (Enhanced)
Additional fields added to support this functionality follow:
Input
Field Name | Field Type | Max Length | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
<filter_retry_payments> |
long |
3 |
This param is used to filter payments that were reattempted. If filter_retry_payments value is 1, reattempted payment will be retrieved. If 0 or null (default), all payments will be retrieved. Allowable Values
|
Output
Field Name | Field Type | Description | ||||||
---|---|---|---|---|---|---|---|---|
<payment_retry_status> |
long |
Returns the payment's retry status. Allowable Values
|
New Error Codes
In addition, the following error codes are now returned:
Code | Description | Affected API |
---|---|---|
1016 | Invalid input. Allowed values are 0 and 1 (for <filter_retry_payments>). | get_acct_payment_history_m |
2010 | The payment ID is not valid or is not associated with account number. | get_acct_payment_history_m |
33001 | Cancellation failed. This transaction is ineligible for an automated payment recovery process (payment record must be eligible with rescue status = 1). | cancel_payment_retry_m |
33002 | Could not cancel the automated payment recovery process for this transaction. | cancel_payment_retry_m |
Recurring Process Model (RPM) Support for the VISA, Mastercard and Discover Card Types
Aria also now supports the RPM feature for VISA, Mastercard and Discover as part of Smart Payments integration:
<rpm_ind> | *CIT/MIT | Payment Schedule | Adyen payment request fields | ||
---|---|---|---|---|---|
recurringProcessing Model | shopperinteraction | networkTxReference | |||
0 | CIT | Recurring (Unscheduled) | CardOnFile | If bill_info_proc_success_coll_cnt = 0 | Not Required |
1 | CIT | One-time (Unscheduled) | Subscription | Not Required | |
2 | MIT | Recurring (Scheduled) | Subscription | Need to pass for pay method = 1 alone when shopperInteraction is ContAuth | |
3 | MIT | One-time (Scheduled) | UnscheduledCardOnFile | Need to pass for pay method = 1 alone when shopperInteraction is ContAuth |
- If the pay method is 13 (Tokenized Credit Card), then the shopperReference should be set to ‘ContAuth.’
- If the CVC (CVV) is not present in the request, then the shopperReference should be set to ‘ContAuth.’
- If Aria makes the payment using the agreement_id, then the Adyen RPM setting should be “Subscription.”
*-Cardholder-Initiated Transactions/Merchant-Initiated Transactions
This applies to the authorize_electronic_payment_m API.
Credit Card Type and Query Token Details for Tokenized Cards
Adyen Smart Payments now displays the credit card type along with the query token details when storing a Tokenized Credit Card (pay method 13) at the Payment Methods tab (Accounts > [search for an account] > Account Overview > Payment Methods). This applies to the following card types: Visa, Mastercard, American Express, Discover, Diner’s Club, Japan Credit Bureau (JCB), and China UnionPay (CUP).
3DS Termination URL API Enhancement
For Adyen, the following enhancement has been added. For the authorize_electronic_payment_m API, the “pa_3ds_termination_url” value in the input parameter <proc_field_override> now overrides the 3DS Termination URL field value (Configuration > Payments > Payment Gateways\Collection Groups > Processing Options tab).
Auto Rescue Now Available for Credt Cards/Tokenized Credit Cards
Aria now implements auto rescue for Credit Card and Tokenized Credit Card pay methods in the event of real-time payment failures; this is available through the Adyen Smart Payments integration. This works when the client parameter Allow Dunning during payment recovery is set to True.
UI Configuration/Processing Options Tab
Screen shot of UI Processing Options tab with field names/descriptions