Hemen Başla
shopinext

API Dökümantasyon

API Dökümantasyon
Hata Kodları SESSIONTOKEN Oluşturma Satış İşlemi Kur Alma Örnek Kodlar Test Kartları WooCommerce Ödeme Modülü Opencart Ödeme Modülü Mağaza Kuru İşlem Kontrolü WHMCS Ödeme Modülü
ERR001
Geçersiz mağaza bilgisi - Shopinext mail, şifrenizi ve mağazanızın aktif olup olmadığını kontrol edin
ERR002
API Başvuru Formu üzerinden başvuru yapmanız gerekmektedir. - Paneldeki API Başvuru sayfasından başvuru yapmanız gerekmektedir.
ERR003Hatalı key, lütfen apikey kontrolünü yapın. - API Keyinizi kontrol edin.
ERR004
Aktif API başvurunuz bulunmamaktadır. - API Başvurunuzun aktif olduğundan emin olun.
ERR005
Zorunlu alanlar boş gönderilemez. - Hata ile belirtilen alanları doldurun.
ERR006SESSIONTOKEN oluşturulurken hata oluştu. - Shopinext Yönetimi ile irtibata geçin.
ERR007Yetkisiz URL üzerinden işlem yapamazsınız. - API Başvurusu onaylanan URL üzerinden işlem gönderin.
ERR008Aktif API başvurunuz bulunmamaktadır. - API Başvurunuzun aktif olduğundan emin olun.
ERR009Aktif Shopinext mağazanız bulunmamaktadır. - Mağazanızın aktif olup olmadığını kontrol edin.
ERR010
Belirtilen oturum bulunmamaktadır. - Gönderilen SESSION oturumunu kontrol edin, işlemi yenileyin.
ERR011
Ödeme sırasında oluşan genel hatalar. - errorMsg kısmındaki detayı kontrol edin.
ERR012Mağazanın özel kart yetkisi bulunmamaktadır. - Shopinext yönetimi ile irtibata geçerek özel kart yetkisini açabilirsiniz.
ERR013
Mağazanın yurtdışı satış yetkisi bulunmamaktadır. - Shopinext yönetimi ile irtibata geçerek yurtdışı satış yetkisini açabilirsiniz.
ERR014Kayıtlı kart bulunamadı, lütfen manuel giriş yapın. - Sistemde kayıtlı kart bulunamadığı için kayıtlı kart ile ödeme işlemi geçersiz sonuçlanmıştır.

Örnek Session Sorgusu

Her SESSIONTOKEN 1 kez kullanılabilir. Oluşturulan SESSIONTOKEN süresi 60 dakikadır. 60 dakika içerisinde işleme alınmayan SESSIONTOKEN işleme kapatılır. 

POST Adresi: https://www.shopinext.com/api/v1

Gönderilen SorguBaşarılı Yanıt
'ACTION'=>'SESSIONTOKEN',
'APIKEY'=>'APIKEY', // Shopinext API Key - Test Ortamında Gerekmez
'SNID'=>'shopitest@shopinext.com', // Shopinext Mail Adresiniz - Test Ortamı Kullanıcı Adı
'SNPASS'=>'shopitest', // Shopinext Şifreniz - Test Ortamı Şifre
'PRICE'=>1499.99, // İşlem Tutarı - Kuruş aralığında nokta olmalı, virgül ile ayrılan kısım dahil olmaz. - Maks. 30 Karakter
'RETURNURL'=>'http://localhost/returnurl.php', // Geri Dönüş Sayfası - Maks. 256 Karakter 
'CUSTOMERNAME'=>'Shopi Next', // Alıcı Adı Soyadı - Maks. 30 Karakter
'CUSTOMEREMAIL'=>'alici@gmail.com', // Alıcı Mail Adresi - Maks. 64 Karakter
'CUSTOMERIP'=>'11.111.11.111', // Alıcı IP Adresi
'CUSTOMERUSERAGENT'=>$_SERVER['HTTP_USER_AGENT'],  - Maks. 512 Karakter 
'CUSTOMERPHONE'=>'5557774422', // Alıcı Telefon Numarası - Maks. 64 Karakter 
'BILLTOADDRESSLINE'=>'İstanbul Kadıköy', // Fatura Adresi - Maks. 255 Karakter 
'BILLTOCITY'=>'İstanbul', // Fatura Şehir - Maks. 32 Karakter 
'BILLTOCOUNTRY'=>'Türkiye', // Fatura Ülke - Maks. 32 Karakter 
'BILLTOPOSTALCODE'=>'34000', // Posta Kodu - Maks. 16 Karakter 
'BILLTOPHONE'=>'5557774422', // Fatura Telefon Numarası - Maks. 64 Karakter
'SHIPTOADDRESSLINE'=>'İstanbul Kadıköy', // Alıcı Adresi - Maks. 255 Karakter 
'SHIPTOCITY'=>'İstanbul', // Alıcı Şehir - Maks. 32 Karakter 
'SHIPTOCOUNTRY'=>'Türkiye', // Alıcı Ülke  - Maks. 32 Karakter
'SHIPTOPOSTALCODE'=>'34000', // Posta Kodu  - Maks. 16 Karakter
'SHIPTOPHONE' =>'5557774422', // Alıcı Telefon Numarası - Maks. 64 Karakter 
'ORDERNOTE' =>'A isimli üründen satın alındı.' //İşleme ait ek bilgi eklemek istediğinizde buraya ekleyebilirsiniz, sipariş detay sayfasında görünecektir.

[responseCode] => 00
[sessionToken] => O27UELANPFKSAF69WOURRNV7EU6FH5VTPJIMRBA2
[responseMsg] => Başarılı


Örnek Başarısız Yanıt
[errorCode] => ERR001
[responseCode] => 99
[errorMsg] => Geçersiz mağaza bilgisi
[responseMsg] => Reddedildi


Örnek Satış İşlemi

Oluşturduğunuz SESSIONTOKEN ile birlikte (SESSIONTOKEN Oluşturma) "https://www.shopinext.com/sale3d/SESSIONTOKEN" adresine POST olarak kart detaylarını göndermelisiniz.

Örnek HTML form kullanımı

<form action="https://www.shopinext.com/sale3d/SESSIONTOKEN" method="post">
    <input type="text" name="name" placeholder="Kart Üzerindeki Ad Soyad" autocomplete="off" maxlength="32" />
    <input type="text" name="number" placeholder="Kart Numarası" autocomplete="off" maxlength="19" />
    <input type="text" name="month" placeholder="Ay" />
    <input type="text" name="year" placeholder="Yıl" />
    <input type="text" type="input" name="cvv" placeholder="CVV" autocomplete="off" maxlength="4" />
    <!-- Taksit bölümünü göndermeyebilirsiniz. Göndermediğiniz takdirde peşin işlem yapacaktır. -->
    <input type="text" name="installment" placeholder="Taksit Sayısı" />
    <!-- Taksit bölümünü göndermeyebilirsiniz. Göndermediğiniz takdirde peşin işlem yapacaktır. -->
    <button type="submit">Gönder</button>
</form>
Başarılı İşlem Sonrası Dönüş URL'sine Dönecek Veri
[responseCode] => 00
[sessionToken] => OVK6NA59M8DTDJMAAG756HVRV4KCPRU632L0RMN8 // Başarılı sonuçlanan  SESSIONTOKEN
[orderID] => SN1W2NSH4FDF // Shopinext tarafından oluşturulmuş özel sipariş kodu
[responseMsg] => Başarılı
Başarısız İşlem Sonrası Dönüş URL'sine Dönecek Veri
[errorCode] => ERR011
[responseCode] => 99
[sessionToken] => L3S1RN38SJR251OOBBVMAGBGHSJ59HNEFAVAPQIB // Başarısız sonuçlanan SESSIONTOKEN
[errorMsg] => Üye iş yeri tarafından desteklenmeyen taksit sayısı belirtilmiştir. // Başarısız sonuçlanma sebebi
[responseMsg] => Reddedildi


Satış İşlemini Doğrulama (v1.1 ile 24 Haziran 2020 eklenmiştir.)

Başarılı işlem sonrası dönen SESSIONTOKEN'ı "https://www.shopinext.com/api/v1" adresine POST olarak göndererek o Session Token ile başlanan işlem başarılı bir şekilde tamamlanmış mı kontrol edebilirsiniz. Etmeniz kesinlikle önerilir. Örnek kodlara da ilgili bölüm eklenmiştir.

POST Adresi: https://www.shopinext.com/api/v1

Gönderilen SorguBaşarılı Yanıt
'ACTION'=>'ISDONE',
'SESID'=>$_POST['sessionToken'] // Başarılı işlem sonrası dönen Token
[responseCode] => 00
[sessionToken] => O27UELANPFKSAF69WOURRNV7EU6FH5VTPJIMRBA2
[responseMsg] => Başarılı


Örnek Başarısız Yanıt
[responseCode] => 99 
[sessionToken] => O27UELANPFKSAF69WOURRNV7EU6FH5VTPJIMRBA2
[responseMsg] => Bu SESSION ile sonlanmış bir sipariş mevcut değil.


Kur Alma 

Mağaza varsayılan satış kuruna göre farklı birimlerde satacağınız fiyat kuru.

Örneğin; 

Mağaza satış biriminiz USD ise ve CURRENCY ile TRY gönderirseniz TRY biriminin USD karşısında değeri dönecektir.

POST Adresi: https://www.shopinext.com/api/v1

Gönderilen SorguBaşarılı Yanıt
'ACTION'=>'CURRENCY',
'APIKEY'=>'APIKEY',
'SNID'=>'shopitest@shopinext.com', // Shopinext Mail Adresiniz
'SNPASS'=>'shopitest', // Shopinext Şifreniz
'CURRENCY'=>'USD' // Kur bilgisini almak isteğiniz para birimi (USD, EUR, TRY)


[amount] => 6.83

Örnek Başarısız Yanıt
[errorMsg] => Belirtilen kur bulunamadı!

Örnek PHP kodlarını indirmek için tıklayınız.

Session ve HTML form örneği
<?php
function GetSession() {
    $data = array(
        'ACTION'=>'SESSIONTOKEN',
        'APIKEY'=>'APIKEY', // Shopinext API Key - Test Ortamında Gerekmez
        'SNID'=>'shopitest@shopinext.com', // Shopinext Mail Adresiniz - Test Ortamı Kullanıcı Adı
        'SNPASS'=>'shopitest', // Shopinext Şifreniz - Test Ortamı Şifre
        'PRICE'=>1499.99, // İşlem Tutarı - Kuruş aralığında nokta olmalı, virgül ile ayrılan kısım dahil olmaz.
        'RETURNURL'=>'http://localhost/returnurl.php', // Geri Dönüş Sayfası
        'CUSTOMERNAME'=>'Shopi Next', // Alıcı Adı Soyadı
        'CUSTOMEREMAIL'=>'alici@gmail.com', // Alıcı Mail Adresi
        'CUSTOMERIP'=>'11.111.11.111', // Alıcı IP Adresi
        'CUSTOMERUSERAGENT'=>$_SERVER['HTTP_USER_AGENT'],
        'CUSTOMERPHONE'=>'5557774422', // Alıcı Telefon Numarası
        'BILLTOADDRESSLINE'=>'İstanbul Kadıköy', // Fatura Adresi
        'BILLTOCITY'=>'İstanbul', // Fatura Şehir
        'BILLTOCOUNTRY'=>'Türkiye',
        'BILLTOPOSTALCODE'=>'34000', // Posta Kodu
        'BILLTOPHONE'=>'5557774422', // Fatura Telefon Numarası
        'SHIPTOADDRESSLINE'=>'İstanbul Kadıköy', // Alıcı Adresi
        'SHIPTOCITY'=>'İstanbul', // Alıcı Şehir
        'SHIPTOCOUNTRY'=>'Türkiye',
        'SHIPTOPOSTALCODE'=>'34000', // Posta Kodu
        'SHIPTOPHONE' =>'5557774422'
    );
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.shopinext.com/api/v1");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1) ;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    $result = json_decode(curl_exec($ch));
    if(curl_errno($ch))
        die("Bağlantı hatası. err:".curl_error($ch));
    curl_close($ch);    
    return $result;
}
$session = GetSession();
if(isset($session->sessionToken)) {
    /** Bu kısımda sessiontokeni veritabanına kaydederek dönüş sonrasında işlem yapabilirsiniz. **/
} else {
    echo $session->errorMsg;
    die;
}
?>
<form action="https://www.shopinext.com/sale3d/<?=(isset($session->sessionToken))?$session->sessionToken:''?>" method="post">
    <input type="text" name="name" placeholder="Kart Üzerindeki Ad Soyad" autocomplete="off" maxlength="32" />
    <input type="text" name="number" placeholder="Kart Numarası" autocomplete="off" maxlength="19" />
    <input type="text" name="month" placeholder="Ay" minlength="2" maxlength="2" />
    <input type="text" name="year" placeholder="Yıl" minlength="4" maxlength="4" />
    <input type="text" type="input" name="cvv" placeholder="CVV" autocomplete="off" maxlength="4" />
     <!-- Taksit bölümünü göndermeyebilirsiniz. Göndermediğiniz takdirde peşin işlem yapacaktır. -->
    <input type="text" name="installment" placeholder="Taksit Sayısı" />
     <!-- Taksit bölümünü göndermeyebilirsiniz. Göndermediğiniz takdirde peşin işlem yapacaktır. -->
    <button type="submit">Gönder</button>
</form>
Geri dönüş sayfa örneği
<?php 

function sessiondogrula($token) {
        $data = array(
            'ACTION'=>'ISDONE',
            'SESID'=>$token
        );  
        $ch=curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://www.shopinext.com/api/v1");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1) ;
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 20);
        $result = json_decode(curl_exec($ch));
        if(curl_errno($ch))
            die("Bağlantı hatası. err:".curl_error($ch));
        curl_close($ch);
        return $result;
}

if(isset($_POST['responseCode']) && $_POST['responseCode'] == 00) {

    
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
   
    /**
        [responseCode] => 00
        [sessionToken] => OVK6NA59M8DTDJMAAG756HVRV4KCPRU632L0RMN8 // Başarılı sonuçlanan SESSIONTOKEN
        [orderID] => SN1W2NSH4FDF // Shopinext tarafından oluşturulmuş özel sipariş kodu
        [responseMsg] => Başarılı
    **/

    $token = $_POST['sessionToken'] ;
    $session =  sessiondogrula($token);  
    if(isset($session->responseCode) && $session->responseCode == 00 ) {
        echo 'Ödemeniz alındı teşekkürler.';
    } else {
        echo $session->responseMsg;
        die;
    /** Bu kısımda dönen sessionToken verisi ile veritabanındaki işlemi iptal edebilir veya başarısız sonuçlandırabilirsiniz. **/
    }
} elseif(isset($_POST['responseCode']) && $_POST['responseCode'] == 99) {
    /** Bu kısımda dönen sessionToken verisi ile veritabanındaki işlemi iptal edebilir veya başarısız sonuçlandırabilirsiniz. **/
    echo $_POST['errorMsg'];
}
BankaKart NumarasıS.K.TCVV3D Şifre
AKBANK-MASTER
5571135571135575
12/2030
000a
TEB-VISA
4402934402934406
12/2030
000a
TEB-MASTER
5101385101385104
12/2030
000a

WooCommerce Wordpress Ödeme Modülü

WooCommerce, WordPress'in özgür ve açık kaynak kod kaynaklı E-Ticaret eklentisidir. WooThemes tarafından yapılan ve Automattic tarafından geliştirilen eklenti, kolaylıkla tüm Wordpress kullanıcıları tarafından yönetilebilmektedir. Responsive özelliği bulunan birçok tema seçeneğine sahip WooCommerce ile müşterileriniz hem cep telefonlarından hem de bilgisayarlarından problem yaşamadan e-ticaret sitenizi ziyaret edebilir. Shopinext olarak WooCommerce kullanıcıları'nın Shopinext hesaplarını bir sanal pos gibi kullanabilmelerini sağlayan kolay kurulumlu bir modül geliştirdik.


Shopinext için hazırlanan WooCommerce Ödeme Modülü'nü kullanarak Shopinext'i sitenize kolaylıkla entegre edebilirsiniz. Shopinext modülünün kurulumu oldukça kolay ve hızlıdır. Kurulumu gerçekleştirmeniz için gereken adımları aşağıda listeledik. 



  1. Shopinext hesabınıza giriş yapınız. Shopinext hesabınız yoksa buraya tıklayarak hesabınızı oluşturabilirsiniz.

  2. Shopinext paneli üzerinden API Ayarları bölümünden API başvurunuzu gerçekleştirin. Başvurunuz en kısa sürede değerlendirilecektir, onay aldığınızda E-posta aracılığıyla size bilgi verilecektir. API anahtarınızı ve kullanıcı bilgilerinizi güvenli bir yere kaydedin.

  3. Buraya tıklayarak Shopinext eklentisini indirin. Shopinext eklentisi en son 23 Şubat 2021 tarihinde güncellenmiştir ve versiyonu 1.1’dır. En güncel eklentiyi kullanmanız hem güvenlik hem de özellik açısından önemlidir.

  4. Web sitenizi ve veritabanınızı olası problemlere karşı yedekleyin.

  5. Shopinext eklentisini zip olarak Wordpress panelinizdeki Eklentiler bölümünden Yeni Yükle kısmını kullanarak direk yükleyebilirsiniz. Otomatik yüklemelerde sıkıntı yaşıyorsanız zip içindeki tüm dosyaları wordpress dizininizde yer alan wp-content/plugins dizininize kopyalayınız ve Wordpress panelinizdeki Eklentiler bölümünde Shopinext eklentisini bulun ve eklentiyi kurun.

  6. WooCommerce ayarlarından Ödemeler sekmesinden Shopinext ödeme yönteminin ayarlarına giriniz ve Shopinext API anahtarınız, kullanıcı adınız ve şifrenizi ilgili alanlara giriniz.

  7. WooCommerce ayarlarından Ödemeler sekmesinde yer alan Shopinext ödeme yönteminin aktif olarak işaretlendiğinden emin olunuz. Artık Shopinext hesabınızı kullanarak internet siteniz üzerinden tüm ödemeleri alabileceksiniz.


Uyarılar ve Notlar


  • Shopinext Api V1.1’i kullanmakta olduğundan bazı özellikleri sınırlandırılmıştır. Kısıtlı özellikler şu şekilde listelenebilir:

    • Api V1.1’deki uçlarda taksitli alışveriş yer almaktadır; ancak taksitli alışverişte çekilen tutar WooCommerce’e gönderilmediğinden ötürü uyumsuzluklar yaşanabilmektedir. Faturalandırma işlemlerinizi Shopinext panelini kullanarak gerçekleştirecekseniz Api V1.1 dökümantasyonunda yer alan örnek kodlarda taksitle ilgili bölümü alıp wp-content/plugins/shopinext/shopinext.php klasöründe formun ilgili bölümüne ekleyerek taksitli satışı aktif edebilirsiniz; ancak yeni Api versiyonu çıkana kadar bu satış türü önerilmemektedir.

  • Kredi kartı bilgilerinin girildiği formu sitenize uygun tasarlamanız mümkündür. wp-content/plugins/shopinext/shopinext.php dosyasındaki forma çeşitli CSS özellikleri tanımlayarak kredi kartı bilgilerinin girileceği formu kendi sitenize uygun şekilde tasarlayabilirsiniz.


1- Zip içerisindeki dosyaları Opencart dosyalarının bulunduğu ana dizine yükleyin.
2- Opencart admin paneline girerek Eklentiler->Eklentiler bölümüne girin.
3- Eklenti türünü seçme bölümünden Ödeme Methodlarını seçin
4- Shopinext Sanal Pos Modülü'nü bularak Kur butonuna tıklayın.
5- Düzenle diyerek ayar bölümüne girin.
6- Gerekli bilgileri doldurduktan sonra Durum'u Aktif yaparak kaydedin.

Yaşadığınız hata ve sorunları https://www.shopinext.com/panel/iletisim üzerinden bize iletebilirsiniz.

Eksik versiyonlar için çalışmalarımız sürmektedir.


VersiyonModül
Opencart
3.0.xİndir
Opencart
2.3.xİndir
Opencart
2.0.x
İndir

Mağaza Kuru 

Mağazanın varsayılan satış kurunu sorgulayabilirsiniz.

POST Adresi: https://www.shopinext.com/api/v1

Gönderilen SorguBaşarılı Yanıt
'ACTION'=>'ALLOWCURRENCY',
'APIKEY'=>'APIKEY',
'SNID'=>'shopitest@shopinext.com', // Shopinext Mail Adresiniz
'SNPASS'=>'shopitest', // Shopinext Şifreniz


[currency] => USD

İşlem Kontrolü

Başarılı veya başarısız yanıt almayan işlemin durumunu SESSIONTOKEN ile kontrol edebilirsiniz.

POST Adresi: https://www.shopinext.com/api/v1

Gönderilen SorguBaşarılı Yanıt
'ACTION'=>'ISDONE',
'SESID'=>'SESSIONTOKEN' // İşlem için oluşturulmuş SESSIONTOKEN


[responseCode] => 00
[sessionToken] => SESSIONTOKEN // Gönderilen SESSIONTOKEN
[responseMsg] => Başarılı
Başarısız Yanıt
[responseCode] => 99
[sessionToken] => SESSIONTOKEN // Gönderilen SESSIONTOKEN
[responseMsg] => Bu SESSION ile sonlanmış bir sipariş mevcut değil.

Yaşadığınız hata ve sorunları Destek Merkezi üzerinden bize iletebilirsiniz.

Modülü İndir