Skip to main content
Aria Knowledge Central

Release 52

Overview

Enhancements and fixes to Aria functionality for this release are described below.

Release Date

Stage Future Release Date

 15-August-2023

Production Release Date

 07-September-2023

System Requirements

Supported Browsers

Aria supports the latest stable versions of the following Web browsers: 

  • Chrome 63
  • Firefox 52
  • Microsoft Edge
  • Safari 11 on MacOS 

Screen Resolution

1024 x 768 or higher

Release 52 Contents


Application Features

Discount Rule Expiration Parameter Added For Billing Flexibility (DEV-10490)

Aria introduces a client level parameter, Discount Rule Interval Expiration, to provide greater discount rule flexibility. This parameter honors the expiration of discount rules based on the discount rule interval, such as months, weeks, or days (Configuration > Client Settings > Miscellaneous Settings). The values are as follows:

Value Description
Date and Timestamp The discount rule will expire based on both the date and the timestamp of when it is applied – default.
Date The discount rule will expire on the date only when it is applied.

More information on Miscellaneous Settings is here.


Taxation Modification Added for Discounts and Service Credits (DEV-10573)

A back-end enhancement now optimizes proration and rounding calculation for tax-inclusive discounts and service credits. Aria’s invoice processing now retains pretax values for tax inclusive discounts and surcharges to allow for correct calculation of taxes.


Latest Statement Payment Method Precedence for Multiple Past Due Statements (DEV-11004)

If your client setting "Dun Plan For Non-Electronic Payment Terms Using Cumulative Past Due Balance" is set to "True," and an account has one or more past due statements for a Billing Group with both Electronic and Payment Terms, this feature gives precedence to the payment method associated with the latest statement. This ensures that Master Plan Instances associated with Payment Terms (rather than an electronic payment method) degrade to a Dunning status.


Stripe Smart Payments Features - Phase 1 (DEV-11045)

With this release, Aria introduces the new Smart Payments adapter for the Stripe payment gateway. The following features are included in Phase 1:

  • Tokenization
  • Authorization and Capture
  • Refunds
  • Cancel/Reverse Authorizations
  • Fraud Scoring
  • Soft Descriptor

Tokenization/Authorization and Capture/Refunds

This ticket includes the integration of the Authorization and Capture into the Stripe Payment Processor.

Supported Cards:

  • American Express
  • Discover
  • Japan Credit Bureau (JCB)
  • Mastercard
  • Visa

Limitations:

Since Stripe allows only the token based integration, Aria uses the “payment_method_id” and “customer_id” for making initial/recurring payments; card information is not used for payments. For this reason, we have implemented Tokenized credit card support for Stripe integration. For the token created by Aria, we are creating and storing the token/agreement_id in a format of "payment_method_id:customer_id" in Aria.

Refunds are also supported for the listed card types. At this time, Stripe only supports tokenized credit card refunds.

Cancel/Reverse Authorizations

Stripe supports cancelling/reversing transactions via the UI or APIs using the <auth_no> of the authorized transaction. This applies to any amount greater than 0.

Fraud Scoring

Since Stripe fraud scoring returns both “review” and “failure” statuses, the following existing settings in the Stripe UI are utilized for fraud scoring (for the payment gateway and collection group levels):

  • Send Fraud Scoring Request
  • Change Status on Fraud Scoring Failure
  • Status of Fraud Scoring Failure
  • Change Status on Fraud Scoring Review
  • Status on Fraud Scoring Review

Once the “Send Fraud Scoring Request” option is enabled, we will be returning the fraud score and result are returned in <proc_fraud_score> and <proc_fraud_score_result> output of the validate_acct_fraud_scoring(_m) APIs. The possible values in <proc_fraud_score_result> are:

  • Authorized: Successful (normal or no fraud risk transaction)
  • Manual_Review: Review (elevated risk transaction - increased chance of being fraudulent)
  • Blocked: Failure (transaction getting blocked or failing due to high risk, fraudulent transaction)

Soft Descriptor

Stripe Smart Payments also includes soft descriptor support, which can be used by merchants to provide more detailed transaction information. Soft descriptor support is provided at various levels within Aria. The priority is as follows:

  • API
  • Collection Group
  • Payment Gateway

When a transaction occurs using a credit/debit card, the description is displayed under the statement_descriptor_suffix in the Payment Intent of the specific transaction. If the received soft descriptor value is more than 22 characters long, it is truncated to 22 characters before it is sent to the payment processor.

Note: Stripe statement descriptor needs to be 5-22 characters including the * symbol and the space, and cannot contain the character <, >, \, ', ", or *.

(Information on Stripe's 3DS functionality appears in the API section of the R52 Release Notes.)

Learn more about the Stripe payment gateway from here.


Field Message Detail Added for Worldline/Ingenico Transactions (DEV-11057)

Additional details in error messages are now provided for Worldline/Ingenico transaction processing. For error scenarios such as "Field Length Invalid," "Invalid Value" and "Parameter Not Found in Request," the affected field name is now included in the error message. This applies to related API and UI functionality.


All ApplePay Pay Methods Now Supported for Refunds (DEV-11092)

With this release, the original ApplePay payment method is now provided as a Refund method in the Refunds UI screen (Accounts > [search for an Account] > Account Overview > Payments & Credits > Refunds). This applies to all ApplePay-supported Aria payment methods except PaySafeCard, PayPal Express Checkout – Indirect, and Boleto Bancario, which only support external refunds.


Coupon Reporting Enhanced with get_acct_coupon_details_m Parameter (DEV-11104)

Aria has enhanced the get_acct_coupon_details_m API with a new input parameter, <include_all_active>, that provides additional information in tracking coupons when used for discount rules, discount bundles, or credit templates. This parameter can be used to return active coupons that have not been fully consumed at the product catalog level as well as coupons not consumed by the invoice but assigned to an account or master plan instance. The following values are allowed:

Value Description
0 (default; NULL is treated as 0) – This value is for backward compatibility and will return active coupons that have not been fully consumed at the product catalog level.
1 This value includes all active coupons that have not been fully consumed by the invoice but have been assigned to an account or a master plan instance.

When the <include_all_active> parameter is passed as '1' via the get_acct_coupon_details_m API, the coupon is returned as long as the discount rules or discount bundles are active. Additionally, when a credit template coupon is used, the coupon remains active until the 'number of credits' on the catalog level, specified while creating a credit template, and the credit amount is fully consumed.

Additionally, the following error message has been added to the existing error code for field validation:

Error Code Message
1016 'Invalid Input {inIncludeAllActive}: Allowed values are 0, 1, or NULL'

Adyen Smart Payments Additional Features (DEV-11133)(1 of 2)

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:

  1. 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.
  2. 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.
  3. SUMMARY: Logging request consists of only the summary fields. The generated logging request will be sent to the logging-service for all the transactions.
  4. 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

Learn more about the Adyen payment gateway from here.


Auto Apply Credits and Payments to Parent-Pay Invoices (DEV-11139)

A new client parameter, Apply Child Open Payments, has been added to determine whether or not to automatically apply open cash credits and payments to child invoices, specifically parent-pay invoices. The following values are allowed for this parameter:

Value Description
True Child open cash credits and payments are applied automatically to the next generated invoice (default).
False Child open cash credits and payments are not applied to parent-pay invoices, but will still be applied automatically for child self-pay invoices.

Contact your Aria representative if you wish to enable this parameter.


Application Fixes 

  • The issue of product fields not being saved when added into a Client Plan has been resolved. This issue occurred when entering a value of '0' for a product field. The datatype for the product field values has been altered to remedy this error. (TICKET-19070)
  • A Statement Sequence ID is no longer generated when approving any of the following: 1) a pending Invoice that is empty (no charges or credits), 2) zero-dollar Invoices that have not been included on a statement, and 3) Credit Memos. This fixes the issue of Statement Sequence IDs being generated and sending out empty Statements. (TICKET-19104)
  • Generating an XML Statement for an Account with a Parent Pay Child Account will now show the correct surcharges in the child stub portion of the Statement. Previously, if a Child Account had multiple surcharges at the Account level an error would be displayed on the Statement. (TICKET-19189)

API Features

Recalculate pending invoice showing irrelevant error message (DEV-10936)

When recalculating a pending invoice that results in a tax error, a new Error Code (25001) will display the message “Failed to calculate Taxes”. A <third_party_errors> output parameter has also been added to the manage_pending_invoice_m API to return any third party taxation errors that occur while trying to regenerate a pending invoice. Previously, when a tax error occurred during invoice regeneration, a nondescript error message was returned.


Stripe Smart Payments Features - Phase 1 (3DS)(DEV-11045)

Stripe 3DS versions 1.0 and 2.0 support is now added for Stripe using Aria APIs and Direct Post. To use 3DS, the appropriate URL must be included in the Payer Authentication Settings field in the Payment Gateway and/or Collection Groups UI screens (Configuration > Payments > Payment Gateways/Collection Groups). Otherwise, the transaction will not complete, generating a validation error.

For the 3DS Termination URL, you must specify the Merchant website URL in the Payment Gateway/Collection Group UI Screens (which will be invoked when the shopper challenge is complete). For direct posts, the value should be 'https://secure.<environment>.ariasystems.net/api/auth_3ds2_notification_receiver.php,” where the environment will be different for QU, stage, and production.

Stripe 3DS is a three-step process as shown below:

Step 1: Execute the authorize_electronic_payment_m or update_payment_method_m API with credit card details, billing address details, and <attemt_3d_secure> as 'true' to perform client authentication, and then the API will return the <proc_payment_id> (as the outer level output field) and 'redirect_issuer_url' (value in the proc_3dsecure_data/proc_3dsecure_auth_data array) in the response.

Notes:

  • If the <attempt_3d_secure> input is passed as 'false', then the 3DS flow will be skipped and regular authorization will be invoked here. So, the below steps are not needed.
  • Also, if the supplied credit card is not enrolled with 3DS and if Aria passes the <attempt_3d_secure> input as 'true', then the 3DS flow will be skipped and regular authorization will be invoked; Steps 2 and 3 will be skipped.

Step 2: Use the 'redirect_issuer_url' directly in the browser and execute it. A challenge/redirect window pops up based on the 3DS 2.0 or 3DS 1.0 transaction details, and Aria submits the challenge/redirect form to end step 2.

Step 3: Execute authorize_3dsecure_m with the <proc_pymnt_id> value (from step 1), perform the authorization, and verify the API result to complete the 3ds authentication-based authorization.

Impacted APIs for this functionality include authorize_3dsecure_m, update_payment_method_m, and authorize_electronic_payment_m.

Learn more about the Stripe payment gateway from here.


Error Messaging Enhancement for issue_refund_to_acct_m API (DEV-11114)

For the issue_refund_to_acct_m API, when returning an amount with more decimal places than those supported by the payment’s currency, the following error message is now generated:

Error Code Description
3113 Invalid amount entered. Please enter an amount for the maximum allowed currency specific decimal places.

This applies to the following input parameters:

  • <total_refund_amount>
  • <invoice_line_reversing_amount>
  • <open_amount>

Adyen Smart Payments Additional Features (DEV-11133)(2 of 2)

Aria’s Adyen smart payment integration now gives the capability for more dynamic fraud scoring. As part of this, the <proc_fraud_score_result> output parameter of the validate_acct_fraud_scoring_m API has been enhanced to provide the following values:

  • 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

Learn more about the Adyen payment gateway from here.


API Fixes 

  • When creating a Cash Credit for an Account that does not have any Invoices or charges, the <applied_amount> and <unapplied_amount> output parameters for get_acct_credits_m API now display the correct values. Previously, when applying a Cash Credit, running get_acct_credits_m would result in incorrect values for these output parameters. (TICKET-14686)
  • New error codes have been created to address issues in authorize_electronic_payment_m API where no error code was returned when trying to authorize a Payment with a negative value and where an incorrect error message was returned when invalid parameters <plan_instance_no>, <client_plan_instance_id>, or <client_billing_group_id> were entered. These error code issues have been resolved by creating the new error codes below for authorize_electronic_payment_m. (TICKET-15073)
    • Error Code 1025: Amount not positive.
    • Error Code 26012: Invalid client-defined billing group ID.
    • Error Code 14046: Invalid plan instance number.
    • Error Code 14047: Invalid client plan instance identifier.
  • The <unit_discount_amount> parameter in create_order_m API has been deprecated due to an error that causes <unit_discount_amount> to remain active after an order has been voided. (TICKET-18046)
  • When running the record_alternative_payment_m API, you can now create new billing information without generating an error when reusing the same <proc_payment_method_id> (shopper reference) for a disabled alternative payment using the iDEAL payment type. (TICKET-18287)
  • When fetching details for a specified cash credit via the get_credit_details_m API, the Plan Instance Number, Plan Instance CDID, and Plan Name are returned only if the Plan Instance Number is available for the invoice line item. If the Plan Instance Number is not available, the return will display NULL. Since tax line items do not hold a Plan Instance Number, the Master Plan Instance Number and Master Plan Instance CDID is used for cash credits created for tax charges. (TICKET-19089)
  • When creating a refund reversal using the issue_refund_to_acct_m API, the <invoice_transaction_id> input field is now honored regardless of whether or not the <invoice_no> field is populated (an error is no longer generated). (TICKET-19185)

WSDL File Locations

Stage Current

 

US https://secure.current.stage.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl
EUR None
AUS https://secure.current.stage.aus.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl

Stage Future

 

US https://secure.future.stage.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl
EUR https://secure.future.stage.cph.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl
AUS https://secure.future.stage.aus.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl

Production

 

US https://secure.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl
EUR https://secure.prod.cph.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl
AUS https://secure.prod.aus.ariasystems.net/api/Advanced/wsdl/52/complete_m-doc_literal_wrapped.wsdl

Object Query WSDL Files

Stage Current

 

US https://secure.current.stage.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl
EUR None
AUS https://secure.current.stage.aus.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl

Stage Future

 

US https://secure.future.stage.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl
EUR https://secure.future.stage.cph.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl
AUS https://secure.future.stage.aus.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl

Production

 

US https://secure.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl
EUR https://secure.prod.cph.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl
AUS https://secure.prod.aus.ariasystems.net/api/AriaQuery/wsdl/52/integration_services_m-doc_literal_wrapped.wsdl
  • Was this article helpful?