/api/v3/paymentsIdempotency-Key gerekirÖdeme oluştur
201 yanıtı payment_url ve expires_at alanlarını içerir. Müşteriyi payment_url adresine yönlendirin; ödeme sayfası 24 saat geçerlidir. 409 / 9000039 dönerse aynı isteği aynı Idempotency-Key ile tekrarlayın.
İstek gövdesi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
amount | string | Zorunlu | currency_code para biriminde, sabit ölçekli ve 2 ondalık haneli ondalık dizge olarak pozitif tutar (örn. "250.00"). Hesabınızın ödeme sınırları içinde olmalıdır (USD cinsinden, diğer para birimleri için anlık kurla çevrim sonrası denetlenir; sınırlarınızı paneldeki API anahtarı ve entegrasyon sayfasında görün); aksi halde istek 422 9000005 döndürür. |
currency_code | string | Zorunlu | Kaynak para birimi.USDEURAEDTRY |
merchant_reference | string | null | İsteğe bağlı | Kendi sipariş referansınız (en çok 64 karakter). Hesap ve ortam başına tekildir: bir referans, süresi dolmuş bir ödeme için bile yeniden kullanılamaz (409 9000007). İsteğe bağlı.maxLength 64 |
webhook_url | string | null | İsteğe bağlı | İmzalı bildirimleri (payment.paid, payment.refunded, payment.failed) alan https:// adresi. Ana bilgisayar adı DNS ile herkese açık bir adrese çözülmelidir (özel ya da ayrılmış IP ve localhost olamaz); adres en çok 500 karakter olmalı ve kullanıcı adı ya da parola içermemelidir. İsteğe bağlı: gönderilmezse imzalayan anahtarınızın ortamı için panelde kayıtlı webhook adresi kullanılır; kayıtlı adres yoksa bildirim gönderilmez.maxLength 500 |
merchant_name | string | null | İsteğe bağlı | Ödeme ekranında gösterilen ad. İsteğe bağlıdır; varsayılan değer Hesap <account number> biçimindedir (6 haneli hesap numaranız). 120 karakterden uzun bir değer reddedilmez, kesilir. |
return_url | string · uri | null | İsteğe bağlı | İsteğe bağlı return_url (en fazla 2048 karakter). Canlı ortam HTTPS ister; sandbox localhost, 127.0.0.1 veya [::1] üzerinde HTTP de kabul eder. Kullanıcı bilgisi, parça, kontrol karakteri ve boşluk yasaktır. Uluslararası alan adları ASCII biçimine dönüştürülür. Geçersiz URL: 422 / 9000038. Ödeme bittiğinde sonuç sayfası müşteriyi bu adrese götüren bir düğme gösterir; sorguya code, status ve gönderdiyseniz merchant_reference eklenir. Otomatik yönlendirme yoktur. Aynı Idempotency-Key ile yeniden denerken adresi değiştirmeyin.maxLength 2048 |
İstek gövdesi · Örnek
{
"amount": "10.00",
"currency_code": "USD",
"merchant_reference": "INV-104",
"merchant_name": "Test Shop",
"return_url": "https://shop.example.invalid/return?basket=104"
}limits alanı currency_code, min_amount ve max_amount içerir (null: üst sınır yok). Aşağıdaki tutarlar örnektir, sizin sınırlarınız değildir.
HTTP 422 / 9000005
{
"type": "https://www.cryptoavans.com/errors/9000005",
"title": "Invalid amount",
"status": 422,
"code": "9000005",
"correlation_id": "example",
"detail": "Amount outside the account limits.",
"limits": {
"currency_code": "USD",
"min_amount": "25.00",
"max_amount": null
}
}Yanıt · 201
Ödeme oluşturuldu. Aynı Idempotency-Key ile yeniden gönderilirse bunun yerine 200 döner.
Payment
| Alan | Tür | Açıklama |
|---|---|---|
code | string | Kısa ödeme kodu (4–16 küçük harfli karakter). |
merchant_reference | string | null | Sipariş referansınız, olduğu gibi geri döner. |
status | string | Ödeme yaşam döngüsü durumu: müşteri ödeyene kadar created, ödeyince paid; bağlantı ödenmeden sona ererse expired.createdpaidexpired |
amount | string | currency_code para biriminde brüt tutar; sabit ölçekli, 2 ondalık haneli ondalık dizge. |
currency_code | string | Bu ödemenin kaynak para birimi; örnekteki para birimini varsaymak yerine dönen değeri okuyun.USDEURAEDTRY |
environment | string | Bu ödemenin ait olduğu ortam.sandboxlive |
payment_url | string | Müşteriyi dönen payment_url adresine normal bir sayfa olarak (üst düzey gezinti) yönlendirin; adresi kendiniz üretmeyin veya değiştirmeyin. Sayfa iframe içine gömülemez. Bu API'ye kart verisi gönderilmez. |
created_at | string · date-time | Oluşturulma zamanı (UTC, ISO-8601). |
expires_at | string · date-time | UTC. Ödeme sayfası oluşturulduktan sonra 24 saat geçerlidir. Süre dolunca yeni ödeme oluşturun; yenileme ucu yoktur. Ödemeyi GET /api/v3/payments/{code} veya imzalı webhook ile doğrulayın; müşterinin sitenize dönüşü yalnızca bilgi amaçlıdır. |
paid_at | string · date-time | null | Ödendiği zaman ya da null. |
payment_url_kind | string | Her zaman platform (bizim ödeme sayfamız). Alan mevcut entegrasyonlar için korunur; provider_hosted artık dönmez.platformprovider_hosted |
card | MerchantCardSummary | null | Başarılı ödeme denemesinin kart bilgisi; ödeme yapılana kadar veya bilgi yoksa null. |
failure | PaymentFailureSummary | null | Ödeme yapılmadıysa son başarısız deneme, aksi halde null. Kesin sonuç değildir: ödeme expires_at tarihine kadar ödenebilir. attempt_count yeniden denemeler dahil başarısız denemeleri sayar. |
Yanıt · Örnek
{
"code": "a1b2c3d4",
"merchant_reference": "INV-104",
"status": "created",
"amount": "10.00",
"currency_code": "USD",
"environment": "live",
"payment_url": "https://pay.example.com/l/a1b2c3d4",
"payment_url_kind": "platform",
"created_at": "2026-10-05T12:00:00Z",
"expires_at": "2026-10-06T12:00:00Z",
"paid_at": null,
"card": null,
"failure": null
}Diğer yanıtlar
200İdempotent tekrar: ilk ödeme döner; ikinci bir ödeme oluşturulmaz.422Hesap sınırları dışındaki tutar (9000005, çevrimden sonra 0.01 altı veya kapasite üstü dahil) için hesap taban para biriminde limits döner. Sandbox aynı denetimi kullanır. Diğer doğrulama hatalarında limits bulunmayabilir.