Ödeme altyapımızı kendi sisteminize bağlayın
Shopinext API ile tüm iletişim JSON formatında gerçekleştirilir. Tarafınıza iletilen İstemci Kimliği (Client ID) ve İstemci Gizli Anahtarı (Client Secret) bilgileri, API isteklerinde kullanılacak Erişim Tokeni (Access Token) oluşturmak için kullanılır.
Erişim Tokeni 1 saat süreyle geçerlidir. Geçerlilik süresi sona erdiğinde, 24 saat geçerli olan Yenileme Tokeni (Refresh Token) kullanılarak yeni bir Erişim Tokeni oluşturulmalıdır.
Shopinext API üzerinden ödeme talepleri oluşturabilir ve mevcut ödemelerinizin durumunu sorgulayabilirsiniz. Ödeme oluşturma sırasında bir Geri Arama URL'si (Callback URL) tanımlayarak ödeme durumundaki güncellemeleri gerçek zamanlı olarak alabilirsiniz. Ayrıca taksit ve komisyon bilgilerine API üzerinden erişebilirsiniz.
Shopinext API hizmetlerinden yararlanabilmek için hesabınızın Shopinext tarafından API kullanımı için yetkilendirilmiş olması gerekmektedir.
1 · API ANAHTARLARINIZI OLUŞTURUN
Panelinizdeki API sayfasından client_id ve client_secret bilgilerinizi oluşturun; API erişimine izin verilecek IP adresi ve alan adını tanımlayın.
2 · ERİŞİM TOKENİ ALIN
/authenticate üzerinden erişim tokeninizi oluşturun ve API isteklerinizde Authorization başlığı ile gönderin.
3 · ÖDEME OLUŞTURUN
/createPayment ile ödeme talebinizi oluşturun ve müşterinizi yanıtta dönen ödeme adresine yönlendirin.
- Hesap Güvenliği ve Yetkisiz Kullanım
Shopinext hesabınız ve API erişim anahtarlarınız yalnızca kayıtlı işletmenizin kullanımına özeldir. Hesap bilgilerinin, API anahtarlarının veya erişim yetkilerinin üçüncü şahıslarla paylaşılması, hesabın başka gerçek veya tüzel kişiler adına kullandırılması yasaktır. Hesabınız üzerinden gerçekleşen tüm işlemlerden doğrudan tarafınız sorumludur. - Hizmet Niteliği ve Orkestrasyon Rolü
Shopinext, ödeme süreçlerini birden fazla ödeme kuruluşu üzerinden yönetmenizi sağlayan bir e-ticaret orkestrasyonu ve teknoloji platformudur. Shopinext kendisi bir ödeme hizmeti sağlayıcısı veya lisanslı ödeme kuruluşu değildir. Ödeme ve finansal transfer hizmetleri, platforma entegre edilmiş yetkili ve lisanslı ödeme hizmeti sağlayıcıları tarafından sunulur. - İzin Verilen Kullanım ve Yaptırımlar
Platform yalnızca Shopinext tarafından onaylanmış faaliyet alanları ve iş modelleri kapsamında kullanılabilir. Hesabın yetkisiz kişilere kullandırılması, mevzuata veya platform politikalarına aykırı, izin verilmeyen ürün veya hizmetlerin satışı amacıyla kullanılması halinde Shopinext, hesabınızı askıya alma, kısıtlama veya hizmet sözleşmesini tek taraflı sonlandırma hakkını saklı tutar. - Şüpheli İşlem ve Bildirim Yükümlülüğü
Hesabınızda veya finansal hareketlerinizde bilginiz dışında gerçekleşen, olağan dışı veya şüpheli bir durum tespit etmeniz halinde, durumu derhal ve gecikmeksizin Shopinext destek kanallarına bildirmekle yükümlüsünüz.
- API Canlı Ortamı
- https://api.shopinext.com
- API Test Ortamı
- https://api.dev.shopinext.com
- Format
- application/json
- Yetkilendirme
- Authorization: Bearer
- Zorunlu başlık
- Domain: alanadiniz.com
- Erişim tokeni
- 1 saat geçerli
- Yenileme tokeni
- 24 saat geçerli
- IP kısıtı
- Yalnızca tanımlı IP adresleri
- Para birimleri
- TRY · USD · EUR · GBP
Başlangıç ve Kimlik Doğrulama
Shopinext API platformunda Access Token oluşturmak için, tarafınıza verilen Client ID ve Client Secret bilgileriyle belirtilen uç noktaya istek atmanız gerekmektedir.
Üretilen Access Token 1 saat süreyle geçerlidir. Süre dolduğunda, 24 saat geçerliliğe sahip Refresh Token kullanılarak yeni bir Access Token alınmalıdır.
Güvenlik Kuralları: API anahtarlarınız oluşturulurken tanımlanan alan adı bilgisi, tüm isteklerin başlığında (Header) iletilmelidir (Örn: Domain: shopinext.com). Ayrıca sisteme gönderilen tüm API istekleri, yalnızca hesabınızda tanımlanmış olan IP adresi üzerinden gerçekleştirilmelidir.
İSTEK PARAMETRELERİ - POST
| Parametre | Tür | Açıklama | Gerekli |
|---|---|---|---|
| client_id | String | İstemci Kimliği | Evet |
| client_secret | String | İstemci Gizli Anahtarı | Evet |
İSTEK PARAMETRELERİ - POST
| Parametre | Tür | Açıklama | Gerekli |
|---|---|---|---|
| refresh_token | String | Yenileme Tokeni | Evet |
{
    "client_id": "SNT98s721xsaS96S",
    "client_secret": "SNC71219sz77As"
}
{
    "status": 1,
    "access_token": "SNT98s721xsaS96S",
    "refresh_token": "SNC71219sz77As",
    "access_token_validity": "2025-04-17 00:00:00",
    "refresh_token_validity": "2025-04-18 00:00:00"
}
{
    "refresh_token": "SNR123s2998asdXZSA"
}
{
    "status": 1,
    "access_token": "SNT98s721xsaS96S",
    "refresh_token": "SNC71219sz77As",
    "access_token_validity": "2025-04-17 00:00:00",
    "refresh_token_validity": "2025-04-18 00:00:00"
}
Ödeme Oluşturma (POST)
Yeni bir ödeme işlemi başlatmak için aşağıdaki parametrelerle bir istek (request) göndermeniz gerekmektedir. İşlemin nihai durumu (başarılı/başarısız), Callback URL parametresinde belirttiğiniz adrese bildirim (notification/webhook) olarak iletilecektir.
İSTEK PARAMETRELERİ - POST
| Parametre | Tür | Açıklama | Zorunluluk |
|---|---|---|---|
| Kimlik Doğrulama | |||
| access_token | String | /authenticate endpoint'i üzerinden alınan erişim anahtarıdır. İstek gövdesinde gönderilmemeli, Authorization: Bearer başlığı üzerinden iletilmelidir. | Zorunlu |
| Sipariş | |||
| merchant_order_id | String | Satıcının kendi sisteminde ilgili sipariş için oluşturduğu sipariş numarasıdır. | Zorunlu |
| amount | Decimal |
Siparişin toplam tutarıdır. Hesap için tanımlanan alt ve üst işlem limitleri uygulanır.
|
Koşullu |
| currency | Enum |
İşlemin gerçekleştirileceği para birimidir.
|
Zorunlu |
| is_digital | Integer |
Siparişin dijital ürün içerip içermediğini belirtir. 1 gönderildiğinde teslimat bilgisi istenmez.
|
Zorunlu |
| max_installment | Integer |
Ödeme sayfasında sunulacak maksimum taksit sayısını belirtir. Tek çekim için 1 gönderilir; hesaba tanımlı taksit iznini aşan değerler izin sınırına indirilir.
|
Opsiyonel |
| language | Enum |
Ödeme sayfasının görüntüleneceği dili belirtir.
|
Opsiyonel |
| Müşteri | |||
| firstname | String | Müşterinin adıdır. | Zorunlu |
| surname | String | Müşterinin soyadıdır. | Zorunlu |
| Email ≤ 64 | Müşterinin e-posta adresidir. | Zorunlu | |
| country_code | String | Müşterinin telefon numarasına ait uluslararası ülke kodudur. | Zorunlu |
| phone | Phone | Müşterinin cep telefonu numarasıdır. | Zorunlu |
| identity_number | String ≤ 11 | Müşteriye ait kimlik numarasıdır. Gerçek müşteri bilgisi gönderilmelidir; sabit, temsili veya örnek değer kullanılmamalıdır. | Hesabınıza göre değişir |
| company | String | Kurumsal faturalandırma işlemlerinde kullanılacak şirket unvanıdır. | Opsiyonel |
| tax_office | String | Kurumsal faturalandırma işlemlerinde kullanılacak vergi dairesidir. | Hesabınıza göre değişir |
| tax_number | String | Kurumsal faturalandırma işlemlerinde kullanılacak vergi numarasıdır. | Hesabınıza göre değişir |
| Sepet (order_products) | |||
| order_products | Array |
Siparişte yer alan ürün kalemlerinin listesidir.
|
Koşullu |
| productCode | String ≤ 100 | Satıcının kendi sisteminde ürüne tanımladığı ürün kodudur. Gönderilmemesi durumunda sistem tarafından bir kod oluşturulur. | Opsiyonel |
| name | String ≤ 500 | Sipariş kaleminde yer alan ürünün adıdır. | Zorunlu |
| quantity | Integer | Sipariş kalemindeki ürün adedidir. | Zorunlu |
| price | Decimal | Sipariş kalemindeki ürünün birim fiyatıdır. | Zorunlu |
| total | Decimal |
Sipariş kaleminin toplam tutarıdır.
|
Koşullu |
| Fatura (billing_info) | |||
| billing_info | Object | Müşterinin fatura adresi bilgilerini içeren nesnedir. | Hesabınıza göre değişir |
| billing_firstname | String | Fatura adresinde kullanılacak addır. | Hesabınıza göre değişir |
| billing_surname | String | Fatura adresinde kullanılacak soyaddır. | Hesabınıza göre değişir |
| billing_address | String | Müşterinin fatura adresidir. | Hesabınıza göre değişir |
| billing_city | String ≤ 32 | Fatura adresine ait ilçe veya şehir bilgisidir. | Hesabınıza göre değişir |
| billing_state | String ≤ 32 | Fatura adresine ait il veya eyalet bilgisidir. | Hesabınıza göre değişir |
| billing_postal_code | String ≤ 15 | Fatura adresine ait posta kodudur. | Hesabınıza göre değişir |
| billing_country | String ≤ 32 | Fatura adresine ait ülke bilgisidir. ISO 3166-1 alpha-2 ülke kodu gönderilmelidir (örn. TR). | Hesabınıza göre değişir |
| billing_country_code | String | Fatura bilgilerinde kullanılan telefon numarasına ait ülke kodudur. | Hesabınıza göre değişir |
| billing_phone | Phone | Fatura bilgilerinde kullanılacak telefon numarasıdır. | Hesabınıza göre değişir |
| Teslimat (shipping_info) | |||
| shipping_info | Object |
Fiziksel ürün siparişlerinde kullanılacak teslimat bilgilerini içeren nesnedir.
|
Hesabınıza göre değişir |
| shipping_firstname | String | Teslimat adresinde kullanılacak addır. | Hesabınıza göre değişir |
| shipping_surname | String | Teslimat adresinde kullanılacak soyaddır. | Hesabınıza göre değişir |
| shipping_address | String | Siparişin teslim edileceği adrestir. | Hesabınıza göre değişir |
| shipping_city | String ≤ 32 | Teslimat adresine ait ilçe veya şehir bilgisidir. | Hesabınıza göre değişir |
| shipping_state | String ≤ 32 | Teslimat adresine ait il veya eyalet bilgisidir. | Hesabınıza göre değişir |
| shipping_postal_code | String ≤ 15 | Teslimat adresine ait posta kodudur. | Hesabınıza göre değişir |
| shipping_country | String ≤ 32 | Teslimat adresine ait ülke bilgisidir. ISO 3166-1 alpha-2 ülke kodu gönderilmelidir (örn. TR). | Hesabınıza göre değişir |
| shipping_country_code | String | Teslimat bilgilerinde kullanılan telefon numarasına ait ülke kodudur. | Hesabınıza göre değişir |
| shipping_phone | Phone | Teslimat için kullanılacak telefon numarasıdır. | Hesabınıza göre değişir |
| Dönüş Adresleri | |||
| success_url | Url | Ödeme başarıyla tamamlandığında müşterinin yönlendirileceği URL'dir. http, localhost ve özel ağ adresleri kabul edilmez. | Zorunlu |
| fail_url | Url | Ödeme başarısız olduğunda müşterinin yönlendirileceği URL'dir. http, localhost ve özel ağ adresleri kabul edilmez. | Zorunlu |
| callback_url | Url | Ödeme sonucunun sunucudan sunucuya bildirileceği URL'dir. http, localhost ve özel ağ adresleri kabul edilmez. | Zorunlu |
"Hesabınıza göre değişir" işaretli alanların sizin hesabınız için zorunlu olup olmadığını panelinizdeki API Düzenle sayfasında görebilirsiniz.
Authorization: Bearer SNT98s721xsaS96S
Domain: alanadiniz.com
{
    "merchant_order_id": "ORD-2026-000123",
    "amount": 200.00,
    "currency": "TRY",
    "is_digital": 0,
    "max_installment": 1,
    "language": "TR",
    "firstname": "Hasan",
    "surname": "Öncel",
    "email": "[email protected]",
    "country_code": "+90",
    "phone": "5445553366",
    "identity_number": "12345678901",
    "company": "Örnek Ticaret A.Ş.",
    "tax_office": "Beşiktaş VD",
    "tax_number": "1234567890",
    "order_products": [{
        "productCode": "SKU-PRM-01",
        "name": "Premium Paket",
        "quantity": 2,
        "price": 100.00,
        "total": 200.00
    }],
    "billing_info": {
        "billing_firstname": "Hasan",
        "billing_surname": "Öncel",
        "billing_address": "Örnek Mah. Örnek Sok. No: 3/4",
        "billing_city": "Beşiktaş",
        "billing_state": "İstanbul",
        "billing_postal_code": "34330",
        "billing_country": "TR",
        "billing_country_code": "+90",
        "billing_phone": "5445553366"
    },
    "shipping_info": {
        "shipping_firstname": "Hasan",
        "shipping_surname": "Öncel",
        "shipping_address": "Örnek Mah. Örnek Sok. No: 3/4",
        "shipping_city": "Beşiktaş",
        "shipping_state": "İstanbul",
        "shipping_postal_code": "34330",
        "shipping_country": "TR",
        "shipping_country_code": "+90",
        "shipping_phone": "5445553366"
    },
    "success_url": "https://magaza.ornek.com/odeme/basarili",
    "fail_url": "https://magaza.ornek.com/odeme/basarisiz",
    "callback_url": "https://magaza.ornek.com/webhook/shopinext"
}
{
    "status": 1,
    "payment_id": "S1234567890",
    "redirect_url": "https://checkout.shopinext.com/tr/S1234567890"
}
# Canlı
curl -X POST https://api.shopinext.com/createPayment \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer SNT98s721xsaS96S" \
  -H "Domain: alanadiniz.com" \
  -d '{"merchant_order_id":"ORD-2026-000123","amount":200.00,"currency":"TRY","is_digital":0,"max_installment":1,"language":"TR","firstname":"Hasan","surname":"Öncel","email":"[email protected]","country_code":"+90","phone":"5445553366","identity_number":"12345678901","company":"Örnek Ticaret A.Ş.","tax_office":"Beşiktaş VD","tax_number":"1234567890","order_products":[{"productCode":"SKU-PRM-01","name":"Premium Paket","quantity":2,"price":100.00,"total":200.00}],"billing_info":{"billing_firstname":"Hasan","billing_surname":"Öncel","billing_address":"Örnek Mah. Örnek Sok. No: 3/4","billing_city":"Beşiktaş","billing_state":"İstanbul","billing_postal_code":"34330","billing_country":"TR","billing_country_code":"+90","billing_phone":"5445553366"},"shipping_info":{"shipping_firstname":"Hasan","shipping_surname":"Öncel","shipping_address":"Örnek Mah. Örnek Sok. No: 3/4","shipping_city":"Beşiktaş","shipping_state":"İstanbul","shipping_postal_code":"34330","shipping_country":"TR","shipping_country_code":"+90","shipping_phone":"5445553366"},"success_url":"https://magaza.ornek.com/odeme/basarili","fail_url":"https://magaza.ornek.com/odeme/basarisiz","callback_url":"https://magaza.ornek.com/webhook/shopinext"}'Ödeme Yöntemleri
Shopinext, iş modelinize ve güvenlik ihtiyaçlarınıza uygun 3 farklı ödeme entegrasyon yöntemi sunar:
- Hosted Payment Page (HPP): Kullanıcı, ödeme işlemini Shopinext tarafından barındırılan güvenli ödeme sayfasına yönlendirilerek tamamlar. (PCI-DSS yükünü en aza indirir.)
- Embedded Checkout (Iframe): Ödeme formu, kendi web siteniz veya uygulamanız içerisine gömülü bir iframe olarak yüklenir.
- Direct API (Native Checkout): Ödeme formu ve kart bilgileri tamamen kendi arayüzünüzde toplanır; veriler API aracılığıyla doğrudan Shopinext'e iletilir. (Kullanıcı deneyimi üzerinde tam kontrol sağlar.)
Ödeme talebi (create payment) oluştururken kullanmak istediğiniz yöntemi ilgili parametre ile belirtebilirsiniz:
- Varsayılan Entegrasyon (HPP)
Tüm Shopinext hesapları için varsayılan ve aktif olan tek yöntem Hosted Payment Page (HPP) modelidir. İlk entegrasyonunuzu mutlaka HPP yöntemine göre tamamlamanız gerekmektedir. - Özel Yetkilendirme (Iframe / Direct API)
Embedded Checkout ve Direct API yöntemleri ek güvenlik (PCI-DSS) ve risk değerlendirmelerine tabidir. Bu yöntemler yalnızca hesabı özel olarak yetkilendirilmiş üye işyerleri tarafından kullanılabilir. - Çalışma Şartı
HPP entegrasyonu tamamlanmadan ve hesabınıza özel yetki tanımlanmadan Iframe veya Direct API üzerinden gönderilen ödeme istekleri sistem tarafından reddedilecek ve ödeme işlemi başarısız olacaktır.
Entegrasyon Yöntemleri ve Kullanım Şekilleri
1. Hosted Payment Page (HPP)Kullanıcı, ödeme işlemini tamamlamak üzere Shopinext tarafından barındırılan güvenli ödeme sayfasına yönlendirilir.
Yönlendirme Bağlantısı:
https://checkout.shopinext.com/{language}/{payment_id}
2. Embedded Checkout (Iframe)
Ödeme formu, web siteniz veya uygulamanız içerisine bir iframe ögesi olarak gömülür.
Iframe Kodu:
<iframe src="https://checkout.shopinext.com/{language}/{payment_id}?iframe=1" width="100%" height="600" frameborder="0"></iframe>
Not: Ödeme formunun iframe içerisinde sorunsuz ve uyumlu çalışabilmesi için URL sonuna zorunlu olarak ?iframe=1 parametresi eklenmelidir.
3. Direct API (Native Checkout)Kart bilgileri doğrudan API üzerinden iletilerek ödeme tamamlanır. Kullanıcı başka bir sayfaya yönlendirilmeden (native) ödeme alınmasını sağlar.
Akış ve OTP (Tek Kullanımlık Şifre) Süreci:
- Ödeme Başlatma
Önce /createPayment uç noktasına istek atılarak bir payment_id elde edilmelidir. - Ödeme Tamamlama
Alınan payment_id ve kart bilgileri ile /directPayment uç noktası çağrılır. - Doğrulama (OTP) Adımı
Üye işyeri hesabınızda SMS veya E-posta doğrulaması aktif ise, işlem durumuna göre API yanıtı döner:- status = 3 — E-posta OTP Doğrulaması Gerekli
- status = 4 — SMS OTP Doğrulaması Gerekli
- İşlem Onayı
Müşteriden alınan doğrulama kodu, otp_code parametresi ile sisteme iletilerek ödeme işlemi nihai olarak tamamlanır.
| Parametre | Tür | Açıklama | Gerekli |
|---|---|---|---|
| payment_id | String | Shopinext Ödeme ID | Evet |
| cc_owner | String | Kart Sahibi | Evet |
| cc_number | String | Kart Numarası | Evet |
| cc_month | String | Ay (MM) | Evet |
| cc_year | String | Yıl (YYYY) | Evet |
| cc_cvv | String | CVV | Evet |
| installment | Integer | Taksit Sayısı | Hayır |
| otp_code | String | SMS veya E-posta yoluyla gönderilen tek kullanımlık doğrulama kodu (Gerektiğinde gönderilir) | Hayır |
{
    "payment_id": "S1234567890",
    "cc_owner": "HASAN ONCEL",
    "cc_number": "4111111111111111",
    "cc_month": "12",
    "cc_year": "2026",
    "cc_cvv": "123",
    "installment": 1
}
{
    "status": 4,
    "payment_id": "S1234567890",
    "message": "SMS doğrulama kodu gönderildi."
}
{
    "payment_id": "S1234567890",
    "cc_owner": "HASAN ONCEL",
    "cc_number": "4111111111111111",
    "cc_month": "12",
    "cc_year": "2026",
    "cc_cvv": "123",
    "installment": 1,
    "otp_code": "123456"
}
{
    "status": 1,
    "data": {
        "redirect_url": "https://3d.secure.url"
    }
}
Webhook
Bir ödeme talebi oluşturduktan sonra işlemin nihai durumu netleşene kadar, istek sırasında belirttiğiniz Callback URL adresine anlık güncellemeler iletilir. Tarafınıza ulaşan her bildirimin başarılı bir şekilde alındığını onaylamak adına sisteminizin OK yanıtı vermesi gerekmektedir. Aksi takdirde, sistem ödeme durum güncellemelerini 48 saat boyunca tarafınıza tekrar iletmeye devam edecektir.
Gelen bildirimin gerçekten Shopinext sunucularından iletildiğini teyit edebilmeniz için istek gövdesinde bir hash bilgisi yer alır. Bu değer, size tanımlanan Client ID ve Client Secret bilgilerinin herhangi bir ayraç veya boşluk kullanılmadan birleştirilmesi ve SHA-256 algoritması ile şifrelenmesi sonucu üretilir. Güvenlik amacıyla, gelen istekteki hash değeri ile kendi sunucunuzda ürettiğiniz hash değerini karşılaştırarak doğrulama yapmanız önerilir.
| # | Durum | Durum Kodu |
|---|---|---|
| 1 | İşleniyor | processing |
| 2 | Başarılı | successful |
| 3 | Başarısız | unsuccessful |
| 4 | İptal Edildi | cancelled |
| 5 | İade Edildi | refunded |
| 6 | Kısmi İade | partially_refunded |
{
    "payment_id": "S1234567890",
    "status": "processing",
    "hash": "5e4ff8ebb5fe84d8c7968ce..."
}
OK
// PHP
$expected = hash('sha256', $clientId . $clientSecret);
if (hash_equals($expected, $payload['hash'])) {
    // istek Shopinext'ten geldi
}Ödeme Listesi Sorgulama
Belirli bir tarih aralığındaki ödeme kayıtlarını sorgulamak için, kimlik doğrulama adımında aldığınız Access Token bilginizi istek başlığında (Header) iletmeniz ve istek gövdesinde startdate ile enddate parametrelerini belirtmeniz gerekmektedir. Tek bir sorguda en fazla 45 günlük bir tarih aralığı filtreleyebilirsiniz.
Yanıt içerisindeki amount ve currency alanları ödeme oluşturulurken iletilen orijinal tutar ve para birimini; charged_amount ve charged_currency alanları ise karttan fiilen tahsil edilen nihai tutar ve para birimini gösterir. Kur çevrimi yapılan veya farklı para biriminde tahsil edilen işlemlerde bu değerler birbirinden farklılık gösterebilir.
İSTEK PARAMETRELERİ - GET
| Parametre | Tür | Açıklama | Gerekli |
|---|---|---|---|
| startdate | String | Başlangıç Tarihi (YYYY-MM-DD HH:mm:ss) | Evet |
| enddate | String | Bitiş Tarihi (YYYY-MM-DD HH:mm:ss) | Evet |
| # | Durum | Durum Kodu |
|---|---|---|
| 1 | İşleniyor | processing |
| 2 | Başarılı | successful |
| 3 | İptal Edildi | cancelled |
| 4 | İade Edildi | refunded |
| 5 | Kısmi İade | partially_refunded |
{
    "startdate": "2024-06-19 00:00:00"
    "enddate": "2024-06-19 23:59:59"
}
{
    "status": 1,
    "payments": [{
        "payment_id": "S1234567890",
        "merchant_order_id": "X12T55A",
        "firstname": "Hasan",
        "surname": "Öncel",
        "email": "[email protected]",
        "channel": "API",
        "domain": "www.shopinext.com",
        "status_type": "Sales",
        "status": "Successful",
        "amount": 200.00,
        "currency": "TRY",
        "charged_amount": 200.00,
        "charged_currency": "TRY",
        "installment": 1,
        "currency_rates": "{\"USD\":\"36.4792\",\"EUR\":\"38.0094\",\"GBP\":\"46.006\"}",
        "commission": 5.9,
        "transaction_fee": 0.5,
        "vat": 1.28,
        "is_digital": 0,
        "identity_number": "11111111111",
        "company": "",
        "tax_office": "",
        "tax_number": "",
        "payment_date": "2024-06-19 15:00:00",
        "payment_note": "",
        "order_products": [{
            "name": "Deneme",
            "quantity": 2,
            "price": 100,
            "total": 200
        }],
        "billing_info": {
            "billing_firstname": "Hasan",
            "billing_surname": "Öncel",
            "billing_address": "Örnek Mah. Örnek Sok. No: 3/4",
            "billing_city": "Beşiktaş",
            "billing_state": "İstanbul",
            "billing_postal_code": "34330",
            "billing_country": "TR",
            "billing_country_code": "+90",
            "billing_phone": "5445553366"
        },
        "shipping_info": {
            "shipping_firstname": "Hasan",
            "shipping_surname": "Öncel",
            "shipping_address": "Örnek Mah. Örnek Sok. No: 3/4",
            "shipping_city": "Beşiktaş",
            "shipping_state": "İstanbul",
            "shipping_postal_code": "34330",
            "shipping_country": "TR",
            "shipping_country_code": "+90",
            "shipping_phone": "5445553366"
        },
        "created_at": "2024-06-19 01:03:00"
    }]
}
Tek Ödeme Sorgulama
Tek bir ödeme işlemine ait detayları sorgulamak için, kimlik doğrulama adımında aldığınız Access Token bilginiz ile birlikte ilgili Shopinext Ödeme Kimliği (payment_id) parametresini iletmeniz gerekmektedir.
Yanıt içerisindeki amount ve currency alanları ödeme oluşturulurken iletilen orijinal tutar ve para birimini; charged_amount ve charged_currency alanları ise karttan fiilen tahsil edilen nihai tutar ve para birimini gösterir. Kur çevrimi yapılan veya farklı para biriminde tahsil edilen işlemlerde bu değerler birbirinden farklılık gösterebilir.
İSTEK PARAMETRELERİ - GET
| Parametre | Tür | Açıklama | Gerekli |
|---|---|---|---|
| payment_id | String | Shopinext Ödeme ID | Evet |
| # | Durum | Durum Kodu |
|---|---|---|
| 1 | İşleniyor | processing |
| 2 | Başarılı | successful |
| 3 | İptal Edildi | cancelled |
| 4 | İade Edildi | refunded |
| 5 | Kısmi İade | partially_refunded |
{
    "payment_id": "S1234567890"
}
{
    "status": 1,
    "payment": {
        "payment_id": "S1234567890",
        "merchant_order_id": "X12T55A",
        "firstname": "Hasan",
        "surname": "Öncel",
        "email": "[email protected]",
        "channel": "API",
        "domain": "www.shopinext.com",
        "status_type": "Sales",
        "status": "Successful",
        "amount": 200.00,
        "currency": "TRY",
        "charged_amount": 200.00,
        "charged_currency": "TRY",
        "installment": 1,
        "currency_rates": "{\"USD\":\"36.4792\",\"EUR\":\"38.0094\",\"GBP\":\"46.006\"}",
        "commission": 5.9,
        "transaction_fee": 0.5,
        "vat": 1.28,
        "is_digital": 0,
        "identity_number": "11111111111",
        "company": "",
        "tax_office": "",
        "tax_number": "",
        "payment_date": "2024-06-19 15:00:00",
        "payment_note": "",
        "order_products": [{
            "name": "Deneme",
            "quantity": 2,
            "price": 100,
            "total": 200
        }],
        "billing_info": {
            "billing_firstname": "Hasan",
            "billing_surname": "Öncel",
            "billing_address": "Örnek Mah. Örnek Sok. No: 3/4",
            "billing_city": "Beşiktaş",
            "billing_state": "İstanbul",
            "billing_postal_code": "34330",
            "billing_country": "TR",
            "billing_country_code": "+90",
            "billing_phone": "5445553366"
        },
        "shipping_info": {
            "shipping_firstname": "Hasan",
            "shipping_surname": "Öncel",
            "shipping_address": "Örnek Mah. Örnek Sok. No: 3/4",
            "shipping_city": "Beşiktaş",
            "shipping_state": "İstanbul",
            "shipping_postal_code": "34330",
            "shipping_country": "TR",
            "shipping_country_code": "+90",
            "shipping_phone": "5445553366"
        },
        "created_at": "2024-06-19 01:03:00"
    }
}
Taksit Bilgileri (GET /getInstallments)
Shopinext hesabınıza tanımlanmış aktif taksit seçeneklerini ve taksit sayısı bazlı oranları dinamik olarak sorgulamak için kullanılır. Herhangi bir istek gövdesi (body) göndermeden, yalnızca geçerli Access Token bilginiz ile istek atmanız yeterlidir.
Boş
{
    "status": 1,
    "installments": [{
        "installmentCount": 2,
        "installmentRate": 5.99
    }, {
        "installmentCount": 3,
        "installmentRate": 6.99
    }, {
        "installmentCount": 4,
        "installmentRate": 7.99
    }]
}
Komisyon Bilgileri (GET /getCommissions)
Hesabınıza tanımlı olan komisyon oranları ve para birimi bazlı işlem ücretleri hakkında güncel bilgi almak için kullanılır. İstek başlığında Access Token iletilmelidir.
Boş
{
    "status": 1,
    "commissions": {
        "try_commission": 5.99,
        "try_transaction_fee": 0.25,
        "try_commission_int": 5.99,
        "try_transaction_fee_int": 0.25,
        "usd_commission": 5.99,
        "usd_transaction_fee": 0.25,
        "eur_commission": 5.99,
        "eur_transaction_fee": 0.25,
        "gbp_commission": 5.99,
        "gbp_transaction_fee": 0.25,
        "btc_commission": 5.99,
        "btc_transaction_fee": 0.25,
        "eth_commission": 5.99,
        "eth_transaction_fee": 0.25
    }
}
Hata Kodları
Shopinext API'si aşağıda belirtilen hata kodlarını kullanır:
| Hata Kodu | Açıklama |
|---|---|
| SNE1 | Token oluşturma başarısız oldu. Sağladığınız kimlik doğrulama bilgileri yanlış. |
| SNE2 | Eksik parametre. Zorunlu alanlardan biri veya birkaçı gönderilmedi. |
| SNE3 | Ödeme Kimliği (payment_id) bulunamadı veya sağlanan bilgilerle eşleşen ödeme yok. |
| SNE4 | Tarih aralığı formatı hatalı. startdate ve enddate parametrelerini kontrol edin. |
| SNE5 | Ödeme oluşturma başarısız oldu. Gönderilen parametreleri kontrol edin. |
| SNE6 | Sistem Hatası. Lütfen Destek Ekibi ile iletişime geçin. |
| SNE7 | İstenen para birimi için hesabınızın işlem yetkisi yok. |
| SNE8 | Hesabınıza tanımlanan satış/ciro limitini aştınız. |
| SNE9 | Kullanılmaya çalışılan kart altyapısı veya kart tipi desteklenmiyor. |
| SNE10 | İstek atılan IP adresi yetkilendirilmemiş. Panelden IP tanımınızı kontrol edin. |
| SNE11 | İstek atılan Domain (Header) yetkilendirilmemiş. |
| SNE12 | Tarih aralığı sınır aşımı. Tek seferde en fazla 45 günlük sorgulama yapılabilir. |
| SNE13 | API kimlik bilgileri (Client ID / Client Secret) bulunamadı veya geçersiz. |
| SNE14 | Bu ödeme işlemi üzerinde sorgulama veya işlem yapma yetkiniz bulunmuyor. |
| SNE15 | Ödeme işlemi geçerli durumda değil (Örn: Zaten tamamlanmış veya iptal edilmiş). |
| SNE16 | Hesabınız pasif veya askıya alınmış durumda. |
| SNE17 | Direct API (Native Checkout) kullanım yetkiniz bulunmamaktadır. |
| SNE18 | 3D Secure başlatma adımı başarısız oldu. |
| SNE19 | Genel ödeme hatası. İşlem banka veya altyapı tarafından reddedildi. |
| SNE20 | İşlem tutarı, sistemde izin verilen asgari (minimum) tutarın altında. |
| SNE21 | Desteklenmeyen para birimi. Geçerli değerler: TRY, USD, EUR, GBP (Büyük harf). |
| SNE22 | Hesabın bu para biriminde satış yetkisi yok. Yetkilendirme için destek ekibiyle görüşün. |
| SNE23 | Geçersiz URL formatı (callback_url, success_url ve fail_url herkese açık https:// adresi olmalıdır) veya işlem risk denetimine takıldı. |
| SNE24 | İşlem tutarı, sistemde izin verilen azami (maksimum) tutarın üzerinde. |
Test Kartları
Aşağıdaki kredi kartı bilgilerini test işlemleri için kullanabilirsiniz.
| Kart Numarası | Son kullanım | CVV | 3D Şifre |
|---|---|---|---|
| 5404 3554 0435 5405 | 12/2030 | 001 | a |
| 4546 7112 3456 7894 | 12/2026 | 000 | a |
| 5401 3412 3456 7891 | 12/2026 | 000 | a |
Destek ve İletişim
Entegrasyon sürecinde karşılaştığınız teknik sorunlar, yetkilendirme talepleri veya tüm sorularınız için e-posta yoluyla teknik destek ekibimizle iletişime geçebilirsiniz.
[email protected]