Sari la conținut

Integrează Comerțul în Aplicația Mea

Inițiază checkout-uri și restricționează funcționalitățile premium direct din codul aplicației tale.

După ce ai conectat Stripe și ai creat un produs, aplicația ta poate încasa plăți. Într-o aplicație construită cu Proyecta, acest lucru se întâmplă din browser, prin API-ul public de commerce — nu ai niciun backend de pus în picioare și nicio cheie secretă implicată.

Cataloagele de tip storefront sunt conținut. Dacă produsele tale reprezintă o colecție vandabilă bazată pe conținut (vezi Produse și Funcționalități), citești catalogul și afișezi prețurile prin API-ul de Conținut — datele produselor se află acolo. Checkout-ul se inițiază în același mod, pasând variant_id-ul produsului Commerce integrat.

import * as platform from '@/lib/platformClient.ts';
import { useEntitlement } from '@/hooks/useEntitlement.ts';

commerceCheckout creează o sesiune de checkout găzduită de Stripe și returnează o URL către care trimiți cumpărătorul. Nu creezi mai întâi un client — platforma înregistrează unul chiar din checkout:

const { url } = await platform.commerceCheckout({
lineItems: [{ variantId: 'var_pro_monthly', quantity: 1 }],
successUrl: 'https://myapp.com/welcome',
cancelUrl: 'https://myapp.com/pricing',
customerEmail: shopperEmail, // optional — prefills Stripe checkout
});
window.location.href = url;

Sunt suportate mai multe linii de comandă. Pentru abonamente, quantity reprezintă numărul de locuri. Dacă un cumpărător a tastat un cod de cupon, transmite-l mai departe — serverul îl validează și calculează reducerea din datele tale de commerce, niciodată dintr-o sumă furnizată de browser.

const { hasAccess, isLoading } = useEntitlement('pro_features');
if (isLoading) return <Spinner />;
if (!hasAccess) return <UpgradePrompt />;
return <ProOnlyThing />;

Cheia este slug-ul funcționalității (ex. pro_features), nu id-ul obiectului funcționalitate. Verificarea se face pe server și este legată de sesiunea autentificată, deci nu poate fi falsificată din browser. Consultă Produse și Funcționalități pentru modelul de drepturi de acces.

  • "Build a /pricing page that shows my products and starts a checkout when a button is clicked."
  • "Gate the /pro route so only customers with pro_features access can see it."
  • "Add a cart with a coupon code field and a Checkout button."