Webhooks

posty.ro relayează evenimentele Stripe relevante pentru abonamentul tău. Verifică semnătura Stripe-Signature înainte să procesezi payload-ul.

checkout.session.completed

Trimisă când utilizatorul finalizează checkout-ul Stripe pentru un plan plătit. Activează abonamentul în dashboard.

{
  "type": "checkout.session.completed",
  "data": { "object": {
    "id": "cs_test_abc",
    "customer": "cus_test_123",
    "subscription": "sub_test_456",
    "metadata": { "org_id": "org_01HXYZ" }
  } }
}
customer.subscription.created

Abonament nou creat (după checkout sau via API). Folosește pentru a încărca planul în context.

{
  "type": "customer.subscription.created",
  "data": { "object": {
    "id": "sub_test_456",
    "status": "active",
    "items": { "data": [{ "price": { "id": "price_pro_monthly" } }] }
  } }
}
customer.subscription.updated

Schimbare de plan, upgrade, downgrade sau modificare a perioadei. Sincronizează cu starea internă.

{
  "type": "customer.subscription.updated",
  "data": { "object": {
    "id": "sub_test_456",
    "status": "active",
    "cancel_at_period_end": true
  } }
}
customer.subscription.deleted

Abonament încheiat la sfârșitul perioadei. Cheile API încă funcționează până la final, apoi cad pe Free.

{
  "type": "customer.subscription.deleted",
  "data": { "object": { "id": "sub_test_456", "status": "canceled" } }
}
invoice.paid

Plată reușită pentru o factură. Trimite confirmarea de plată către client.

{
  "type": "invoice.paid",
  "data": { "object": {
    "id": "in_test_789",
    "amount_paid": 4900,
    "currency": "eur",
    "hosted_invoice_url": "https://invoice.stripe.com/..."
  } }
}
invoice.payment_failed

Plata nu a reușit. Începe fluxul de dunning și notifică clientul.

{
  "type": "invoice.payment_failed",
  "data": { "object": {
    "id": "in_test_789",
    "attempt_count": 1,
    "next_payment_attempt": 1717804800
  } }
}
customer.updated

Schimbare la adresa de facturare, email sau TVA. Sincronizează cu profilul organizației.

{
  "type": "customer.updated",
  "data": { "object": {
    "id": "cus_test_123",
    "email": "billing@example.ro",
    "address": { "country": "RO" }
  } }
}

© 2026 posty.ro