Migration Steps for IPF-2025.4.0

Migration for Debulker Flo Client

  • Specifying a single literal marker on Call Bulk Flow is now deprecated.

  • You can now specify a list of literal markers or a single business data marker.

  • See Call Bulk Flows for additional details.

It is recommended that you open any solutions utilising debulker flo client in MPS and click ok on the migration prompt.

Payment Entry Processor (aka Payment Releaser)

  • BasePaymentWarehouseDataSource class changes:

    • Renamed to AggregateEntriesWarehouseDataSource, any WarehouseDataSource class extending it should adjust accordingly

    • initationAggregatorFunction param is now of type Function<List<PaymentEntry>, Optional<PaymentWarehouseInitiation>>, instead of ObjectProvider<Function<List<PaymentEntry>, Optional<A>>> as it was previously

  • Configuration changes:

    • You should add @AutoConfigureBefore(WarehouseDatasourceAutoConfig.class) to your PaymentEntryProcessor AutoConfiguration class

    • If you don’t store the Initiation level info in the Payment Warehouse, you don’t have to provide the initiationEntriesAggregator implementation bean any more. When bean not present in the client config, a default NoOp bean (defined in WarehouseDatasourceAutoConfig) will be used instead.

Migration for SEPA DD

  • Add configuration ipf.csm.sepa-dd.processing-entity for setting the direct/indirect participants. The following is an example configuration

ipf.csm.sepa-dd {
  processing-entity {
    valid-agent-bics = [
      {
        direct-participant-bic = "ICONGBA0"
        indirect-participant-bics = [
          "ICONGBA1",
          "ICONGBA2"
        ]
      },
      {
        direct-participant-bic = "ICONGBA3"
        indirect-participant-bics = [
          "ICONGBA4",
          "ICONGBA5"
        ]
      }
    ]
  }
}

Migration for CSM Service

CSM Service Client Starter

  • CSMDDClientAdapter interface has introduced the below new methods. Override them for client specific implementations:

    @Override
    public CompletionStage<Void> handleNotifyDDRefundReturn(ReceivingContext receivingContext, NotifyDDRefundReturn notifyDDRefundReturn) {
        log.info("Received NotifyDDRefundReturn request {} with context {}", notifyDDRefundReturn.getRequestId(), notifyDDRefundReturn.getProcessingContext());
        return CompletableFuture.completedStage(null);
    }

    @Override
    public CompletionStage<Void> handleNotifyDDRefusalReject(ReceivingContext receivingContext, NotifyDDRefusalReject notifyDDRefusalReject) {
        log.info("Received NotifyDDRefusalReject request {} with context {}", notifyDDRefusalReject.getRequestId(), notifyDDRefusalReject.getProcessingContext());
        return CompletableFuture.completedStage(null);
    }

Migrations for SEPACT CSM Service

Valid Agent Bic(s) Configuration

With the addition of inbound processing entity enrichment in this CSM service, the valid-agent-bics config structure had to be adapted and requires changes:

This is only required if you use the valid-agent-bics validations and/or want to use the config processing entity processor type

Prior to 2025.4:

ipf.csm.sepa-ct.processing-entity {
  valid-agent-bics = [
    {
      direct-participant-bic = "ICONGBA0"
      indirect-participant-bics = [
        "ICONGBA1"
      ]
    }
  ]
}

2025.4 onwards:

ipf.csm.sepa-ct.processing-entity {
  valid-agent-bics = [
    {
      direct-participant-bic {
        bic = "ICONGBA0"
        processing-entity = "BIG_BANK_1"
      }
      indirect-participant-bics = [
        {bic: "ICONGBA1", processing-entity: "BIG_BANK_MINI_1"}
      ]
    }
  ]
}

HTTP/JMS Connector Method Deprecation

  • As per the notifications in IPF 2024.3.0, the following methods will be removed in the next release (2026.1.0):

    • withTransportConfiguration method in HttpConnectorTransport<T>.Builder: HttpConnectorTransport.Builder<T>(String name, ClassicActorSystemProvider actorSystem, String configRootPath) should be used instead.

    • withTransportConfiguration method in HttpReceiveConnectorTransport.Builder: HttpReceiveTransportConfiguration will be instantiated by build() method instead

    • HttpReceiveConnectorTransportFactory is deprecated and will be removed, use HttpReceiveConnectorTransport.Builder instead.