Release Notes {#rn-general}
===========================

These release notes cover all releases to the production server for the week ending July 2, 2026.

Announcements {#rn-announce}
============================

These announcements are for July 2, 2026.

I.P. Address Updates {#ip-addresses}
====================================

The legacy I.P. address for the Cybersource Batch Upload service will be replaced by two new I.P. addresses. We recommend that you use domain names instead of I.P. Addresses.  
The new addresses will take effect at these URLs and times:  
**Testing Environment**  
`batchtest.cybersource.com`  
July 28th, 2026 4:00am GMT  
**Production Environment:**  
`batch.cybersource.com`  
September 15th, 2026 4:00am GMT

Enhanced Webhook URL Review and Approval Process {#webhooks-urls}
=================================================================

We are introducing an enhancement to webhook subscription processing to improve security, compliance, and visibility for webhook-related URLs. Webhook URLs will be validated and reviewed before they can be used. This includes both newly submitted subscriptions and existing subscriptions currently on file. This change is expected to take place in Q1 2027.

**What is Changing** {#webhooks-urls_section_dnx_jdt_1jc}
---------------------------------------------------------

When a webhook subscription is created or updated, the URLs associated with that subscription will be evaluated through a validation and approval process.  
This applies to:

* **Webhook URL** (required)
* **OAuth URL** (if applicable)
* **Health Check URL** (if applicable)

{#webhooks-urls_ul_enx_jdt_1jc}  
As part of this enhancement, clients might now see the following user-facing statuses:

* **PENDING_REVIEW**
* **BLOCKED**

{#webhooks-urls_ul_fnx_jdt_1jc}  
The existing **INACTIVE** status remains unchanged and continues to indicate that the subscription is approved and ready within the current lifecycle.

Status Descriptions
-------------------

|     **Status**     |                                                            **Description**                                                             |
|--------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| **PENDING_REVIEW** | One or more submitted URLs are being validated or awaiting required security approval.                                                 |
| **BLOCKED**        | One or more URLs were rejected or identified as unsafe or non-compliant. The subscription cannot proceed until the URL(s) are updated. |
| **INACTIVE**       | All required approvals are complete, and the subscription is ready under the existing activation flow.                                 |

**How the New Process Works** {#webhooks-urls_section_hnx_jdt_1jc}
------------------------------------------------------------------

1. A webhook subscription is created or updated.
2. Submitted URLs are checked against existing approval records.
3. New or unknown URLs are evaluated through automated validation.
4. If additional review is required, the subscription status changes to **PENDING_REVIEW**.
5. If any URL is rejected or blocked, the subscription status changes to **BLOCKED**.
6. If all required URLs are approved, the subscription status changes to **INACTIVE**.
   {#webhooks-urls_ol_inx_jdt_1jc}

**Impact on Existing Subscriptions** {#webhooks-urls_section_jnx_jdt_1jc}
-------------------------------------------------------------------------

After this change goes live, we will run existing webhook subscriptions through the new validation process:

* Existing subscription URLs will be assessed using the new validation framework.
* URLs that require additional security review might change the status of the subscription to **PENDING_REVIEW**.
* If any existing URL is identified as blocked, the associated subscription status will be updated to **BLOCKED**.

{#webhooks-urls_ul_knx_jdt_1jc}  
In cases where a subscription status is change to **BLOCKED**, clients will be expected to perform these tasks:

* Review the affected endpoint(s).
* Update the URL(s) to an acceptable endpoint.
* Resubmit the subscription for processing.
  {#webhooks-urls_ul_lnx_jdt_1jc}

**For New Subscriptions** {#webhooks-urls_section_mnx_jdt_1jc}
--------------------------------------------------------------

New webhook-related URLs may go through validation and, if necessary, security review before the subscription can proceed.

**For Existing Subscriptions** {#webhooks-urls_section_nnx_jdt_1jc}
-------------------------------------------------------------------

Current subscriptions will also be reviewed after they go live. If an existing endpoint does not meet the new validation requirements, the subscription status might be updated to **BLOCKED** until the URL is corrected.

**If Your Subscription Is Marked BLOCKED** {#webhooks-urls_section_onx_jdt_1jc}
-------------------------------------------------------------------------------

This means one or more URLs associated with the subscription cannot be used in their current form. To continue, the client must update the affected URL(s) and resubmit.

**Why We Are Making This Change** {#webhooks-urls_section_pnx_jdt_1jc}
----------------------------------------------------------------------

This enhancement is designed to:

* **Reduce security risk** by preventing outbound calls to unapproved endpoints.
* **Improve compliance** through stronger review and approval controls.
* **Increase transparency** with clearer client-visible statuses.
* **Support scale** through a standardized and repeatable validation process.
  {#webhooks-urls_ul_qnx_jdt_1jc}

Message-Level Encryption Upcoming Mandate {#announcement-mle}
=============================================================

An updated version of message-level encryption (MLE) will become mandatory in order for merchants to use the APIs. Portfolio owners must enable this updated version of MLE for their merchants by **September 2026**.  
This required MLE update encrypts all data in your API response messages. The previous version of MLE encrypted only request messages. If your merchants are already using custom JSON Web Token messaging, they must also update how their system constructs JWTs. Merchants who are using HTTP signature messaging must migrate their system to JWT messaging.

> You risk transaction failures if you do not implement this MLE update.

Overview of MLE
---------------

MLE is a robust security protocol designed to encrypt individual messages or payloads at the application layer. By protecting sensitive data at the message level, MLE ensures that your information remains secure as it moves through systems and networks, providing a layer of security beyond traditional transport encryption.  
Enabling MLE requires you to create a REST API key for request messages and a *REST -- API Response MLE* key for response messages. If your organization is using a meta key, the portfolio account or merchant account user who created the meta key must also create the REST -- API Response MLE key.

Update Methods
:
* Create or update your custom MLE integration using JWTs with P12 certificates. For more information, see the [Enable Message-Level Encryption](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-mle-intro.md "") section in the *Getting Started with REST Developer Guide*. For a method using shared secret key pairs, see the HTTP Messaging Migration to JWT Messaging section below.
* Update your REST API SDK. For more information, see the *REST API related products* section in the [Cybersource GitHub](https://github.com/CyberSource "").

JSON Web Token Construction Update
----------------------------------

There are new requirements for how to construct JSON Web Tokens (JWTs) in order to send API request messages. If you use a custom integration to construct JWTs, you must update your system to remain compliant. This update is necessary to support the new MLE requirements.

Update Methods
:
* See [Construct JWT Messages Using a P12 Certificate](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-jwt-const-intro.md "") in the *Getting Started with REST Developer Guide*
* See [Construct JWT Messages Using a Shared Secret Key Pair](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-jwt-con-shared-secret-intro.md "") in the *Getting Started with REST Developer Guide*

HTTP Messaging Migration to JWT Messaging
-----------------------------------------

By **September 2026** , all merchants using HTTP signature messaging must migrate to JWT messaging in order to support MLE. Merchants already using HTTP signature messaging with shared secret key pairs can now continue using their existing keys with JWT messaging.

Update Method
:
See [Construct JWT Messages Using a Shared Secret Key Pair](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro.md "") in the *Getting Started with REST Developer Guide*

Features Introduced This Week {#rn-features}
============================================

**Account Name Inquiry API** \| RM-45612
----------------------------------------

Description
:
This release adds new field(s) to the Account Name Inquiry API response on the Transaction Details service. Clients using the Account Name Inquiry API will begin receiving additional account name data in the response payload. No action is required to receive the new fields, but clients that want to utilize them will need to update their parsing logic accordingly.

Mandate
:
Does not apply.

Audience
:
Global.

Benefit
:

Technical Details
:
The new response fields are:

    * aniFullNameMatchCode
    * aniRawFullNameMatchCode
    * aniIndicator
    {#rn-features_ul_err_kst_tjc}

Important Dates
:
Released to production June 30, 2026.

**Transaction Details API** \| RM-45650
---------------------------------------

Description
:
This release introduces new Merchant Advice Code fields to the Transaction Details API response. Clients consuming the Transaction Details API will receive additional Merchant Advice Code data in the response payload, enabling better visibility into transaction outcomes and decline reasons. No action is required to receive the new fields, however, clients should update their parsing logic accordingly.

Mandate
:
Does not apply.

Audience
:
Global. Particularly relevant to merchants and acquirers who rely on Merchant Advice Codes for retry logic and transaction management.

Benefit
:
* More informed retry strategies.
* Improved decline handling.
* Better operational visibility at the merchant level.

Technical Details
:
Response field names:

    * MerchantAdviceCode
    * MerchantAdviceCodeRaw
    {#rn-features_ul_hpn_fyt_tjc}

Important Dates
:
Released to production June 30, 2026.

Fixed Issues {#rn-fixed-issues}
===============================

No customer-facing fixes were released this week.

Known Issues {#rn-known-issues}
===============================

**Unified Checkout** \| EPS-38342
---------------------------------

Description
:
When a Unified Checkout user submits a transaction with payment type PAN entry, and the showConfirmationStep field is not added to the capture context with a value of false, the authorization fails with a `MISSING_FIELD` error.

Audience
:
Users of Unified Checkout.

Technical Details
:
None.

Workaround
:
Enable `"showConfirmationStep": "false"` in the capture context.

**Account Updater** \| EPS-39734
--------------------------------

Description
:
An intermittent error causes some merchants who use Account Updater to retrieve a batch status using the REST API's **/accountupdater/v1/batches/{BATCH_ID}/status** endpoint might experience HTTP 403 errors.

Audience
:
Merchants who use Account Updater.

Technical Details
:
None.

Workaround
:
Try again.
