Pay2out

Size nasıl yardımcı olabiliriz?

Pay2out Ödeme Entegrasyonu

Bu döküman, Pay2out ödeme sistemiyle entegrasyon yapmak isteyen geliştiriciler için hazırlanmıştır. Ödeme başlatma, ödeme sonuçlarını alma ve callback işlemlerini kapsar.

Pay2out API'sine erişmek için bir hesaba ihtiyacınız vardır. Hesabınız yoksa, kaydolun ve API bilgilerinizi alın.

Entegrasyon Adımları

  1. API anahtarlarınızı güvenli bir şekilde saklayın
  2. Ödeme başlatma isteği oluşturun
  3. Müşterileri ödeme sayfasına yönlendirin
  4. Callback URL ile ödeme durumunu takip edin
  5. Gerekirse ödeme durumunu API üzerinden sorgulayın

Kullanıcı Hesabı

Pay2out platformunun tüm özelliklerinden yararlanmak için bir hesaba sahip olmanız gerekir. Hesap kurulumu ve yönetimi hakkında bilmeniz gereken her şey burada.

Hesap Oluşturma

Hesap oluşturmak için şu adımları izleyin:

  1. pay2out.com adresine gidin ve "Kayıt Ol" butonuna tıklayın
  2. Gerekli bilgileri doldurun (e-posta, şifre, işletme bilgileri)
  3. E-posta doğrulama adımını tamamlayın
  4. İşletme kimlik doğrulama sürecini takip edin
  5. API anahtarlarınızı güvenli bir şekilde saklayın

API Anahtarları

Pay2out panelinde "Ayarlar > API" menüsünden API anahtarlarınızı görüntüleyebilir ve yönetebilirsiniz. Her bir anahtar için izinleri ve erişim kapsamını ayarlayabilirsiniz.

Ürün Özellikleri

Pay2out, işletmenizin ihtiyaçlarına uygun çeşitli ödeme çözümleri sunar. Platformun sunduğu temel özellikler:

Ödeme Bağlantıları

Tekil ürünler veya hizmetler için özel ödeme bağlantıları oluşturabilir ve bunları müşterilerinizle e-posta, SMS veya sosyal medya üzerinden paylaşabilirsiniz.

Tekrarlayan Ödemeler

Abonelik modelli işletmeler için otomatik tekrarlayan ödeme planları oluşturabilirsiniz.

Çoklu Para Birimi Desteği

TRY, USD, EUR ve diğer popüler para birimlerinde ödeme kabul edebilirsiniz.

Özelleştirme Seçenekleri

Pay2out ödeme sayfalarını ve formlarını markanıza uygun şekilde özelleştirebilirsiniz.

Tema Özelleştirme

Ödeme sayfalarının renk şemasını, yazı tiplerini ve logonuzu markanızla uyumlu olacak şekilde ayarlayabilirsiniz.

Form Alanları

Ödemeler sırasında müşterilerinizden toplamak istediğiniz özel alanlar ekleyebilirsiniz.

Ödeme Yöntemleri

Pay2out çeşitli ödeme yöntemlerini ve gateway'leri destekler.

Desteklenen Ödeme Yöntemleri

  • Kredi/Banka Kartları (Visa, MasterCard, AmEx)
  • Havale/EFT
  • Kapıda Ödeme
  • Dijital Cüzdanlar

Ödeme Başlatma

Ödeme işlemi başlatmak için aşağıdaki API endpoint'ine POST isteği göndermeniz gerekmektedir:

POST https://api.pay2out.com/api/payment/create

Güvenlik Önlemleri

Pay2out ödeme işlemlerinde en yüksek güvenlik standartlarını sağlar.

API Anahtarları Güvenliği

API anahtarlarınızı güvende tutmak için alınması gereken önlemler:

  • API anahtarlarınızı hiçbir zaman client-side kodunda saklamayın
  • Anahtarları environment variable olarak kullanın
  • Düzenli olarak anahtarlarınızı yenileyin

Callback Güvenliği

Callback istekleri, özel bir imza ile güvenli hale getirilir. Gelen isteğin geçerli olduğunu doğrulamak için HTTP header'ındaki X-Signature değerini kontrol etmelisiniz.

Dijital İndirmeler

Dijital ürün satışlarınız için Pay2out'un dijital teslimat özelliklerini kullanabilirsiniz.

Dijital Ürün Kurulumu

Dijital ürünleri satmak için aşağıdaki adımları izleyin:

  1. Pay2out panelinde "Ürünler" sekmesine gidin
  2. "Dijital Ürün Ekle" butonuna tıklayın
  3. Ürün bilgilerini ve dosyalarını yükleyin
  4. Teslimat ayarlarını yapılandırın

Email Pazarlama

Pay2out'un email entegrasyonları ve pazarlama özellikleri ile müşterilerinizle iletişimde kalın.

Otomatik Email Bildirimleri

Pay2out şu durumlarda otomatik email gönderir:

  • Ödeme başarılı olduğunda
  • Ödeme başarısız olduğunda
  • Abonelik yenilendiğinde
  • Abonelik sona erdiğinde

Email Şablonları

Pay2out panelinde "Ayarlar > Bildirimler" bölümünden email şablonlarını markanıza uygun şekilde özelleştirebilirsiniz.

API Referansı

Pay2Out, geliştiricilerin kendi uygulamalarına ödeme işlevselliği entegre etmelerini sağlayan kapsamlı bir API seti sunar. Bu bölümde tüm API'lerin detaylı açıklamalarını bulabilirsiniz.

1. Ödeme Başlatma API

Ödeme işlemi başlatmak için aşağıdaki API endpoint'ine POST isteği göndermeniz gerekmektedir:

POST https://www.pay2out.com/api/payment/create

İstek Parametreleri

Parametre Tür Zorunlu Açıklama
signature_secret string Evet Mağaza için oluşturulan imza anahtarı
amount decimal Evet Ödeme tutarı (örn: 10.50)
currency string Evet Para birimi (TRY, USD, EUR)
description string Hayır Ödemenin açıklaması
has_installment boolean Hayır Taksit seçeneği olup olmadığı (varsayılan: false)
customer_name string Evet Müşteri adı
customer_email string Evet Müşteri e-posta adresi
customer_phone string Evet Müşteri telefon numarası
customer_address string Hayır Müşteri adresi
customer_city string Hayır Müşteri şehri
customer_district string Hayır Müşteri ilçesi
customer_postal_code string Hayır Müşteri posta kodu
reference string Hayır Mağaza tarafından oluşturulan benzersiz referans kodu
order_number string Hayır Sipariş numarası (belirtilmezse otomatik oluşturulur)
expires_at string Hayır Ödeme geçerlilik süresi (ISO 8601 formatında)
items array Hayır Sipariş ürünleri listesi (ürün senkronizasyonu için)
items.*.product_id string Evet* Harici sistemdeki ürün ID'si (items varsa zorunlu)
items.*.product_name string Evet* Ürün adı
items.*.product_price decimal Evet* Ürün birim fiyatı
items.*.product_image url Hayır Ürün resmi URL'i (otomatik indirilir)
items.*.product_category string Hayır Kategori adı (yoksa otomatik oluşturulur)
items.*.quantity integer Evet* Ürün adedi (min: 1)

Örnek İstek (cURL)

curl -X POST https://www.pay2out.com/api/payment/create \
  -H "Content-Type: application/json" \
  -d '{
    "signature_secret": "YOUR_SIGNATURE_SECRET",
    "amount": 150,
    "currency": "TRY",
    "description": "Sipariş ödemesi",
    "has_installment": true,
    "customer_name": "Ali Veli",
    "customer_email": "[email protected]",
    "customer_phone": "5551234567",
    "customer_address": "Atatürk Mah. Cumhuriyet Cad. No:123 D:5",
    "customer_city": "İstanbul",
    "customer_district": "Kadıköy",
    "customer_postal_code": "34752",
    "reference": "OD-123456789",
    "order_number": "INV-123456785",
    "expires_at": "2025-05-01T15:00:00Z",
    "items": [
      {
        "product_id": "SKU-001",
        "product_name": "Wireless Kulaklık",
        "product_price": 75.00,
        "product_image": "https://example.com/images/kulaklik.jpg",
        "product_category": "Elektronik",
        "quantity": 1
      },
      {
        "product_id": "SKU-002",
        "product_name": "Telefon Kılıfı",
        "product_price": 25.00,
        "product_image": "https://example.com/images/kilif.jpg",
        "product_category": "Aksesuar",
        "quantity": 3
      }
    ]
  }'

Başarılı Yanıt

{
  "success": true,
  "message": "Ödeme işlemi başlatıldı",
  "data": {
    "payment_uuid": "85aa3555-5ccc-4599-ad2a-ed6cda5f6608",
    "order_number": "INV-123456785",
    "amount": "10.00",
    "currency": "TRY",
    "status": "pending",
    "payment_url": "https://pay.payhesap.com/order/85aa3555-5ccc-4599-ad2a-ed6cda5f6608",
    "expires_at": "2025-05-01T15:00:00Z",
    "customer_info": {
      "name": "Ali Veli",
      "email": "[email protected]",
      "phone": "5551234567",
      "address": "Atatürk Mah. Cumhuriyet Cad. No:123 D:5",
      "city": "İstanbul",
      "district": "Kadıköy",
      "postal_code": "34752"
    }
  }
}

Hata Yanıtı

{
  "success": false,
  "message": "Geçersiz imza anahtarı",
  "error_code": "INVALID_SIGNATURE"
}

2. Ödeme Durumu Sorgulama API

Ödeme durumunu sorgulamak için aşağıdaki API endpoint'ini kullanabilirsiniz:

GET https://www.pay2out.com/api/payment/{payment_uuid}/status

Önemli Güvenlik Bilgisi: Ödeme durumu sorgulama API'si, mağaza kimlik doğrulaması gerektirmektedir. İstek header'ında X-Signature-Secret anahtarını göndermeniz zorunludur. Bu anahtarla yalnızca kendi mağazanıza ait ödemeler hakkında bilgi alabilirsiniz.

HTTP Headers

Header Zorunlu Açıklama
Content-Type Evet application/json
X-Signature-Secret Evet Mağaza imza anahtarı

Örnek İstek

curl -X GET https://www.pay2out.com/api/payment/85aa3555-5ccc-4599-ad2a-ed6cda5f6608/status \
  -H "Content-Type: application/json" \
  -H "X-Signature-Secret: YOUR_SIGNATURE_SECRET"

Başarılı Yanıt

{
  "success": true,
  "data": {
    "payment_uuid": "85aa3555-5ccc-4599-ad2a-ed6cda5f6608",
    "order_number": "INV-123456785",
    "reference": "OD-123456789",
    "status": "completed",
    "amount": "10.00",
    "currency": "TRY",
    "customer": {
      "name": "Ali Veli",
      "email": "[email protected]",
      "phone": "5551234567",
      "address": "Atatürk Mah. Cumhuriyet Cad. No:123 D:5",
      "city": "İstanbul",
      "district": "Kadıköy",
      "postal_code": "34752"
    },
    "created_at": "2025-04-27T16:54:54+03:00",
    "updated_at": "2025-04-27T16:55:08+03:00"
  }
}

Olası Hata Yanıtları

Hata Kodu HTTP Kodu Açıklama
MISSING_SIGNATURE 401 İmza anahtarı eksik
INVALID_SIGNATURE 401 Geçersiz imza anahtarı
PAYMENT_NOT_FOUND 404 Ödeme kaydı bulunamadı veya bu mağazaya ait değil
{
  "success": false,
  "message": "Geçersiz imza anahtarı",
  "error_code": "INVALID_SIGNATURE"
}

3. Callback URL Veri Yapısı

Ödeme işlemi tamamlandığında (başarılı veya başarısız), mağaza tarafından belirtilen callback_url adresine aşağıdaki formatta bir POST isteği gönderilir:

{
  "payment_uuid": "85aa3555-5ccc-4599-ad2a-ed6cda5f6608",
  "order_number": "INV-123456785",
  "reference": "OD-123456789",
  "status": "completed",
  "amount": "10.00",
  "currency": "TRY",
  "customer": {
    "name": "Ali",
    "surname": "Veli",
    "email": "[email protected]",
    "phone": "5551234567"
  },
  "transaction_id": "TR123456789",
  "installment": 1,
  "gateway": "esnekpos",
  "timestamp": 1745762108
}

Callback Verileri

Alan Tür Açıklama
payment_uuid string Ödeme işleminin benzersiz kimliği
order_number string Sipariş numarası
reference string Mağaza tarafından sağlanan referans kodu
status string Ödeme durumu (completed, failed, pending, refunded, cancelled)
amount string Ödeme tutarı
currency string Para birimi
customer object Müşteri bilgileri
transaction_id string Banka/ödeme kuruluşu tarafından verilen işlem ID'si
installment integer Taksit sayısı (tek çekim için 1)
gateway string Kullanılan ödeme altyapısı
timestamp integer İşlem zaman damgası (UNIX timestamp)

Callback Güvenliği

Callback istekleri, özel bir imza ile güvenli hale getirilir. Gelen isteğin geçerli olduğunu doğrulamak için HTTP header'ındaki X-Signature değerini kontrol etmelisiniz.

PHP örneği:

$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_SIGNATURE'] ?? '';
$secretKey = 'your_signature_secret_key';

$calculatedSignature = hash_hmac('sha256', $payload, $secretKey);

if (hash_equals($calculatedSignature, $signature)) {
    // İmza doğru, işleme devam et
    $data = json_decode($payload, true);
    // Ödeme verilerini işle
} else {
    // İmza geçersiz, isteği reddet
    http_response_code(403);
    echo json_encode(['error' => 'Invalid signature']);
}
                                

4. Hata Kodları

API yanıtlarında aşağıdaki hata kodları ile karşılaşabilirsiniz:

Kod Açıklama
INVALID_SIGNATURE Geçersiz imza anahtarı
INVALID_AMOUNT Geçersiz ödeme tutarı
INVALID_CURRENCY Desteklenmeyen para birimi
INVALID_CUSTOMER Eksik veya hatalı müşteri bilgileri
PAYMENT_EXPIRED Ödeme süresi dolmuş
PAYMENT_NOT_FOUND Ödeme kaydı bulunamadı
GATEWAY_ERROR Ödeme altyapısı hatası
CARD_DECLINED Kart reddedildi
3D_SECURE_FAILED 3D Secure doğrulaması başarısız