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
Signature
interface GuestCheckoutStrategy extends InjectableStrategy {
setCustomerForOrder(
ctx: RequestContext,
order: Order,
input: CreateCustomerInput,
):
| ErrorResultUnion<SetCustomerForOrderResult, Customer>
| Promise<ErrorResultUnion<SetCustomerForOrderResult, Customer>>;
}
Extends
Members
setCustomerForOrder
method
type:
(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.