Release Your First Instruction/Batch (Embedded Implementation)

The PaymentEntriesProcessor interface is our entrypoint into the Payment Releaser.

If you have followed the getting-started documentation then you will have wired up a PaymentEntriesProcessor implementation as described here.

To release your first Instruction/Batch you call the processInstruction(UnitOfWorkId, ProcessingActionType, SupportingContext) method passing in the Instruction/Batch Unit of Work ID that you want to release, along with any supporting data for the execution service.

Releasing a payment Instruction will only work if you have already saved the payment Instruction into your Payment Data Source, as the application can only release what it can retrieve.

Below is an example to demonstrate usage:

package com.iconsolutions.ipf.core.releaser;

import com.iconsolutions.ipf.core.shared.domain.context.SupportingContext;
import com.iconsolutions.ipf.core.shared.domain.context.UnitOfWorkId;
import com.iconsolutions.ipf.core.releaser.action.ProcessingActionTypes;
import lombok.RequiredArgsConstructor;

import java.util.concurrent.CompletionStage;

@RequiredArgsConstructor
public class ExampleReleaseInstruction {

    private final PaymentEntriesProcessor paymentEntriesProcessor;

    public CompletionStage<ExecutionInfo> releaseInstruction(UnitOfWorkId instructionUnitOfWorkId, SupportingContext supportingDataForExecutionOperation) {
        return paymentEntriesProcessor.processInstruction(instructionUnitOfWorkId, ProcessingActionTypes.RELEASE, supportingDataForExecutionOperation);
    }

}