SDK API Reference

This page provides a concise reference for the PayParts SDK (TypeScript) public API. It covers the newer init() -> prepare() -> bind() flow. See Add components to your frontend for guidance, and Handle events for the event model.

PayPartsSDK

The global object exposed as window.PayPartsSDK (also the named export PayParts).

MethodSignatureDescription
init(opt: InitOptions) => Promise<Checkout>Initializes the SDK using your sessionToken and returns a Checkout.
prepare(methodOrSection: string) => PaymentComponentReturns a PaymentComponent for the given method/section. Throws unless called after init.

Checkout

The object returned by PayPartsSDK.init().

MemberSignatureDescription
eventsMountEventHandlersAttach event handlers to control the payment flow.
prepare(methodOrSection: string) => PaymentComponentPrepare a component (e.g. 'card-payments', 'checkout-buttons', 'methods').
updateConfig(config: Partial<CheckoutConfig>) => voidUpdate the SDK configuration after initialization.
getConfig() => Readonly<Required<CheckoutConfig>>Get the current configuration.
updateSession(request: UpdateSessionRequest) => Promise<UpdateSessionResponse>Update the session amount/order. Zero only (not yet in Production).

PaymentComponent

Returned by checkout.prepare(methodOrSection).

MethodSignatureDescription
bind(target: string | HTMLElement) => voidMounts the component into a target element or selector.
unmount() => voidUnmounts the component from the page.
updateContext(context: Partial<PaymentMethodContext>) => voidUpdates the component's context.
isReady() => booleanWhether the component is ready to submit (all fields valid).
refresh() => Promise<void>Refreshes the component data.
submit() => Promise<SubmitResult>Triggers payment programmatically. Useful when you hide the built-in pay button (creditCardOptions.hideSubmitButton).

SubmitResult

Returned by PaymentComponent.submit().

type SubmitResult =
  | { status: 'success'; orderId: string; returnUrl: string }
  | { status: 'validation_failed' }
  | { status: 'error'; message: string; errorTag?: string }
  | { status: 'not_ready' };

Async submit (onSubmit)

The onSubmit handler supports asynchronous logic. When the user submits payment, the SDK waits (up to onSubmitTimeout, default 30000 ms) for the handler to call event.resolve() before continuing with the payment.

This lets you run other async work first — for example creating an order on a different platform/ERP, freezing stock, or validating inventory — and only continue once it has completed:

onSubmit: async (event) => {
  // Create the order on another platform first...
  await myPlatformApi.createOrder({ items, customer });
  // ...and only then continue with the PayParts payment
  event.resolve();
}
  • Call event.resolve() to continue with the payment.
  • Call event.reject(error) to cancel/abort the payment (e.g. if the external order creation fails).
  • See Handle events for the full onSubmit example.

Events

Event handlers are attached via checkout.events. Full list and event payloads: Handle events.


Did this page help you?