Stripe
Gestionarea contului Stripe Connect si payout-uri.
Autentificare:
GET /stripe/pkeste public.- Restul endpoint-urilor Stripe necesita
Authorization: Bearer <token>.
POST /stripe/accounts
Creeaza un cont conectat pentru utilizatorul autentificat.
curl -X POST https://api.paylinks.ro/api/v1/stripe/accounts \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (200):
{
"id": "acct_1234567890",
"account": {
"id": "acct_1234567890"
}
}
GET /stripe/accounts/me
Asigura existenta contului conectat al utilizatorului curent si il returneaza.
curl https://api.paylinks.ro/api/v1/stripe/accounts/me \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (200):
{
"id": "acct_1234567890",
"account": {
"id": "acct_1234567890"
}
}
GET /stripe/accounts/:id
Obtine detalii despre contul tau conectat.
curl https://api.paylinks.ro/api/v1/stripe/accounts/acct_1234567890 \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (200):
{
"account": {
"id": "acct_1234567890"
}
}
PUT /stripe/accounts/:id
Actualizeaza detaliile contului conectat (identitate, profil business, cont bancar, ToS).
curl -X PUT https://api.paylinks.ro/api/v1/stripe/accounts/acct_1234567890 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"individual": {
"first_name": "Andrei",
"last_name": "Bucur",
"email": "[email protected]",
"address": {
"line1": "Str. Lalelelor 10",
"city": "Bucuresti",
"postal_code": "010101",
"country": "RO"
}
},
"business_type": "individual"
}'
Raspuns (200):
{
"account": {
"id": "acct_1234567890"
},
"isOnboarded": false,
"charges_enabled": false,
"payouts_enabled": false,
"details_submitted": true,
"requirements": {
"currently_due": ["individual.id_number"],
"eventually_due": [],
"past_due": [],
"pending_verification": [],
"disabled_reason": null,
"current_deadline": null,
"errors": []
}
}
GET /stripe/accounts/me/requirements
Obtine starea curenta de onboarding/verificare.
curl https://api.paylinks.ro/api/v1/stripe/accounts/me/requirements \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (200):
{
"hasAccount": true,
"isOnboarded": false,
"charges_enabled": false,
"payouts_enabled": false,
"details_submitted": true,
"requirements": {
"currently_due": ["individual.id_number"],
"eventually_due": [],
"past_due": [],
"pending_verification": [],
"disabled_reason": null,
"current_deadline": null,
"errors": []
}
}
Cand nu exista cont conectat:
{
"hasAccount": false,
"isOnboarded": false,
"requirements": null
}
POST /stripe/account-link
Creeaza un link Stripe pentru onboarding.
curl -X POST https://api.paylinks.ro/api/v1/stripe/account-link \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"refreshUrl": "https://paylinks.ro/dashboard/settings",
"returnUrl": "https://paylinks.ro/dashboard/settings"
}'
Raspuns (200):
{ "url": "https://connect.stripe.com/setup/..." }
POST /stripe/accounts/:id/account-session
Creeaza o sesiune embedded pentru cont.
curl -X POST https://api.paylinks.ro/api/v1/stripe/accounts/acct_1234567890/account-session \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"component":"management"}'
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
component | string | Nu | onboarding (implicit) sau management |
Raspuns (200):
{ "client_secret": "seti_..._secret_..." }
GET /stripe/pk
Obtine cheia publica Stripe (endpoint public).
curl https://api.paylinks.ro/api/v1/stripe/pk
Raspuns (200):
{ "publishableKey": "pk_live_..." }
GET /stripe/balance
Obtine sumarul soldului contului conectat in moneda selectata.
curl https://api.paylinks.ro/api/v1/stripe/balance \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Currency: RON"
Raspuns (200):
{
"currency": "RON",
"available": 4999,
"pending": 499,
"totalTransferred": 30000,
"processing": 250,
"minimumPayoutMajor": 200,
"reservedForFees": 10
}
Daca nu exista cont conectat:
{
"currency": "RON",
"available": 0,
"pending": 0,
"totalTransferred": 0,
"minimumPayoutMajor": 200
}
GET /stripe/payouts
Listeaza payout-urile contului conectat.
curl "https://api.paylinks.ro/api/v1/stripe/payouts?limit=10" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Currency: RON"
Parametri query:
| Parametru | Tip | Implicit | Descriere |
|---|---|---|---|
limit | integer | 50 | Numar elemente (max 100) |
startingAfter | string | — | ID payout Stripe pentru paginare |
Raspuns (200):
{
"items": [
{
"id": "po_1234567890",
"amountMinor": 100000,
"currency": "RON",
"status": "paid",
"created": "2026-02-17T10:00:00.000Z",
"arrivalDate": "2026-02-18T00:00:00.000Z",
"method": "standard",
"statementDescriptor": null
}
]
}
POST /stripe/payouts
Creeaza un payout manual din soldul disponibil.
curl -X POST https://api.paylinks.ro/api/v1/stripe/payouts \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"currency":"RON","statementDescriptor":"PAYLINKS"}'
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
currency | string | Nu | RON, EUR sau GBP |
statementDescriptor | string | Nu | Max 22 caractere |
Raspuns (200):
{
"payout": {
"id": "po_1234567890",
"amount": 499900,
"currency": "ron",
"status": "pending"
}
}