Shopinext bu dökümanı özel geliştirilmiş sistemlerin ödeme hizmetini kullanabilmesi için geliştirmeyi yapan teknik personel için hazırlamıştır.
Shopinext olarak yenilikçi bir iş modeli ile, online satış süreçlerinde hem alıcılar hem de mağaza sahipleri için sorun teşkil eden komisyon ve kargo bedeli gibi etkenlerin sürece olan etkisini minimum seviyeye düşürmeyi hedefliyoruz.
Markamızı ulusal ve uluslararası pazarda büyüterek, Shopinext’i elektronik ticaret sektöründe güvenilir ve itibarlı bir konuma taşımak istiyoruz. Yöntemlerimizi güncel teknolojiler ile sürekli geliştirerek, uluslararası pazarda ülkemizi en iyi şekilde temsil eden markalar arasında yer almayı amaçlıyoruz.
Markamızı ulusal ve uluslararası pazarda büyüterek, Shopinext’i elektronik ticaret sektöründe güvenilir ve itibarlı bir konuma taşımak istiyoruz. Yöntemlerimizi güncel teknolojiler ile sürekli geliştirerek, uluslararası pazarda ülkemizi en iyi şekilde temsil eden markalar arasında yer almayı amaçlıyoruz.
API desteği, HTTP Post yöntemlerini uygulayan tüm platformları ve dilleri desteklemektedir.
Shopinext sorgu cevapları JSON formatında gönderilir. Cevapları işleyebilmek için JSON ayrıştırma araçları kullanabilirsiniz.
snid: 'Shopinext ID' // API Bilgi sayfası üzerinden erişebilirsiniz.
apikey: 'Api Anahtarı' // API Bilgi sayfası üzerinden erişebilirsiniz.
secret: 'Gizli Anahtar' // API Bilgi sayfası üzerinden erişebilirsiniz.
salt: 'Benzersiz Değer' // Her işleme özel oluşturulmuş anahtar Salt Oluşturma sayfası üzerinden erişebilirsiniz.
"Authorization: Bearer" değeri yukarıda belirtilen değerler ve Doğrulama sayfasındaki formül ile oluşturularak her oturum için HTTP headers ile gönderilmelidir.
İşlem sırasında alabileceğin hata kodları ve detayları aşağıda yer almaktadır.
SN0001 Api Anahtarı veya Gizli Anahtar hatalı, lütfen kontrol edin. SN0002 Shopinext hesabınız aktif değil, lütfen Shopinext yönetimi ile irtibata geçin. SN0003 Shopinext ID bilgisi hatalı, lütfen kontrol edin. SN0004 Sanal posunuz aktif değil, lütfen Shopinext paneli üzerinden kontrol edin. SN0005 Yetkisiz url üzerinden işlem yapılamaz, lütfen kontrol edin. SN0006 Bearer yetki kodu bulunamadı. SN0007 Bearer yetki kodu doğrulanamadı. SN0008 Gönderilen tutar ile sepetteki ürünlerin tutarı eşleşmemektedir, lütfen kontrol edin. SN0009 İşlem Shopinext tarafına kaydedilemedi, lütfen Shopinext yönetimi ile irtibata geçin. SN0010 Eksik veya hatalı alan gönderdiniz, lütfen kontrol edin. SN0011 Bu tokene ait işlem bulunamadı, lütfen kontrol edin. SN0012 İşlem doğrulama kodu hatalı, lütfen kontrol edin. SN0013 İşlem doğrulama kodu doğrulanamadı, lütfen tekrar deneyin. SN0014 Seçilen taksit mağaza taksit limitinden daha fazla, lütfen Shopinext yönetimi ile irtibata geçin. SN0015 Seçilen taksit bulunamadı, lütfen Shopinext yönetimi ile irtibata geçin. SN0016 Mağazanın yurtdışı yetkisi bulunmamaktadır, lütfen Shopinext yönetimi ile irtibata geçin. SN0017 Mağazanın özel kart yetkisi bulunmamaktadır, lütfen Shopinext yönetimi ile irtibata geçin. SN0018 Son kullanma tarihi hatalı, lütfen kontrol edin. SN0019 Mağazanın ödeme limiti bu işlem için yeterli değildir, lütfen mağaza ile irtibata geçin. SN0020 Ödeme işleme alınırken sorun oluştu. Lütfen daha sonra tekrar deneyin. SN0021 Ödeme güvenlik nedeniyle başarısız sonuçlandı, lütfen işlemi tekrar deneyin. SN0022 İşlem bulunamadı, lütfen tekrar deneyin. SN0023 Banka tarafından gönderilen hata mesajı. SN0024 [siparis_no] numaralı işlem bulunamadı. Lütfen kontrol edin. SN0025 [siparis_no] numaralı işlemin tutarı iade tutarından düşüktür, bu durum kur farkından yaşanıyor olabilir. Lütfen Shopinext ile iletişime geçin. İade edebileceğiniz tutar: [tutar] [kur] İade edilmek istenen tutar: [tutar] [kur] SN0026 Hesabınızın iade için yeterli bakiyesi bulunmamaktadır. Lütfen Shopinext ile iletişime geçin. İade edebileceğiniz tutar: [tutar] [kur] İade edilmek istenen tutar: [tutar] [kur] SN0027 [siparis_no] numaralı işlem iade edilemedi, lütfen tekrar deneyin. Sorun devam ederse Shopinext ile iletişime geçin. Hata: [hata_mesaji] SN0028 [siparis_no] numaralı işlemi gün sonu olmadan kısmi iade edemezsiniz, gün sonu alındıktan sonra lütfen tekrar deneyin.
snid: 'Shopinext ID' // API Bilgi sayfası üzerinden erişebilirsiniz.
apikey: 'Api Anahtarı' // API Bilgi sayfası üzerinden erişebilirsiniz.
secret: 'Gizli Anahtar' // API Bilgi sayfası üzerinden erişebilirsiniz.
salt: 'Benzersiz Değer' // Her işleme özel oluşturulmuş anahtar Salt Oluşturma sayfası üzerinden erişebilirsiniz.
"Authorization: Bearer" değeri yukarıda belirtilen değerler ve Doğrulama sayfasındaki formül ile oluşturularak her oturum için HTTP headers ile gönderilmelidir.
Salt değeri oturumun şifrelemesini en güvenli hale getirmek için benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Salt değeri sabit gönderilebilir fakat sabit gönderilmesi önerilmez. Oturum esnasında rastgele oluşturulması önerilir.
Bearer değeri Shopinext API sorguları için oluşturulan her oturum için özel oluşturulmalıdır. Oluşturulan Authorization Bearer değeri HTTP Headers alanında gönderilmelidir.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez.
snid: 'Shopinext ID' // API Bilgi sayfası üzerinden erişebilirsiniz.
apikey: 'Api Anahtarı' // API Bilgi sayfası üzerinden erişebilirsiniz.
secret: 'Gizli Anahtar' // API Bilgi sayfası üzerinden erişebilirsiniz.
salt: 'Benzersiz Değer' // Her işleme özel oluşturulmuş anahtar Salt Oluşturma sayfası üzerinden erişebilirsiniz.
Shopinext tarafına göndereceğiniz sorgularda zorunlu olarak gönderilmesi gereken HTTP Header Parametreleri bulunmaktadır.
X-Forwarded-For Gerekli Bu alanda kullanıcınızın IP adresini göndermelisiniz. REMOTE_ADDR Gerekli Bu alanda kullanıcınızın IP adresini göndermelisiniz. HTTP_X_FORWARDED_FOR Gerekli Bu alanda kullanıcınızın IP adresini göndermelisiniz. Authorization Gerekli Bearer Oluşturma sayfası üzerinden örnek bearer oluşturma methoduna erişebilirsiniz. Bearer değeri oturuma özel benzersiz olarak oluşturulmaktadır. User-Agent Gerekli Bu alanda kullanıcınızın User Agent (Kullanıcı Aracısı) değerini göndermelisiniz. Referer Gerekli Bu alanda sorgunun gönderildiği tam adresi göndermelisiniz.
Ödeme formu için istek gönderilmeden önce gönderilecek işleme ait token oluşturulmalıdır. Bu token kullanılarak ödeme formu alınabilir. Her tokenin oturum süresi 30 dakikadır ve tek sefer kullanılabilir.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez. customerName Gerekli Siparişi veren kişinin adı ve soyadı bu alanda gönderilmelidir. Bu alan maksimum 128 karakter gönderilebilir. customerMail Gerekli Siparişi veren kişinin mail adresi bu alanda gönderilmelidir. Bu alan maksimum 64 karakter gönderilebilir. customerPhone Gerekli Siparişi veren kişinin telefon numarası bu alanda gönderilmelidir. Bu alan maksimum 64 karakter gönderilebilir. cart Gerekli Bu alanı nasıl oluşturacağınıza dair bilgiye Sepet Oluşturma sayfasından erişebilirsiniz. price Gerekli Sipariş tutarı bu alanda gönderilmelidir. Bu alan sayı olarak gönderilebilir. Virgül kullanılmamalıdır. currency Gerekli Sipariş para birimi bu alanda gönderilmelidir. Bu alan TRY, USD, EUR, GBP gönderilebilir. Gönderilen birim hesabınıza tanımlı olmadığı takdirde tanımlı kura göre çevrimi yapılarak tahsis edilir. return Gerekli Sipariş sonucunun gönderileceği sayfa bu alanda gönderilmelidir. shipCode Gerekli true yada false olarak gönderilebilir. True gönderildiğinde Kargo Kodu parametreleri zorunludur.
$data = array(
'snid' => 'Shopinext ID',
'apikey' => 'Api Anahtarı',
'secret' => 'Secret Anahtarı',
'salt' => 'Oluşturulan Salt Değeri',
'customerName' => 'Shopinext Test',
'customerMail' => 'it@shopinext.com',
'customerPhone' => '08503057717',
'cart' => array(
array(
'name' => 'Shopinext Entegrasyon Hizmeti',
'price' => 2.75,
'quantity' => 3
),
array(
'name' => 'Shopinext Ürün Hizmeti',
'price' => 10,
'quantity' => 1
),
array(
'name' => 'Kargo Ücreti',
'price' => 15,
'quantity' => 1
)
),
'price' => 33.25,
'currency' => 'TRY',
'return' => 'https://www.shopinext.com/api/v2/payment'
);
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$ch = curl_init('https://www.shopinext.com/api/v2/createToken');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, $actual_link);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer {Oluşturulan Bearer Hash Değeri}'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($this->data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$output = curl_exec($ch);
$output = json_decode($output);
curl_close($ch);
stdClass Object
(
[responseCode] => 00
[responseMsg] => Başarılı!
[sessionToken] => A40R1KBRGVTZIYGFKY8EDI03WIAVHRZ1CW92BXC09SB2MB5SGH
[orderId] => SNT44BOZQYAIM
)
Token Oluşturma aşamasında gönderilen cart değerinin tanımlanması hakkında bilgi edinebilirsiniz.
Token Oluşturma aşamasında gönderilen shipCode değerinin tanımlanması hakkında bilgi edinebilirsiniz. Kargo kodu sistemi sipariş sonrası hesabınızda tanımladığınız kargo firması üzerinden kargo kodu oluşturarak dönüş yapmasını sağlar.
Oluşturulan kargo kodu ödeme sonrası cargoCode değeri ile geri dönmektedir.
shipCode Gerekli true yada false olarak gönderilebilir. True gönderildiğinde kargo kodu diğer parametreler ile oluşturularak gönderilir. customerCountry Gerekli Ülke kodu gönderilmelidir. Eğer ülke kodu Shopinext sisteminde bulunamazsa ödeme aşamasında eksik alanların seçimi yapılır. Örneğin Azerbaijan => AZ, Australia => AU vb. customerCity Gerekli Şehir adı tam ve doğru şekilde gönderilmelidir. Eğer şehir adı Shopinext sisteminde bulunamazsa ödeme aşamasında eksik alanların seçimi yapılır. customerTown Gerekli İlçe adı tam ve doğru şekilde gönderilmelidir. Eğer ilçe adı Shopinext sisteminde bulunamazsa ödeme aşamasında eksik alanların seçimi yapılır. customerAddress Gerekli Adres bilgisi tam ve doğru şekilde gönderilmelidir. Ödeme aşamasında adres düzenlenebilir olacaktır.
$data = array(
'snid' => 'Shopinext ID',
'apikey' => 'Api Anahtarı',
'secret' => 'Secret Anahtarı',
'salt' => 'Oluşturulan Salt Değeri',
'customerName' => 'Shopinext Test',
'customerMail' => 'it@shopinext.com',
'customerPhone' => '08503057717',
'cart' => array(
array(
'name' => 'Shopinext Entegrasyon Hizmeti',
'price' => 2.75,
'quantity' => 3
),
array(
'name' => 'Shopinext Ürün Hizmeti',
'price' => 10,
'quantity' => 1
),
array(
'name' => 'Kargo Ücreti',
'price' => 15,
'quantity' => 1
)
),
'price' => 33.25,
'currency' => 'TRY',
'shipCode' => true,
'customerCountry' => 'TR',
'customerCity' => 'İstanbul',
'customerTown' => 'Maltepe',
'customerAddress' => 'İdealtepe, Dik Sk. 13/2, 34841',
'return' => 'https://www.shopinext.com/api/v2/payment'
);
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$ch = curl_init('https://www.shopinext.com/api/v2/createToken');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, $actual_link);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer {Oluşturulan Bearer Hash Değeri}'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($this->data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 90);
$output = curl_exec($ch);
$output = json_decode($output);
curl_close($ch);
stdClass Object
(
[responseCode] => 00
[responseMsg] => Başarılı!
[sessionToken] => FIGD3E2D1MHTE5MZT487HGZ4DQYDXECFFIHVB6MOGGTQ0WODWV
[orderId] => SNTGH8RIMVCG4
)
Token Oluşturma aşaması ile oluşturulmuş siparişe özel tokeni kullanarak ödeme formunu alabilirsiniz. Ödeme formu iFrame yapısında gönderilmektedir ve her tasarıma uyum sağlayan responsive yapıya sahiptir. Yapılan ödeme sonrası işlemin Shopinext tarafında başarılı olup olmadığını İşlem Doğrulama ile mutlaka kontrol edin. 30 dakika içerisinde kontrol edilmeyen işlemler otomatik kontrole kapatılır.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez. sessionToken Gerekli Token Oluşturma aşaması ile oluşturulan sessionToken değeri bu alanda gönderilmelidir.
Yapılan ödeme sonrası işlemin Shopinext tarafında başarılı olup olmadığını mutlaka kontrol edin. Sipariş orderId bilgisi ile işlemin Shopinext tarafındaki Sale durumunu teyit ederek başarılı durumuna aktarın. Her sipariş için sadece 1 defa İşlem Doğrulama sorgusu gönderebilirsiniz.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez. orderId Gerekli Sorgulanacak işleme ait Shopinext sipariş numarası bu alanda gönderilmelidir.
Sipariş orderId bilgisi ile işlemin detaylarını sorgulayabilirsiniz.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez. orderId Gerekli Sorgulanacak işleme ait Shopinext sipariş numarası bu alanda gönderilmelidir.
Shopinext hesabınıza tanımlı taksit ve komisyon bilgileri hakkında bilgi edinebilirsiniz.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez.
Shopinext hesabınıza tanımlı ürün ve komisyon bilgileri hakkında bilgi edinebilirsiniz.
snid Gerekli API Bilgi sayfası üzerinden Shopinext ID bilginize erişebilirsiniz. apikey Gerekli API Bilgi sayfası üzerinden API Anahtarı bilginize erişebilirsiniz. secret Gerekli API Bilgi sayfası üzerinden Gizli Anahtar bilginize erişebilirsiniz. salt Gerekli Salt Oluşturma sayfası üzerinden örnek salt oluşturma methoduna erişebilirsiniz. Salt değeri oturuma özel benzersiz olarak tarafınızdan belirlenebilecek bir değerdir. Sabit gönderilebilir fakat sabit gönderilmesi önerilmez.