Garanti Sanal POS, internet üzerinden yapılan satışlarda kredi kartı ile ödeme alınabilmesi için oluşturulan güvenli bir ödeme çözümüdür.
Üye işyerleri, mağazalarında internet üzerinde bir şube açıp, Garanti Sanal POS ile, onu hiç kapanmayan bir satış platformu haline gelebilir. Böylece hem müşteri sayıları, hem de cironun artırılmasına katkı sağlanır.
Garanti Sanal POS altında genel olarak aşağıdaki işlemler gerçekleştirilmektedir:
Bu doküman içerisinde, üye işyerlerinin Garanti Sanal POS altında 3D’siz Ek Alan işlemlerinin sağlanabilmesi için gerekli olan adımlar, her bir adım içerisinde yapılması gereken işlemler ve gönderilen işlem istekleri ve alınan cevap mesajlarının yapıları anlatılmaktadır.
Kurulum dokümanları arasında yer alan GVPS_XML_Fields.xls isimli dokümanda, işlem istek mesajında olması gereken zorunlu ve opsiyonel (isteğe bağlı) alanlar yer almaktadır. Bu doküman dikkate alınarak, bir işlem için gönderilmesi gereken minimum bilgi istek mesajında ilgili alanlara yazdırılarak Garanti Bankası üzerinden provizyon alması sağlanılabilir. Opsiyonel alanlar sizin sanalpos üzerinde işlem bilgilerini daha sağlıklı takip etmenizi (Kullanıcı bilg. Açıklama vb.) ya da işlemi çeşitlendirmenizi (Taksit, Bonus kullanımı vb) sağlayacak bilgilerdir.
Sanal POS istek yapısı içerisinde, farklı ihtiyaçlata uygun şekilde, farklı ek alanlar ile istek yapısı değiştirilebilir. Aşağıdaki başlıklarda bu ek alanlar ve amaçları hakkında kısaca bilgi verilmiştir.
Adres bilgileri işlem sırasında SanalPoS tarafına gönderilebilir. Gönderilen bilgiler sipariş detay sayfalarından bilgi amaçlı gösterilir.
Satın alma sırasında satılan ürüne ait bilgiler işlemle birlikte sanal posa gönderilebilir. İşlem detaylarında ve ürün rapor sayfalarında bu durumda ürün bilgilerinin görüntülenmesi sağlanır.
İşlem sırasında alınacak bazı özel bilgilerin sanal pos ekranlarında ve sanal postan alınan dokümanlarda gözükmesini sağlayan yapıdır.
Özel alanlardan 1. özel alan Garanti Bankasına yollanılmaktadır. Bu alan banka tarafından alınan raporlarda gösterilir.
İşyeri tanımlarında yapılan değişiklik ile bu alanda gönderilen değerlerin kart dönem içi işlemler ve kart ekstrelerine işyeri adı alanında çıkması sağlanabilir.
Özel alanların kullanımı için işyeri admin kullanıcısının özel alan tanımlarından kullanılacak özel alanları aktif hale getirmesi gereklidir. Aktif edilmeden gönderilen özel alanlar hataya sebep olacaktır. 1 nolu özel alanın banka tarafına gitmesi isteniyorsan banka tarafında gözüksün ibaresi işaretlenmelidir.
Özel alanların listeleme ekranlarında gözükmesi için kullanıcı tarafından özel alan seçim sayfasından seçilmesi gerekmektedir. Seçilen özel alanlar listeleme sayfalarının sağ tarafından birer sütun olarak gözükür.
3D Secure , PoS üzerinde kart sahiplerinin şifre ile doğrulandığı uygulamanın, SanalPoS üzerinde yapılan halidir. Kart sahibi, işlemde şifre kullanması için kart bankasına ait doğrulama ekranlarına yönlendirilir. Kart sahibi bu ekranlar üzerinden bankasının istediği bilgileri girerek, gerçekten kullanılan kartın kendisine ait bir kart olduğunu gösterir.
Doğrulama sonucunda, doğrulama durumu işyeri bankaya (işyerine) döndürülür. Daha sonra 3D bilgilerinin durumuna göre provizyon işleminin gerçekleştirilmesi ya da işlemin sonlandırılması gerçekleştirilir.
3D Secure Master, Visa ve American Express(Amex) kartların desteklediği bir uygulamadır. 3D model (aşağıda işyeri modelleri hakkında bilgi verilmektedir) kullanan işyerlerinin Mastercard, Visa ve Amex dışındaki kartlar için 3D doğrulaması gerçekleştirmeden direk provizyona gelmeleri gerekmektedir. 3D secure desteklenmediği için bu tür işlemlerde Fraud sorumluluğu işyerine aittir. İşyeri kendisini koruyacak önlemleri almalıdır.
Gerçekleşen işlemin provizyon akışı sırasında herhangi bir 3D secure aşamasına değmeden sonuçlanmasıdır. Bu işlem tipinde müşterinin “ben yapmadım” itirazları chargeback talebine dönüşür. İşyerinden işlemin müşteri tarafından yapıldığına yönelik kanıtlar talep edilerek chargeback süreci değerlendirilir. 3D’li işlemlerde başarılı doğrulaması yapılan işlemlerde işlemi “ben yapmadım” talepleri banka tarafında sonlandırılır.
Sanal POS 3D’siz adres ekleme işlemi için gerekli olan istek yapısı aşağıdaki tabloda belirtilmiştir. Tablo içerisinde ilk kolonda yer alan ana tag altında yer alanabilecek her tag için gerekli olan bilgi ve açıklamalar incelenmeli ve istek mesajı bu tabloda belirtilen kurallara göre sağlanmalıdır:
Bu yapı içerisinde birçok etiket kendi içerisinde alt etiketleri içermektedir. Her bir etiketin anlatıldığı ilgili başlık altında, alt etiketi olmayan etiketlerin kullanım kuralları ve alt etiketi olan etiketlerin de detayları ayrı başlık halinde verilerek sunulmaktadır.
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<Mode> | PROD | İşlem modunun yazıldığı alandır | |
<Version> | 16 byte | Format zorunluluğu yok | Kullanılan Api versiyonunun yazıldığı alandır. Sha512 oalrak hash hesaplanması kapsamında bu alanda 512 değerinin gönderilmesi gereklidir. |
<Terminal> | Bu etiket içerisinde alt etiketler yer alır. İçerdiği etiketler ve kuralları devam eden başlıklarda verilmiştir. | ||
<Customer> | Bu etiket içerisinde alt etiketler yer alır. İçerdiği etiketler ve kuralları devam eden başlıklarda verilmiştir. | ||
<Order> | Bu etiket içerisinde alt etiketler yer alır. İçerdiği etiketler ve kuralları devam eden başlıklarda verilmiştir. | ||
<Transaction> | Bu etiket içerisinde alt etiketler yer alır. İçerdiği etiketler ve kuralları devam eden başlıklarda verilmiştir. |
Sanal pos doğrulamasının sağlanması için sanal pos numarası kullanıcı bilgisi gibi parametreler yollanılır.
Bu etiket içerisinde yer alan alt etiketler ve detayları aşağıda verilmiştir:
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<ProvUserID> | 32 byte | Format zorunluluğu yok | Terminale ait provizyon kullanıcı kodunun gönderildiği alandır. Burada Prov kullanıcısı, İptal iade kullanıcısı veya OOS kullanıcısı bulunabilir |
<HashData> | 32 byte | Hash algoritması: SHA512 formatında olacaktır. Hash çevrimi sonrasında küçük harflerin büyük harfe çevrilmesi gerekmektedir. Detayları aşağıda yer almaktadır. | Kullanıcıya ait şifre doğrulamasının yapılmasını sağlanılan alandır. Hash oluşturma detayları bu doküman içerisinde ayrıca anlatılmaktadır. |
<UserID> | Format zorunluluğu yok | İşlemi yapan kullanıcının (Agent - Satış Temsilcisi) yollandığı alandır. | |
<ID> | 9 byte | Nümerik | Terminal numarasının yollandığı alandır |
<MerchatID> | 9 byte | Nümerik | İşyeri numarasının yollandığı alandır. |
Müşteri Bilgilerinin yollanıldığı alandır. Tag içerisinde yer alan bilgilerin yollanılması zorunludur.
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<IPAdress> | 20 byte | Format zorunluluğu yok | İşlemi yapan müşteriye ait IP adresinin yollanıldığı alandır. Fraud kontrollerinin sağlanabilmesi için zorunlu olarak yollanılması gerekmektedir. |
<EmailAddress> | 64 byte | İşlemi yapan müşteriye ait E-Mail adresinin yollanıldığı alandır. |
Kart bilgilerinin yollanıldığı alandır. Bazı işlem tipleri dışında kredi kartı bilgileri zorunlu alandır.
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<Number> | Min: 15 - Max : 19 | Nümerik | Kart numarasının yollanıldığı alandır. |
<ExpireDate> | 4 byte | MMYY (Ay ve Yılın son 2 hanesi) | Karta ait son kullanım tarihinin yollandığı alandır. |
<CVV2> | Min : 3 Max : 4 (Amex) | Nümerik | Karta ait CVV bilgisinin yollanıldığı alandır. |
Siparişe ait bilgilerin ve detayların yollanıldığı alandır.
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<OrderID> | 36 byte | Format zorunluluğu yok | Sipariş Numarasının yollandığı alandır. Sipariş bazlı unique (tek) olmalıdır. Firmalar tarafından üretilmelidir. |
<GroupID> | 36 byte | Format zorunluluğu yok | Siparişleri kategorilendirmek(gruplamak) için kullanılan alandır. Örn : Kampanyalı gönderilen siparişler GroupID ye yazılan bir bilgi ile ayrıştırılabilir. |
<AddressList> | Adres bilgilerinin yollandığı alandır. Teslimat adresi ve fatura adresi olmak üzere iki farklı adres birer kere yollanabilir. |
Adres bilgilerinin yollandığı alandır. Teslimat adresi ve fatura adresi olmak üzere iki farklı adres birer kere yollanabilir.
Alt Etiket | Açıklama ve notlar |
---|---|
<Address> | Bu etiket içerisinde alt etiketler yer alır. İçerdiği etiketler ve kuralları devam eden başlıklarda verilmiştir. |
Fatura ve Teslimat adresi detaylarının yollanması için kullanılır.
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<Type> | 1 | B (Billing) veya S (Shipping) değerlerini alabilir. | Adres tipi bu alanı girilir. B : Billing (Fatura adresi) S : Shipping (Teslimat adresi) |
<Name> | 65 byte | Alfanümerik | Adres bilgisine ait isim bilgisinin girildiği alandır. |
<LastName> | 32 byte | Alfanümerik | Adres bilgisine ait soyad bilgisinin girildiği alandır. |
<Company> | 40 byte | Alfanümerik | Varsa şirket adının girildiği alandır. |
<Text> | 180 byte | Alfanümerik | Adres bilgisinin girildiği alandır. |
<District> | 25 byte | Alfanümerik | Semt bilgisinin girildiği alandır. |
<City> | 25 byte | Alfanümerik | Şehir bilgisinin girildiği alandır. |
<Country> | 32 byte | Alfanümerik | Ülke bilgisinin girildiği alandır. |
<PostalCode> | 20 byte | Alfanümerik | Posta kodunun girildiği alandır. |
<PhoneNumber> | 30 byte | Alfanümerik | Telefon bilgisinin girildiği alandır. |
<GSMNumber> | 30 byte | Alfanümerik | Telefon bilgisinin girildiği alandır. |
<FaxNumber> | 30 byte | Alfanümerik | Faks bilgisinin girildiği alandır. |
İşlem bilgilerinin ve finansal bilgilerin gönderildiği alanadır.
Alt Etiket | Maks Boyut | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|---|
<Type> | 32 byte | Alfanümerik | İşlem Tipinin gönderildiği alandır. Doküman içerisinde işlem tipleri ile ilgili detaylar ayrıca verilecektir. İşlem tipine göre diğer alanların kullanımına dikkat edilmelidir. |
<Amount> | 17,2 number | Nümerik LLLLKK şeklinde yollanır. Son 2 hane kuruşu ifade eder. 1,00 TL -> 100 11,22 TL->1122 0,01TL -> 1 şeklinde | Tutar bilgisinin girildiği alandır. |
<CurrencyCode> | 3 byte | Nümerik | Kur bilgisinin yollanıldığı alandır. 949 -> TL diğer kurlar için yetkinize göre bilgilendirme yapılacaktır. |
<CardholderPresentCode> | 2 byte | Nümerik | normal işlemler için 0, 3D işlemler için 13 girilmesi gerekmektedir. |
<MotoInd> | 1 byte | Alfanümerik | Y ve N değerlerini alır. Ecommerce işlemler için N gönderilir. Moto işlem statüsündeki işlemler için Y gönderilir. |
Sanal POS 3D’siz Adres Ekleme işlemi için, önceki başlıklarda gönderilen istek sonrası, servisten dönen cevap (response) yapısı aşağıdaki tabloda belirtilmiştir. Tablo içerisinde ilk kolonda yer alan ana tag altında yer alanabilecek her tag için gerekli olan bilgi ve açıklamalar incelenmeli ve istek mesajı bu tabloda belirtilen kurallara göre sağlanmalıdır:
Sanal POS adres ekleme işleminde cevap yapısı genel biçimde aşağıdaki şekildedir:
Yukarıda verilen cevap yapısı içerisinde yer alan etiketler ve bu etiketlerin altında yer alan alt etiketler aşağıdaki başlıkta verilmiştir:
Alt Etiket | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<Mode> | PROD - TEST | İşlem modunun yazıldığı alandır |
<Customer> | İstek yapısı içerisinde gönderilen müşteriye ait bilgilerin doğrulama amaçlı geri gönderildiği alandır. | |
<Order> | Bu etiket kendi içerisinde alt etikeler barındırır. İçerdiği alt etiketler aşağıdaki başlıklarda verilmiştir. | |
<Transaction> | Bu etiket kendi içerisinde alt etikeler barındırır. İçerdiği alt etiketler aşağıdaki başlıklarda verilmiştir. |
Alt Etiketleri | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<Response> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. | |
<RetrefNum> | Nümerik | Sanalpos tarafından üretilen işlem numarasının geri döndürüldüğü |
<AuthCode> | Nümerik | Onay kodunun geri döndürüldüğü alandır. |
<BatchNum> | İşlemlerin hangi batche gireceğinin geri döndürüldüğü alandır. | |
<SequenceNum> | İşlem sıra numarası | |
<ProvDate> | YYYYMMDD | Provizyon tarihinin döndürüldüğü alandır. |
<CardNumberMasked> | Kart numarasının ilk 6 son 4 hanesinin, aradaki alanların * lı geri döndürüldüğü alandır. | |
<CardHolderName> | Kart sahibinin adının gönderildiği alandır. | |
<CardType> | İşlem yapılan kart tipinin dönüldüğü alandır. | |
<HashData> | İşleme ait HashData bilgisinin dönüldüğü alandır. | |
<HostMsgList> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. | |
<RewardInqResult> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. | |
<GarantiCardInd> |
Alt Etiketleri | Açıklama ve notlar |
---|---|
<Source> | Kaynak bilgisinin geri döndürüldüğü alandır. |
<Code> | Approved - declined bilgisinin geri döndürüldüğü alandır. |
<ReasonCode> | Cevap kodunun geri döndürüldüğü alandır. |
<Message> | Mesaj bilgisinin geri döndürüldüğü alandır. |
<ErrorMsg> | Hata mesajının geri döndürüldüğü alandır. |
<SysErrMsg> | Sistem hata mesajının geri döndürüldüğü alandır. |
Alt Etiketleri | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<RewardList> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. | |
<ChequeList> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. |
Alt Etiketleri | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<Reward> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. |
Alt Etiketleri | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<Type> | Alfanümerik | Ödül tipinin geri döndürüldüğü alandır. Bu alan içerisinde gelebilcek değerler ve anlamları şu şekildedir:BNS: Bonus PuanFBB: Firma Bazlı Bonus Puan |
<TotalAmount> | Nümerik LLLLKK şeklinde yollanır. Son 2 hane kuruşu ifade eder. 1,00 TL -> 100 11,22 TL->1122 0,01TL -> 1 şeklinde | Ödül tutarının döndürüldüğü alandır. |
<LastTxnGainAmount> | Nümerik LLLLKK şeklinde yollanır. Son 2 hane kuruşu ifade eder. 1,00 TL -> 100 11,22 TL->1122 0,01TL -> 1 şeklinde | Son kazanılan ödül tutarının geri döndürüldüğü alandır. |
Alt Etiketleri | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<Cheque> | Bu etiket alt etiketler içerir. Alt etiketlere ilişkin detaylar aşağıdaki başlıklarda verilmiştir. |
Alt Etiketleri | Veri Yazım Formatı | Açıklama ve notlar |
---|---|---|
<Type> | Alfanümerik | Çek tipinin geri döndürüldüğü alandır. |
<Count> | Çek sayısının geri döndürüldüğü alandır. | |
<ExpireDate> | Çek son kullanım tarihinin geri döndürüldüğü alandır. | |
<Amount> | Nümerik LLLLKK şeklinde yollanır. Son 2 hane kuruşu ifade eder. 1,00 TL -> 100 11,22 TL->1122 0,01TL -> 1 şeklinde | Çek tutarının döndürüldüğü alandır. |
<UsageRate> | Çek kullanım oranının geri döndürüldüğü alandır. | |
<MinTxnAmount> | Nümerik LLLLKK şeklinde yollanır. Son 2 hane kuruşu ifade eder. 1,00 TL -> 100 11,22 TL->1122 0,01TL -> 1 şeklinde | Çek kullanım için gerekli olan, minimum işlem tutarının geri döndürüldüğü alandır. |
<ID> | Kampanya ID bilgisinin geri döndürüldüğü alandır. | |
<Bitmap> | Banka tarafında üretilen Bitmap ID nin geri döndürüldüğü alandır. |
Aşağıda bu işlem tipinin de yer aldığı, farklı yazılım dilleri ile yazılmış özel kod örneklerine ait github repo linkleri verilmiştir. Tercih ettiğiniz programlama diline ait link üzerinden ön tanımlı değerlerle yazılmış olan kodları inceleyebilirsiniz.
Hata kodlarına bu sayfadan ulaşabilirsiniz.
Test kartları listesine bu sayfadan ulaşabilirsiniz.
Sizden haber almak isteriz. Hizmetlerle ilgili sorunlarınız/sorunuz mu var? Bize bununla ilgili ayrıntılı bir e-posta gönderir misiniz?
Bize Soru Gönderin Bize Soru Gönderin