Payments (Ödemeler)
Ödeme oluşturma ve yönetimi. External ID node başına benzersiz olmalıdır.
Kimlik Doğrulama: Bearer token gereklidir (Get Payment Widget Data hariç).
Ödeme Oluştur
Endpoint: POST /api/v1/payments
İstek Gövdesi
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| external_id | string | Evet | Node başına benzersiz |
| node_id | string | Evet | Node UUID |
| chain_id | string | Hayır | Chain UUID |
| network_id | string | Evet | Network UUID |
| wallet_id | string | Hayır | Wallet UUID |
| member_id | string | Hayır | Member UUID |
| member | object | Hayır | Satır içi üye verisi |
| currency_id | string | Evet | Currency UUID |
| price | float64 | Evet | Fiyat |
| paid_price | float64 | Evet | Ödenen fiyat |
| payment_method | string | Evet | web3, credit_card, bank_transfer |
| payment_group | string | Evet | product, listing_or_subscription |
| payment_address | string | Evet | Ödeme adresi (min 10 kar.) |
| items | array | Hayır | Ödeme kalemleri |
| metadata | string | Hayır | Metadata |
| expires_at | string | Evet | RFC3339 tarih/saat |
| retry | bool | Hayır | Retry bayrağı |
| retry_count | int | Hayır | Retry sayısı |
| client_ip | string | Hayır | İstemci IP (IPv4) |
Yanıt — 201 Created
Payment widget için access_token içeren PaymentResponse döner.
| Kod | Açıklama |
|---|---|
| 404 | Node veya currency bulunamadı |
| 409 | Bu node için external_id zaten mevcut |
Ödeme Listele
Endpoint: GET /api/v1/payments
Sorgu Parametreleri
| Parametre | Tip | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
| node_id | string | Evet | — | Node UUID |
| wallet_id | string | Hayır | — | Wallet ile filtrele |
| network_id | string | Hayır | — | Network ile filtrele |
| page | int | Hayır | 1 | Sayfa numarası |
| per_page | int | Hayır | 10 | Sayfa başına öğe (max 100) |
Yanıt — 200 OK
items (PaymentResponse), page, per_page, total ile sayfalanmış liste.
Ödeme ID ile Getir
Endpoint: GET /api/v1/payments/{id}
Yanıt — 200 OK
access_token, status, transaction_hash vb. içeren tam ödeme nesnesi.
| Kod | Açıklama |
|---|---|
| 404 | Ödeme bulunamadı |
Ödeme İptal
Endpoint: POST /api/v1/payments/{id}/cancel
Diamond contract üzerinde cancelDeal tetikler. Integration'ın node'u ödemenin node'una erişebilmelidir.
Yanıt — 202 Accepted
{ "status": "accepted" }
| Kod | Açıklama |
|---|---|
| 403 | Ödemenin node'una erişim yetkisi yok |
| 404 | Ödeme bulunamadı |
Ödeme Loglarını Listele
Endpoint: GET /api/v1/payments/{id}/logs
created_at DESC sıralı sayfalanmış ödeme logları.
Sorgu Parametreleri
| Parametre | Tip | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
| page | int | Hayır | 1 | Sayfa numarası |
| per_page | int | Hayır | 10 | Sayfa başına öğe (max 100) |
Yanıt — 200 OK
items, page, per_page, total ile sayfalanmış log listesi.
| Kod | Açıklama |
|---|---|
| 404 | Ödeme bulunamadı |
Ödeme Gönderimini Tekrarla
Endpoint: POST /api/v1/payments/{id}/retry-send
Bekleyen web3 ödemesini create-payment consumer'a yeniden gönderir.
Yanıt — 200 OK
Güncellenmiş ödeme nesnesi döner.
| Kod | Açıklama |
|---|---|
| 400 | Ödeme retry için uygun değil |
| 404 | Ödeme bulunamadı |
Payment Widget Verisi Getir
Endpoint: GET /api/v1/widget/payments/{id}
Payment widget için ödeme verisi ve contract bilgisi döner. Ödeme oluşturma yanıtındaki access_token kullanılır.
Kimlik Doğrulama: Bearer <access_token> (ödemeden, integration JWT değil).
Yanıt — 200 OK
{
"external_id": "...",
"node_id": "...",
"network_id": 1,
"deal_id": 123,
"price": 100.0,
"price_decimals": 6,
"payment_address": "...",
"diamond_address": "...",
"currency": "USDT",
"token_address": "...",
"contract": { "abi": [...], "function_name": "deposit", "arguments": [...] }
}
| Kod | Açıklama |
|---|---|
| 401 | Geçersiz veya süresi dolmuş access token |
| 404 | Ödeme bulunamadı |