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. |
ERR003 | Hatalı 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. |
ERR006 | SESSIONTOKEN oluşturulurken hata oluştu. - Shopinext Yönetimi ile irtibata geçin. |
ERR007 | Yetkisiz URL üzerinden işlem yapamazsınız. - API Başvurusu onaylanan URL üzerinden işlem gönderin. |
ERR008 | Aktif API başvurunuz bulunmamaktadır. - API Başvurunuzun aktif olduğundan emin olun. |
ERR009 | Aktif 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. |
ERR012 | Mağ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. |
ERR014 | Kayı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 Sorgu | Baş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 Sorgu | Baş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 Sorgu | Baş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']; } |
Banka | Kart Numarası | S.K.T | CVV | 3D Şifre |
---|---|---|---|---|
AKBANK-MASTER | 5571135571135575 | 12/2030 | 000 | a |
TEB-VISA | 4402934402934406 | 12/2030 | 000 | a |
TEB-MASTER | 5101385101385104 | 12/2030 | 000 | a |
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.
Shopinext hesabınıza giriş yapınız. Shopinext hesabınız yoksa buraya tıklayarak hesabınızı oluşturabilirsiniz.
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.
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.
Web sitenizi ve veritabanınızı olası problemlere karşı yedekleyin.
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.
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.
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.
Versiyon | Modü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 Sorgu | Baş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 Sorgu | Baş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.