Checkout Pipelines
Implementing a Task
public class MyCustomCheckoutTask : IPipelineTask<CheckoutInput, CheckoutOutput>
{
public CascadeMode CascadeMode { get; } = CascadeMode.Continue;
public Task Execute(PipelineContext<CheckoutInput, CheckoutOutput> context, CancellationToken cancellationToken)
{
// Your custom logic.
}
}Adding a Task
public static class CheckoutPipelineExtensions
{
public static PaymentBuilder AddMyCheckoutExtensions(this PaymentBuilder builder)
{
//These examples all modify the default 'Checkout' pipeline
//This will insert the task 'MyCustomCheckoutTask' just before 'DefaultAssignOrderNumberPipelineTask'
builder
.CheckoutPipelines
.GetByAlias("Checkout")
.InsertBefore<MyCustomCheckoutTask>(typeof(DefaultAssignOrderNumberPipelineTask));
//This will insert the task 'MyCustomCheckoutTask' just after 'DefaultAssignOrderNumberPipelineTask'
builder
.CheckoutPipelines
.GetByAlias("Checkout")
.InsertAfter<MyCustomCheckoutTask>(typeof(DefaultAssignOrderNumberPipelineTask));
//This will insert the task 'MyCustomCheckoutTask' as the first task of the pipeline
builder
.CheckoutPipelines
.GetByAlias("Checkout")
.InsertFirst<MyCustomCheckoutTask>();
//This will insert the task 'MyCustomCheckoutTask' as the last task of the pipeline
builder
.CheckoutPipelines
.GetByAlias("Checkout")
.InsertLast<MyCustomCheckoutTask>();
//This will remove the default task 'DefaultAssignOrderNumberPipelineTask' from the pipeline
builder
.CheckoutPipelines
.GetByAlias("Checkout")
.Remove<DefaultAssignOrderNumberPipelineTask>();
return builder;
}
}Use the extension method to register tasks
Creating a new checkout pipeline
Last updated