En nosotros a través de CSM determinación

Esta sección explica cómo customise el manejo de transacciones On-us-donde ambas partes están con el mismo banco. Como resultado, la liquidación ocurre internamente en lugar de a través de un esquema.

Si implementa On-us a través del esquema, es posible anular la funcionalidad para determinar si un pago se considera on-us o no. Por defecto, el BIC del agente deudor se compara con el BIC del agente acreedor. Esta funcionalidad puede ser insuficiente en casos como:

  • El CSM service el cliente está hablando con múltiples CSM service implementaciones

  • La determinación on-us es más compleja (por ejemplo, verificar contra una lista conocida de los BICs "nuestros").

  • El objetivo CSM(s) no utilice BICs, o la comparación debe realizarse contra más campos.

Para utilizar la funcionalidad predeterminada, la siguiente implementación de interfaz se define por defecto en el CSM Service biblioteca del cliente:

    @Override
    public boolean isCreditTransferOnUs(FIToFICustomerCreditTransferV08 fi2fi) {
        return Try.of(() ->
                        fi2fi.getCdtTrfTxInf().get(0).getDbtrAgt().getFinInstnId().getBICFI()
                                .equals(fi2fi.getCdtTrfTxInf().get(0).getCdtrAgt().getFinInstnId().getBICFI()))
                .getOrElse(this::failedToDetermine);
    }

    @Override
    public boolean isStatusRequestOnUs(FIToFIPaymentStatusRequestV03 fi2fi) {
        return Try.of(() -> fi2fi.getTxInf().get(0).getOrgnlTxRef().getDbtrAgt().getFinInstnId().getBICFI()
                        .equals(fi2fi.getTxInf().get(0).getOrgnlTxRef().getCdtrAgt().getFinInstnId().getBICFI()))
                .getOrElse(this::failedToDetermine);
    }

Y el bean se define, por ejemplo:

    @Bean
    @ConditionalOnMissingBean
    public OnUsDeterminer onUsDeterminer() {
        return new DefaultOnUsDeterminer();
    }

Si desea anular esta funcionalidad para implementar una funcionalidad de determinación on-us diferente, implemente la interfaz OnUsDeterminer y cree un bean con el mismo nombre y firma, para instruir al CSM Service biblioteca de cliente para hacer algo diferente al determinar transacciones en la red.

Tenga en cuenta que si no se implementa en nosotros a través del CSM, no es necesario deshabilitar ninguna funcionalidad interna.