Skip to main content

Checkout public

Endpoint-uri publice pentru fluxul de checkout. Nu necesita autentificare.

Aceste endpoint-uri alimenteaza pagina publica de checkout de la https://paylinks.ro/p/{slug}.

GET /paylinks/public

Listeaza paylink-urile publice active pentru sitemap/indexare.

curl https://api.paylinks.ro/api/v1/paylinks/public

Raspuns (200):

{
"items": [
{
"slug": "premium-course",
"updatedAt": "2026-02-17T10:00:00.000Z"
}
]
}

GET /paylinks/public/:slug

Obtine un singur paylink public dupa slug.

curl https://api.paylinks.ro/api/v1/paylinks/public/premium-course

Raspuns (200): Obiectul complet al paylink-ului public.

Raspuns (404): PayLink negasit.


POST /paylinks/public/:slug/payment-intents

Creaza un Stripe payment intent pentru checkout.

curl -X POST https://api.paylinks.ro/api/v1/paylinks/public/premium-course/payment-intents \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"phone": "+40712345678",
"amount": 49.99
}'

Corpul cererii:

CampTipObligatoriuDescriere
emailstringNuEmail-ul cumparatorului (obligatoriu daca paylink-ul colecteaza email)
phonestringNuTelefonul cumparatorului
amountnumberNuSuma in unitati majore (obligatorie pentru FLEXIBLE)
addressobjectNuCampuri de adresa de facturare

Raspuns (200):

{
"client_secret": "pi_1234567890_secret_abc123",
"connectedAccountId": "acct_1234567890"
}

Foloseste client_secret cu Stripe.js pentru confirmarea platii.


POST /paylinks/public/:slug/leads

Revendica un paylink gratuit (nu necesita plata).

curl -X POST https://api.paylinks.ro/api/v1/paylinks/public/free-ebook/leads \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "name": "Maria"}'

Corpul cererii:

CampTipObligatoriuDescriere
emailstringNuAdresa de email (email sau telefon este obligatoriu)
phonestringNuTelefon (email sau telefon este obligatoriu)
namestringNuNumele

Raspuns (201):

{"success": true}

POST /paylinks/public/:slug/subscriptions

Creeaza sau confirma un abonament pentru un paylink recurent.

curl -X POST https://api.paylinks.ro/api/v1/paylinks/public/monthly-plan/subscriptions \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"name": "Ion",
"paymentMethodId": "pm_1234567890"
}'

Corpul cererii:

CampTipObligatoriuDescriere
emailstringNuEmail-ul abonatului (obligatoriu daca paylink-ul colecteaza email)
namestringNuNumele abonatului
paymentMethodIdstringNuID-ul metodei de plata Stripe (pasul 2)
customerIdstringNuID client Stripe existent (pasul 1)
phonestringNuTelefon abonat
addressobjectNuCampuri de adresa de facturare

Raspuns (200, pasul 1):

{
"step": "setup",
"client_secret": "seti_1234567890_secret_abc123",
"customerId": "cus_1234567890",
"connectedAccountId": "acct_1234567890"
}

Raspuns (200, pasul 2):

{
"step": "complete",
"subscriptionId": "sub_1234567890",
"status": "active",
"client_secret": null,
"paymentIntentStatus": null,
"connectedAccountId": "acct_1234567890"
}