Skip to content

Class: CheckoutCoordinator ​

Coordinates framework-agnostic checkout transitions for the active cart.

Constructors ​

Constructor ​

new CheckoutCoordinator(options): CheckoutCoordinator

Parameters ​

options ​
cartSession ​

CartSession

client ​

ZynoSalesClient

hooks ​

ZynoSalesHooks

pendingPaymentKey ​

string

storage ​

ZynoSalesStorage

Returns ​

CheckoutCoordinator

Methods ​

acceptMembershipTerms() ​

acceptMembershipTerms(input): Promise<ISalesEcommPublicCart>

Records the shopper's explicit acceptance of the current server-provided membership terms hash.

Parameters ​

input ​
termsHash ​

string

Returns ​

Promise<ISalesEcommPublicCart>


applyDiscount() ​

applyDiscount(input): Promise<ISalesEcommPublicCart>

Applies a discount code and returns the authoritative cart.

Parameters ​

input ​

ISalesEcommCartDiscountCodeInput

Returns ​

Promise<ISalesEcommPublicCart>


beginCardPayment() ​

beginCardPayment(): Promise<CardCheckoutSetup | null>

Runs the final policy hook and opens a card-payment attempt. For a zero-due recurring cart it returns a SetupIntent; other zero-due carts finalize and return null.

Returns ​

Promise<CardCheckoutSetup | null>


cancelPaymentAttempt() ​

cancelPaymentAttempt(attemptId): Promise<void>

Cancels an unneeded payment attempt.

Parameters ​

attemptId ​

string

Returns ​

Promise<void>


completeCardPayment() ​

completeCardPayment(input): Promise<ISalesEcommOrderResponse>

Records an authorized Stripe PaymentIntent with Sales.

Parameters ​

input ​

Pick<CardPaymentSetup, "paymentAttemptId" | "paymentIntentId">

Returns ​

Promise<ISalesEcommOrderResponse>


completeMembershipCardSetup() ​

completeMembershipCardSetup(input): Promise<ISalesEcommOrderResponse>

Completes a zero-due membership purchase after Stripe confirms its SetupIntent.

Parameters ​

input ​

Pick<MembershipCardSetup, "paymentAttemptId" | "setupIntentId">

Returns ​

Promise<ISalesEcommOrderResponse>


getOrder() ​

getOrder(): Promise<ISalesEcommOrderResponse>

Reads the completed order using the retained order capability.

Returns ​

Promise<ISalesEcommOrderResponse>


getPaymentAttempt() ​

getPaymentAttempt(attemptId): Promise<ISalesEcommPaymentAttemptResponse>

Reads one payment attempt for host-managed payment UI/recovery.

Parameters ​

attemptId ​

string

Returns ​

Promise<ISalesEcommPaymentAttemptResponse>


getShippingRates() ​

getShippingRates(input): Promise<ISalesEcommShippingRatesResponse>

Requests backend-authoritative shipping rates.

Parameters ​

input ​

ISalesEcommCartShippingRatesInput

Returns ​

Promise<ISalesEcommShippingRatesResponse>


getSnapshot() ​

getSnapshot(): CheckoutSnapshot

Returns the latest render-safe checkout snapshot.

Returns ​

CheckoutSnapshot


quoteShippingSelection() ​

quoteShippingSelection(input): Promise<ISalesEcommShippingSelectionQuoteResponse>

Quotes a complete package-rate selection with backend-authoritative pricing.

Parameters ​

input ​

ISalesEcommShippingSelectionQuoteInput

Returns ​

Promise<ISalesEcommShippingSelectionQuoteResponse>


recoverPayment() ​

recoverPayment(): Promise<ISalesEcommOrderResponse | null>

Recovers a paid order or a previously authorized payment attempt after a reload.

Returns ​

Promise<ISalesEcommOrderResponse | null>


removeDiscount() ​

removeDiscount(): Promise<ISalesEcommPublicCart>

Removes the active discount and returns the authoritative cart.

Returns ​

Promise<ISalesEcommPublicCart>


removeFulfillment() ​

removeFulfillment(): Promise<ISalesEcommPublicCart>

Removes fulfillment from the active cart.

Returns ​

Promise<ISalesEcommPublicCart>


setBuyer() ​

setBuyer(input): Promise<ISalesEcommPublicCart>

Updates the purchaser’s CRM identity on the active cart. Send original typed values here; fulfillment data can be carrier-normalized before an order closes.

Parameters ​

input ​

ISalesEcommBuyerInput

Returns ​

Promise<ISalesEcommPublicCart>


setFulfillment() ​

setFulfillment(input): Promise<ISalesEcommPublicCart>

Applies fulfillment details and selected shipping rates to the active cart. Use crmAddressId to reuse a selected CRM address.

Parameters ​

input ​

ISalesEcommCartFulfillmentInput

Returns ​

Promise<ISalesEcommPublicCart>


subscribe() ​

subscribe(listener): () => void

Subscribes to render-safe checkout changes.

Parameters ​

listener ​

(snapshot) => void

Returns ​

() => void


validateDiscount() ​

validateDiscount(code): Promise<IValidateDiscountCodeResponse>

Validates a discount code without changing the cart.

Parameters ​

code ​

string

Returns ​

Promise<IValidateDiscountCodeResponse>


verifyAddress() ​

verifyAddress(input): Promise<ISalesFulfillmentAddressVerificationResponse>

Verifies an address without silently choosing a normalization candidate.

Parameters ​

input ​

ISalesEcommAddressVerificationInput

Returns ​

Promise<ISalesFulfillmentAddressVerificationResponse>

MIT Licensed