Genel Bakış

OdemeNet Ödeme Linki API, müşterilerinize e-posta, SMS veya diğer kanallarla gönderilebilecek güvenli ödeme linkleri oluşturmanızı sağlar. Müşteriler linke tıklayarak kart bilgilerini girerek ödemeyi tamamlayabilir.

Önemli: Tüm API çağrıları için geçerli bir JWT token gereklidir. Authorization header'ında Bearer token kullanın.
Özellikler:
  • Kolay Entegrasyon: Tek bir API çağrısı ile ödeme linki oluşturun
  • Güvenli Token: Her link için benzersiz ve güvenli token üretilir
  • Geçerlilik Süresi: Link için özel geçerlilik tarihi belirleyebilirsiniz
  • Kullanım Sayısı: Linkin kaç kez kullanılabileceğini sınırlayabilirsiniz
  • Ürün Desteği: Ödemeye ait ürün bilgilerini ekleyebilirsiniz
  • Otomatik Yönlendirme: Başarılı/başarısız ödeme sonrası özel URL'lere yönlendirme
Ödeme Linki Oluşturma API
Endpoint Bilgileri
Method POST
URL /api/Payment/link
Authorization Bearer {token}
Content-Type application/json
Zorunlu Request Parametreleri
Parametre Tip Açıklama
Amount decimal Ödeme tutarı (0'dan büyük olmalı)
OrderNumber string Sipariş numarası (benzersiz olmalı)
Opsiyonel Request Parametreleri
Parametre Tip Varsayılan Açıklama
Currency string "TRY" Para birimi kodu
CurrencyId int? 1 Para birimi ID
Installment int 1 Taksit sayısı
Description string null Ödeme açıklaması
SuccessUrl string null Başarılı ödeme sonrası yönlendirilecek URL
FailUrl string null Başarısız ödeme sonrası yönlendirilecek URL
ExpiryDate DateTime? +7 gün Link geçerlilik tarihi
MaxUsageCount int? 1 Maksimum kullanım sayısı
Products array null Ürün listesi
Products Array Parametreleri (Opsiyonel)
Parametre Tip Zorunlu Açıklama
Id string Hayır Ürün ID
Name string Hayır Ürün adı
Category string Hayır Ürün kategorisi
Description string Hayır Ürün açıklaması
Amount decimal Evet* Ürün tutarı (*Ürün ekleniyorsa zorunlu)
Not: Products array kullanılıyorsa, tüm ürün tutarlarının toplamı Amount parametresi ile eşleşmelidir.
Basit Request Örneği
JSON
{
  "Amount": 250.00,
  "Currency": "TRY",
  "Installment": 1,
  "OrderNumber": "ORD-2024-12345",
  "Description": "Premium Üyelik Ödemesi",
  "SuccessUrl": "https://example.com/payment/success",
  "FailUrl": "https://example.com/payment/fail",
  "ExpiryDate": "2024-12-31T23:59:59",
  "MaxUsageCount": 1
}
Ürün Detaylı Request Örneği
JSON
{
  "Amount": 350.00,
  "Currency": "TRY",
  "Installment": 3,
  "OrderNumber": "ORD-2024-12346",
  "Description": "Online Alışveriş",
  "SuccessUrl": "https://example.com/payment/success",
  "FailUrl": "https://example.com/payment/fail",
  "ExpiryDate": "2024-12-25T23:59:59",
  "MaxUsageCount": 1,
  "Products": [
    {
      "Id": "PROD-001",
      "Name": "Kablosuz Kulaklık",
      "Category": "Elektronik",
      "Description": "Bluetooth 5.0 Kulaklık",
      "Amount": 200.00
    },
    {
      "Id": "PROD-002",
      "Name": "Telefon Kılıfı",
      "Category": "Aksesuar",
      "Description": "Silikon Kılıf",
      "Amount": 150.00
    }
  ]
}
Başarılı Response
JSON
{
  "Success": true,
  "Message": "Payment link created successfully",
  "Data": {
    "PaymentLinkUrl": "https://api.odemenet.com/payment/HST-152-SGhnbC1UdWltUGNCNVRw...",
    "Token": "HST-152-SGhnbC1UdWltUGNCNVRw...",
    "ExpireDate": "2024-12-31T23:59:59",
    "MaxUsageCount": 1,
    "TransactionId": "123e4567-e89b-12d3-a456-426614174000",
    "PaymentReferenceNumber": "ON-847562391",
    "OrderNumber": "ORD-2024-12345",
    "Amount": 250.00,
    "Currency": "TRY",
    "Installment": 1,
    "Description": "Premium Üyelik Ödemesi",
    "BankName": "Garanti BBVA",
    "ProductCount": 0
  },
  "Timestamp": "2024-01-20T10:30:00Z"
}
Response Alanları Açıklaması
Alan Tip Açıklama
Success boolean İşlem başarı durumu
Message string İşlem mesajı
PaymentLinkUrl string Müşteriye gönderilecek ödeme linki
Token string Ödeme için benzersiz güvenlik token'ı
ExpireDate string Link son kullanma tarihi
MaxUsageCount int Maksimum kullanım sayısı
TransactionId guid İşlem ID (takip için)
PaymentReferenceNumber string Ödeme referans numarası
BankName string Kullanılacak banka adı
ProductCount int Eklenen ürün sayısı
Hata Response
JSON
{
  "Success": false,
  "Message": "Amount must be greater than zero",
  "ErrorCode": "INVALID_AMOUNT"
}
Hata Kodları ve Mesajları
Hata Kodu Mesaj Açıklama Çözüm
INVALID_REQUEST Invalid payment link request Request body boş veya geçersiz Request formatını kontrol edin
AUTH_ERROR CompanyId claim not found JWT token geçersiz veya eksik Geçerli bir Bearer token kullanın
INVALID_AMOUNT Amount must be greater than zero Ödeme tutarı 0 veya negatif Amount değerini 0'dan büyük girin
AMOUNT_MISMATCH Sent amount does not match products total Ürün tutarları toplamı Amount ile eşleşmiyor Ürün tutarlarını veya Amount'u düzeltin
COMPANY_INACTIVE Company not found or inactive Firma bulunamadı veya pasif Firma durumunu kontrol edin
NO_ACTIVE_BANK No active bank found for company Firma için aktif banka yok Firma banka ayarlarını yapılandırın
BANK_NOT_FOUND Selected bank not found Seçilen banka bulunamadı Banka tanımlarını kontrol edin
LINK_GENERATION_ERROR Error creating payment link Link oluşturma sırasında hata Detaylar için Error alanına bakın
INTERNAL_ERROR Error creating payment link Sunucu hatası Tekrar deneyin veya destek alın
Kod Örnekleri
Kullanım Senaryoları
  • Fatura Ödemeleri: Müşterilere aylık fatura ödemeleri için link gönderin
  • E-Ticaret: Sepet terk eden müşterilere ödeme linki gönderin
  • Abonelik: Yenileme zamanı gelen üyeliklere hatırlatma ile link gönderin
  • Rezervasyon: Otel, restoran gibi rezervasyon ödemeleri için kullanın
  • Bağış: Bağış kampanyalarında kolayca link paylaşın
Güvenlik Notları
  • Her ödeme linki için benzersiz ve güvenli token oluşturulur
  • Linkler belirtilen geçerlilik süresinden sonra otomatik olarak devre dışı kalır
  • MaxUsageCount parametresi ile link kullanım sayısını sınırlayabilirsiniz
  • Tüm ödeme işlemleri SSL/TLS ile şifrelenir
  • Bearer token mutlaka güvenli bir şekilde saklanmalıdır
  • Ödeme linkleri yalnızca güvenilir kanallarda paylaşılmalıdır