Achizitii
Gestionarea achizitiilor din perspectiva cumparatorului. Necesita autentificare.
GET /purchases
Listeaza achizitiile si abonamentele active pentru email-ul autentificat.
curl https://api.paylinks.ro/api/v1/purchases \
-H "Authorization: Bearer YOUR_TOKEN"
Raspuns (200):
{
"items": [
{
"id": "sub_123456",
"payLinkId": "cm7v4r7mn0003gk2s1aq0m9f8",
"payLinkName": "Premium Course",
"sellerId": "cm7v3k5h300001z3s4b2n7q9d",
"succeededAt": "2026-02-16T14:30:00.000Z",
"productName": "Premium Course",
"productCoverImageUrl": "https://cdn.paylinks.ro/...",
"serviceType": "DIGITAL_PRODUCT",
"assets": [
{ "key": "uploads/products/course.pdf", "name": "course.pdf" }
],
"type": "subscription",
"subscriptionStatus": "ACTIVE",
"subscriptionInterval": "month",
"currentPeriodEnd": "2026-03-16T14:30:00.000Z",
"cancelAtPeriodEnd": false,
"amount": 9900,
"currency": "RON"
},
{
"id": "tx_123456",
"payLinkId": "cm7v4r7mn0003gk2s1aq0m9f8",
"payLinkName": "Premium Course",
"sellerId": "cm7v3k5h300001z3s4b2n7q9d",
"succeededAt": "2026-02-10T11:00:00.000Z",
"productName": "Premium Course",
"productCoverImageUrl": "https://cdn.paylinks.ro/...",
"serviceType": "DIGITAL_PRODUCT",
"assets": [
{ "key": "uploads/products/course.pdf", "name": "course.pdf" }
],
"type": "purchase",
"amount": 9900,
"currency": "RON"
}
]
}
POST /purchases/presign
Obtine un URL presemnat pentru un asset digital achizitionat.
curl -X POST https://api.paylinks.ro/api/v1/purchases/presign \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"payLinkId": "cm7v4r7mn0003gk2s1aq0m9f8",
"key": "uploads/products/course.pdf"
}'
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
payLinkId | string | Da | ID-ul PayLink-ului care detine produsul digital |
key | string | Da | Cheia exacta a obiectului din R2 |
Raspuns (200):
{
"url": "https://files.paylinks.ro/..."
}
Raspuns (404): Achizitia/asset-ul nu exista pentru acest cumparator.
POST /purchases/cancel-subscription
Anuleaza un abonament al cumparatorului la finalul perioadei curente.
curl -X POST https://api.paylinks.ro/api/v1/purchases/cancel-subscription \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"subscriptionId":"sub_123456"}'
Corpul cererii:
| Camp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
subscriptionId | string | Da | ID-ul abonamentului |
Raspuns (200):
{
"success": true,
"message": "Subscription will be canceled at the end of the current billing period"
}
Raspuns (404): Abonament inexistent sau neasociat utilizatorului curent.