Tranzactii
Istoric tranzactii si rambursari. Toate endpoint-urile necesita autentificare.
GET /transactions
Listeaza tranzactiile one-time ale seller-ului autentificat.
curl "https://api.paylinks.ro/api/v1/transactions?limit=50&status=succeeded" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Currency: RON"
Parametri query:
| Parametru | Tip | Implicit | Descriere |
|---|---|---|---|
limit | integer | 50 | Elemente per pagina (max 100) |
cursor | string | — | Cursor de paginare (transaction.id) |
status | string | all | Filtru: all, succeeded, failed, refunded, disputed, uncaptured, requires_action |
Raspuns (200):
{
"items": [
{
"id": "cm7v3q9y70000q8h6n7r3u1w2",
"amount": 4999,
"currency": "RON",
"status": "SUCCEEDED",
"paymentMethodType": "card",
"cardBrand": "visa",
"cardLast4": "4242",
"stripePaymentIntentId": "pi_1234567890",
"stripeChargeId": "ch_1234567890",
"receiptUrl": "https://pay.stripe.com/receipts/...",
"description": "Premium Course",
"createdAt": "2026-02-16T14:30:00.000Z",
"customerId": "cm7v3q9y80001q8h6z5v2h9k1",
"cardCountry": "RO",
"customer": {
"id": "cm7v3q9y80001q8h6z5v2h9k1",
"email": "[email protected]",
"name": "Ion Popescu",
"phone": "+40712345678",
"country": "RO"
}
}
],
"counts": {
"all": 120,
"succeeded": 110,
"refunded": 5,
"disputed": 2,
"failed": 3,
"uncaptured": 0
},
"nextCursor": "cm7v3q9y70000q8h6n7r3u1w2"
}
POST /transactions/:id/refund
Ramburseaza o tranzactie. Doar admin.
curl -X POST https://api.paylinks.ro/api/v1/transactions/cm7v3q9y70000q8h6n7r3u1w2/refund \
-H "Authorization: Bearer ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amountMinor": 2500,
"reason": "requested_by_customer",
"refundApplicationFee": false
}'
Parametri path:
| Parametru | Tip | Descriere |
|---|---|---|
id | string | CUID-ul tranzactiei |
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
amountMinor | integer | Nu | Suma pentru rambursare partiala (unitati minore). Omite pentru rambursare totala. |
reason | string | Nu | duplicate, fraudulent, sau requested_by_customer |
refundApplicationFee | boolean | Nu | Implicit false. Cand e false, comisionul platformei ramane retinut. |
Raspuns (200):
{
"refund": {
"id": "re_1234567890",
"status": "succeeded",
"amount": 2500,
"currency": "ron",
"charge": "ch_1234567890",
"reason": "requested_by_customer",
"created": 1765972201
}
}
Raspuns (400/403/404): Input invalid, acces admin lipsa sau tranzactie inexistenta.