Skip to main content
Aria Knowledge Central

Release 53

Overview

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

Release Date

Stage Future Release Date

 03-October-2023

Production Release Date

 26-October-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 53 Contents


Application Features 

Stripe Smart Payments - Additional Webhook Notifications (DEV-10456)

As part of Aria’s Smart Payments integration with the Stripe payment processor, the chargeback Stripe IPN (Instant Payment Notification) charge.dispute.closed event is now supported; for this notification, Aria will update the failure status on the payment and void the transaction records. Additionally, five new webhook notification event types have been added with this release to track payment status. They are:

Event Description
payment_intent.succeeded
  1. This event will be fired from Stripe to Aria and indicate the payment is success. Then, Aria will update the latest status_text information in the payments table.
  2. This event will also be fired from Stripe to Aria and indicate the capture action is success (i.e. if we tried auth and capture payment separately, then we will get the captured event instead of succeeded event). Then, Aria will update the latest status_text information in the payments table.
charge.refund.updated This event will be fired from Stripe to Aria and indicate the Refund action is success or failure. If the event sent with success status, then Aria will update the status_text information in the payment table. Otherwise, if we got failure status, we will void the refund transaction record and update the status_text information in the payment table.
payment_intent.cancelled This event will be fired from Stripe to Aria and indicate the authorization reversal is success. Then, Aria will update the latest status_text information in the payment_auth table.
payment_intent.payment_failed This event will be fired from Stripe to Aria and indicate the payment is failure. Then, Aria will void the payment transaction and update the latest status_text information in the payments table.
charge.dispute.closed This event will be fired from Stripe to Aria and indicate the payment action is failure. Then, Aria will void the payment transaction record and update the status_text information in the payment table.

Learn more about Aria's integration with Stripe from here.


New transaction type triggers event when invoice paid or partially paid by credit memo (DEV-10471)

The credit memo transaction type (24) will be evaluated to determine whether an invoice is fully or partially paid. If the invoice is found to be fully or partially paid by a credit memo then the ‘Invoice Fully Paid’ event (941) is triggered in addition to the previously existing transactions that met that criterion.


Vertex Communications Tax Fields Added to Vertex Series O Platform (DEV-10651)

Aria Billing Cloud has enhanced its support of the Vertex Communications Tax configuration by adding the following new fields to the Vertex Series O platform:

  • LineItem/LineType
    • LineType/direction
    • LineType/content
    • LineType/status
  • Quantity/unitOfMeasure

The LineType fields denote the type of communication line. Allowable values for these fields can be obtained from the Vertex merchant portal at the following location:

My Enterprise > Taxability Driver Management > Communications Service Codes

The following are permitted values at the unitOfMeasure field:

  • Lines
  • Channel
  • Minutes

Note: It is recommended that all Line Type fields are passed when using Line-based tax calculation. These new fields are available at both the invoice level (main configuration) and the line-item level (group configuration). If these fields are configured at both levels, the line-item configuration takes precedence.

Also, Aria now supports the following 5 taxation features through the Vertex Communications Tax configuration:

  • Basic: - Existing Vertex Integration flow and no new fields required.
  • Line-based: This category allows us to perform the taxation at invoice line level values.
  • Quantity-based: This is like Line-Based taxes, except the “UnitOfMeasure” is treated as “minutes” than lines/channel in Line-based Taxes.
  • Linked Tax: In communications taxation, one tax can increase the taxable base for another tax. The second tax is effectively taxing not only the amount of the original charge but also taxing the amount of the first tax. Vertex takes care of treating the tax request as linked taxes based on Jurisdictions and the existing fields are enough to be sent.
  • Proration percentage taxes: This category is used to calculate the tax on proration percentage which we sent in the tax request. As Aria takes care of the proration part, we are not going to rely on the prorate functionality of the Vertex and so, we got confirmation to ignore this category. But for testing purposes, Aria covers Vertex Communication Tax functionality against a pro-rated invoice.

Additionally, a new optional drop-down field titled “Seller/Utility Provider” has been added to the Vertex O Series configuration UI screen to provide additional taxation reporting (Configuration > Integration > Taxation Configuration > Vertex O Series). The allowable values are as follows:

  • Regulated Taxpayer
  • Unregulated Taxpayer
  • Blank/empty (default)

The Regulated value will only be sent if you choose; otherwise it will be sent as empty. There is no impact to taxation requests for existing clients.

More information on the Vertex O Series integration is available from here.


Stripe and Adyen Smart Payments Enhancements (DEV-11042)

The following enhancements for Aria Smart Payments are included in this release:

Webhook Notifications

A new REST API handles the following Webhook notifications triggered by the Stripe payment notification service:

  • charge.refunded.updated (for a successfully processed failed refund)
  • charge.succeeded
  • charge.captured
  • charge.failed
  • payment_intent.canceled

Note: When an unsupported event is triggered by Stripe, Aria acknowledges receipt but will not process the event.

Account Updater

Aria also now supports the Stripe Account Updater for the following notification events (for credit cards requiring an update or reaching expiration):

Event Description
payment_method.updated Notifies you of updates to a card through an API call
payment_method.automatically_updated Notifies you of automatic card updates from the network
payment_method.detached Notifies you that the payment method should be disabled in Aria

Note: Aria needs to configure the endpoint URL in the Stripe dashboard for merchants; an example follows:

https://payment-notification-service-idaho-dev-dev0.devfarm.ariasystems.net/api/v1/webhook/account-updater/stripe/client/<client_no>/group/< group_no>

Field Description
client_no Client number is a mandatory input in the endpoint URL.
group_no Collection group number is an optional input; If a collection group number is configured on the endpoint URL in the Stripe Dashboard, then Aria will use the secret key of the respective collection group when verifying Stripe webhook notifications. If a collection group number is not configured on the endpoint URL, the secret key in the payment gateway settings will be used.

Mandate UI/API Control

The Mandate Collection Method field has also been introduced in support ACH, SEPA and BACS Direct Debit payments. This can be configured at the Payment Gateway or Collection Group (Configuration > Payments > Payment Gateways/Collection Groups > Processing Options) levels (Collection Group takes precedence). This field specifies how you will authorize the mandate for direct debit collection. Select from the following:

  • Online
  • Offline

If the mandate is collected online, the following must be collected and passed in the collection API:

Field Description
IP Address The IP Address from which the Mandate was accepted by the customer.
User Agent The user agent of the browser from which the Mandate was accepted by the customer.

If offline, you must collect and maintain the authorization in your records.

Webhook Secret Payment Notification

Also, as part of Stripe’s Smart Payments notification support, a field has been added at the Payment Gateway and Collection Group levels in order to populate a separate webhook key (Configuration > Payments > Payment Gateways/Collection Groups > Merchant Account Details > Payment Events Webhook Key). This field accepts the same alphanumeric values as Account Updater Webhook Key field.

SEPA Direct Debit Payments

Stripe now supports SEPA Direct Debit payments, allowing your customers to make recurring payments by providing their SEPA bank account (IBAN) or token to make recurring payments with pay_method = 37 (for the create_acct_complete_m and update_payment_method_m APIs).

For outside tokens, you should set up both the payment method and customer for future usage off-session and combine them (payment_method_id:customer_id) in the field. If either the ID is missing or the token is not in the valid format, the following error is generated: “Invalid token. The valid token format is payment_method_id:customer_id.”

Additionally SEPA direct debit in Stripe requires a “mandate collection method” to be passed in the initial payment request with IBAN.

The mandate collection method supports two different inputs:

  • Online
  • Offline (Default)

If online is chosen, the client needs to pass IP Address and User Agent in the <proc_field_override> array.

  • IP Address: The IP address from which the Mandate was accepted by the customer.
  • User Agent: The user agent of the browser from which the Mandate was accepted by the customer.

These fields can be sent in the array for API overrides, as shown:

proc_field_name proc_field_value
mandate_collection_method By default it will be set to offline. API input values = 1(online), 0(offline)
end_user_ip_address IP address
end_user_browser_agent Browser user agent

Chargeback Support: Aria will handle the chargeback using a Stripe event received from Stripe when a SEPA Payment is disputed.

Refund Support: Aria supports both partial and full refund functionality for SEPA Direct Debit payments.

Stripe Support - Recurring Process Model (RPM)

Aria introduces Recurring Process Model (RPM) support for Stripe for the following card types (for pay_method 13 – Tokenized Credit Card):

  • American Express
  • Diners Club International
  • Discover
  • Japan Credit Bureau (JCB)
  • Mastercard
  • Union Pay
  • VISA

Field mapping for the <rpm_ind> input parameter appears below (for the authorize_electronic_payment_m API):

<rpm_ind> initial/subsequent create_payment_intent* field create_payment_intent* field **CIT/MIT
    <setup_future_usage> <off_session>  
0,1,2,3 Initial transaction (successful collection count = 0) off_session N/A Both CIT and MIT
2,3 Subsequent transactions (successful collection count > 0) N/A true MIT

*-create_payment_intent is an API specific to Stripe.

**-Cardholder-Initiated Transactions/Merchant-Initiated Transactions

BACS Direct Debit

Stripe integration now also includes BACS Direct Debit support (for pay method = 37 – Tokenized Direct Debit). BACS is responsible for the clearing and settlement of U.K. automated payment methods.

For this, Aria accepts the webhooks below to get payment status as BACS is an asynchronous payment method:

  • payment_intent.succeeded
  • payment_intent.payment_failed

Mandate:Customer mandate is required. This can be done via offline/online mode. If the mandate is done online, you need to pass the end_user_ip_address and end_user_browser_agent details.

Note: BACS is supported in the U.K. with the GBP currency type only.

ACH Direct Debit

Additionally, Aria’s Stripe integration now includes ACH Direct Debit support (for pay method = 48 – Tokenized ACH).

For this, Aria accepts the webhooks below to get payment status:

  • payment_intent.succeeded
  • payment_intent.payment_failed

Mandate:Customer mandate is required. This can be done via offline/online mode. If the mandate is done online, you need to pass the end_user_ip_address and end_user_browser_agent details.

After an initial payment and Aria receives the micro_deposit_url upon successful microdeposit verification, the payment will be successful.

Refund Support: Aria is supporting both partial and full refund functionality for ACH Direct Debit payments and the “charge.refunded.updated” event is received from Stripe.

Chargeback Support: Aria will handle the chargeback using the Stripe event “charge.dispute.closed” which Aria receives from Stripe when an ACH Payment is disputed.

Note: ACH is supported in the U.S. with the USD currency type only.

Learn more about Stripe's Smart Payments integration from here.

Adyen Support - Recurring Process Model (RPM)

Aria also now supports the Recurring Process Model (RPM) feature for the VISA, Mastercard and Discover card types 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 do Not Required
2 MIT Recurring (Scheduled) Subscription do Need to pass for pay method = 1 alone when shopperInteraction is ContAuth
3 MIT One-time (Scheduled) UnscheduledCardOnFile do 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.

Learn more about Adyen's Smart Payments integration from here.


Single-Day Proration for Recurring Arrears Charge Now Applied (DEV-11124)

For a child account with parent-pay responsibility, Aria’s has enhanced recurring in arrears proration; the invoicer batch process now produces a child invoice with a pro-rated recurring charge for a single day.

Learn more about Proration within Aria Billing Cloud from here.


Avalara Communications Tax Enhancement with client_profile_id (DEV-11132)

To ensure more precise taxation calculation, the client_profile_id is now included as part of Aria’s Avalara tax integration in support of the tax, post, refund and void actions. This is the identification number of the client profile you want to use when calculating taxes. This ID can be obtained from Avalara's customer portal. To enter this ID, navigate to Configuration > Integrations > Taxation Configuration and select Avalara Communications Tax.


New replacement string 'insertGlTotalPreTaxAfterCredits' created for prorated invoices subtotal calculation on Statement Templates (DEV-11143)

A new replacement string has been implemented for prorated invoices that now only displays the net total of service charge line items and applied service credits as the on Statement templates. Tax credits that are applied on the tax line items are not considered for the net total.


Level 2/3 Support Added for Adyen Smart Payments (DEV-11151)

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:

  1. customerReference
  2. destinationPostalCode
  3. destinationStateProvinceCode
  4. destinationCountryCode
  5. shipFromPostalCode
  6. commodityCode
  7. description
  8. productCode
  9. unitOfMeasure

Read more about Adyen's Smart Payments integration here.


Update on Taxation Applied to Prorated Credits (DEV-11157)

For Aria clients and partners, we wish to inform you that we will implement an update on taxation applied to prorated credits for Release R53 (targeted Production release date of October 26th, 2023). Starting in R53, prorated credits created by the system due to subscription changes (i.e., cancellation, downgrades, etc.) will be taxed at the same tax rate as its original invoice. The tax date sent to the tax engines (Aria and Aria’s partners) for a prorated credit will be equal to the tax date of its original invoice. Prior to R53, prorated credits were taxed with the tax rate in effect at the time of credit creation.

See examples below for taxation scenarios before and after R53:

Use Case: Cancellation post tax rate change.

11157_1_0919.png

Customer will be billed the following invoice:

11157_2_0919.png

On January 2, 2024, a customer called to cancel.

Before R53:

Prorated credit will be calculated with tax rate in effect on January 2, 2024 (10%). Tax date is January 2, 2024.

11157_3_0919.png

After R53:

Prorated credit will be calculated with the same tax rate as its original invoice (5%). Tax date is December 22, 2023.

11157_4_0919.png

The change is more compliant with the current standard for global taxation. Please contact your Aria representative if you require additional information.


UI Help links have been reworked to be more specific and relevant to the available documentation in the new Knowledge Central website.


Application Fixes 

None


API Features 

Stripe Smart Payments - Added Array for Micro Deposit Verification URL (DEV-10456)

Aria continues to enhance its Smart Payments integration with Stripe by adding the <proc_payment_response_field_list> array for all Aria regular and one-time collection APIs in order to return the micro deposit verification URL for ACH payments (at the <proc_payment_response_field_value> parameter of the array).

The array contains the following fields:

Field Value Description
<proc_payment_response_field_list> Payment response fields returned by the processor for further actions if any.

<proc_payment_response_field_name>

Field name of various response returned by the processor, example: micro_deposit_verify_url.

<proc_payment_response_field_value>

Field value for the corresponding payment response field, example: Actual URL to be used for the micro deposit verification.
</proc_payment_response_field_list> End of array

This output array has been added to the following APIs:

Learn more about Aria's integration with the Stripe payment gateway from here.


Voiding a full invoice that includes a later prorated action now resets bill through date (DEV-11088)

When a full invoice is voided via the void_invoice_m API the bill through date will now reset if a later proration action occurs and does not generate an invoice. Previously voiding a full invoice was not resetting the bill through date correctly. Also, when a full invoice or combined invoice with a future billing period is generated through the update_acct_plan_multi_m API, voiding the invoice will result in a roll back of the bill dates if the system has no later invoice present for that plan instance.


Enhancements to create_order_m and get_order_m (DEV-11159)

This feature introduces or enhances input and output parameters in 4 order-related API calls: create_order_m, create_order_with_plan_m, get_order_m, and get_order_items_m.

New Input Parameters

In create_order_m and create_order_with_plan_m, two new inputs are added to the <order_line_items> hash: <client_order_line_id> and <order_line_qualifiers>.

API Name Hash Variables Parameter Names
create_order_m <order_line_items> <client_order_line_id>
<order_line_items> <order_line_qualifiers>
create_order_with_plan_m <order_line_items> <client_order_line_id>
<order_line_items> <order_line_qualifiers>

New Output Parameters

In get_order_m (<order_items> hash) and get_order_items_m (<order_items_list> hash), the same corresponding outputs are added.

API Name Hash Variables Parameter Names
get_order_m <order_items> <client_order_line_id>
<order_items> <order_line_qualifier_list> (hash)
  • <qualifier_name>
  • <qualifier_value>
get_order_items_m <order_items_list> <client_order_line_id>
<order_items_list> <order_line_qualifier_list> (hash)
  • <qualifier_name>
  • <qualifier_value>

API Fixes 

  • The output field <transaction_id> has been deprecated from the following API’s: create_order_m, create_order_with_plan_m, update_order_m, and get_order_m. (TICKET-16584)
  • A new error code (14013) has been created for the replace_acct_plan_m API that is returned when attempting to replace the MPI with a different currency that doesn't exist in the new plan. Additionally, a new error code (14317) has been added in the case of rollover plan validation if the new plan has a roll over plan configured at the plan catalog level for which there is no active rate schedule defined in the account currency. These error codes are:
    • 14013: New plan does not have a rate schedule with a currency matching the account's currency. and
    • 14317: Rollover plan does not have an active rate schedule with a currency matching the account's currency. (TICKET-17739)

WSDL File Locations

Stage Current

 

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

Stage Future

 

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

Production

 

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

Object Query WSDL Files

Stage Current

 

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

Stage Future

 

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

Production

 

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