GuestCheckoutStrategy
GuestCheckoutStrategy
A strategy that determines how to deal with guest checkouts - i.e. when a customer checks out without being logged in. For example, a strategy could be used to implement business rules such as:
- No guest checkouts allowed
- No guest checkouts allowed for customers who already have an account
- No guest checkouts allowed for customers who have previously placed an order
- Allow guest checkouts, but create a new Customer entity if the email address is already in use
- Allow guest checkouts, but update the existing Customer entity if the email address is already in use
info
This is configured via the orderOptions.guestCheckoutStrategy
property of
your VendureConfig.
Signature
interface GuestCheckoutStrategy extends InjectableStrategy {
setCustomerForOrder(
ctx: RequestContext,
order: Order,
input: CreateCustomerInput,
):
| ErrorResultUnion<SetCustomerForOrderResult, Customer>
| Promise<ErrorResultUnion<SetCustomerForOrderResult, Customer>>;
}
- Extends:
InjectableStrategy
setCustomerForOrder
method
(ctx: RequestContext, order: Order, input: CreateCustomerInput) => | ErrorResultUnion<SetCustomerForOrderResult, Customer> | Promise<ErrorResultUnion<SetCustomerForOrderResult, Customer>>
This method is called when the setCustomerForOrder
mutation is executed.
It should return either a Customer object or an ErrorResult.