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

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

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

These announcements are for July 24, 2026.

SOAP Tooklit Authentication Update {#soap-p12}
==============================================

Cybersource will no longer support username- and password-based authentication for merchants who use the *SOAP toolkit key* . You are required to remove username- and password-based authentication from your SOAP toolkit integration and transition to certificate-based authentication by these dates:

* Test Environment: April 15, 2026
* Production validation test (shock test): September 30, 2026. This applies only to selected merchants.
* Production Environment: October 7, 2026

{#soap-p12_ul_hbm_lwq_zjc} Your API requests to Cybersource will be rejected if you do not implement P12 authentication by the required dates.  
See [*P12 Authentication Upgrade for SOAP Toolkit Key Users Migration Guide*.](https://developer.cybersource.com/docs/cybs/en-us/so-p12/migration/all/so/so-p12/so-p12-intro.md "")

IP Address Updates {#ip-addresses}
==================================

The legacy IP address for the Cybersource Batch Upload service will be replaced by two new IP addresses. We recommend that you use domain names instead of IP addresses.  
The new addresses will take effect at these URLs and times:  
**Testing Environment**  
`batchtest.cybersource.com`  
July 28, 2026 at 4:00 am GMT  
**Production Environment:**  
`batch.cybersource.com`  
September 15, 2026 at 4:00 am 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}
============================================

**Payments** \| RM-40445
------------------------

Description
:
This release adds the Mexican Peso (MXN, ISO 4217 code 484) as a supported currency for merchants processing through the FTT (First Tennessee/FTB) acquirer on the CTPv4 gateway. Merchants routed to FTT can now submit authorizations, captures, and related transactions in MXN through the existing CTPv4 API.

Mandate
:
Does not apply.

Audience
:
External merchants and partners processing on the CTPv4 gateway through FTT, primarily in Latin America.

Benefit
:
This update enables merchants to offer an additional currency to their customers.

Technical Details
:
Use information.amountDetails.currency `= "MXN"` in transactions routed to the FTT acquirer.

Important Dates
:
Released to production July 24, 2026.

**Payments** \| RM-46895
------------------------

Description
:
Online Authorizations for credits or refunds are currently supported on Streamline and Omnipay processing connections. However, in the event that a refund is attempted on a card that has expired subsequent to a prior purchase, the card fails card validation checks, preventing the refund from being attempted. The expired card validation has been removed from the refund flow so that the decision on accepting the refund can be presented to issuer.

Mandate
:
Does not apply.

Audience
:
Merchants who perform refunds using Worldpay-Streamline, OmnipayDirect, and Cardnet.

Benefit
:
Merchants can present refunds on cards that have expired since an original purchase transaction so that issuers can decide and clearly indicate whether the refund will be accepted.

Technical Details
:
None.

Important Dates
:
July 22, 2026.

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

No customer-facing fixes were released this week.

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

**Business Center Access** \| EPS-41165
---------------------------------------

Description
:
An intermittent issue might prevent some users from logging in to the Business Center.

Audience
:
Users of the Business Center.

Technical Details
:
None.

Workaround
:
None.
