Skip to main content

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:

CampTipObligatoriuDescriere
payLinkIdstringDaID-ul PayLink-ului care detine produsul digital
keystringDaCheia 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:

CampTipObligatoriuDescriere
subscriptionIdstringDaID-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.