For developers
Checkout for any storefront.
Use a connected store out of the box, or call the API from your own front end. Either way, the catalog sets the price.
Principles
Hard to get wrong.
Server-priced
Send what the customer wants, not what it costs. Qyubi works out the total.
Catalog in sync
Connected stores stay current, so the variant you reference is the one you charge for.
Front-end agnostic
Plugin, headless, or hand-rolled. If it can make an HTTP request, it can check out.
The flow
Three calls, give or take.
- 1
Create a session
Post the variants and quantities from your cart.
- 2
Redirect
Send the customer to the hosted checkout URL.
- 3
Get notified
Receive an event when the payment succeeds.
server.ts
const session = await qyubi.checkout.create({
items: cart.lines.map((line) => ({
variantId: line.variantId,
quantity: line.quantity,
})),
returnUrl: "https://shop.example/thanks",
});
return redirect(session.url);webhook.ts
if (event.type === "payment.succeeded") {
await fulfil(event.data.orderRef);
}Illustrative. API details are shared with early access partners.
Building something custom?
Tell us about your stack and we'll get you set up.