Ziraat Bankası Online POS Kurulumu

               Ortak Ödeme Sistemi

 

Dökümanda kullanılan Tanımlar:

                Müşteri               :  İnternet ortamından alış verişi yapan internet kullanıcısı

                Üye İşyeri           :  Müşterilerin alış veriş yaptıkları sanal mağaza ve web sitesinden sorumlu olan kuruluş.

                Ortak Ödeme    :  Müşterilerin üye işyerleri sitelerinden gerçekleştirilen satış işlemlerinin, üye iş yerleri tarafından gönderileceği ara katman.

                Sanal POS           : Ortak ödeme siteminin satış işlemini ileteceği onay verecek Banka katmanı.

Özet:

Bir bankaya ait tanımlı olan üye işyerleri, müşterilerinin alışverişlerinde işlemin Banka Sanal POS’una iletilmesi için, kendi siteleri içinden çağırabilecekleri bir Ortak Ödeme sistemi hazırlanmıştır.  

Üye işyerleri sitelerinden yapılan alışverişlere ait tutar bilgilerini, Ortak ödeme sistemine iletecek ve Ortak Ödeme sisteminde müşteriler kredi kartı bilgilerini girerek satış işlemini başlatacaklardır. İşlemin sonucu da üye işyerlerine iletilecektir.

Üye işyerlerinden Ortak ödeme sistemine entegrasyon için özet olarak aşağıdaki adımların yapılması beklenmektedir.

1)      Web sitesinden yapılan satış işlemine ait bilgiler Ortak ödeme sistemine kaydedilmelidir.

2)      Satış işlemini gerçekleştirmek için, kaydedilen işleme ait Ortak Ödeme sisteminden geri döndürülen  tekil işlem numarası ile Ortak Ödeme ekranlarına erişilmelidr.

3)      Müşterilerin Ortak ödeme ekranında yapacağı ve Banka Sanal POS’una iletilen işlemin bitti bilgisi, üye işyerlerinin hazırlayacağı bir işlem dönüş sayfasına gönderilecektir.

4)      Dönüş bilgisi alınan işlemin sonucu daha sonra tekil işlem numarasıyla sorgulanıp, başarılı ya da başarısız  olmasına göre müşteriye yansıtılacaktır.

 

İşlem kaydetme için SOAP  veya HTTP POST metodları kullanılabilir.

                   SOAP Fonksiyonu ile İşlem Kaydetme

Ortak Ödeme sayfasında satış işlemine başlamadan önce işlem kaydedilmelidir. İşlemi kaydetmek için aşağıdaki adreste bulunan

 https://yonetim-test.ziraatbank.com.tr/Innova.RegisterTransaction/RegisterTransaction.asmx  

SaveTransaction Web metodu, tutar ve parabiriminin sisteme kayıt edilmesi için çağrılmalıdır.

Bu metodda kullanılması gereken parametreler ve tanımları;

      int

      int

      string

      string

      string

      <MerchantGUID>string

      int

      int

 

AmountMerchant : Kullanıcıya yansıtılacak İşlem tutarı (kuruş biriminde)

AmountCode : Para Kodu (Örn. TL için 949)

UserName : Üye İşyerinin Ortak Ödeme Sistemi için kullanıcı adı

Password : Üye İşyerinin Ortak Ödeme Sistemi için şifresi

MerchantGUID : işlem için üye iş yeri tarafında üretilen tekil ID.

MerchantID : Üye iş yerinin tanımlı ID değeri.

InstalmentCount  : Taksit Sayısı

AmountBank : Bankaya gönderilecek işlemin kuruş biriminde tutarı. Normal durumda AmountMerchant değeri ile aynı.

 

Metodun dönüş değeri;

string

Ortak Ödeme sistemi tarafından üretilen satış işlemine devam etmek kullanılacak olan GUID tanımlı tekil ID / hatalı bir durumda ise hata açıklaması.

                   HTTP POST metodu ile İşlem Kaydetme

https://yonetim-test.ziraatbank.com.tr/IPOSMerchant_UserInterface/save_transaction.aspx

sayfasına aşağıdaki parametre bilgileri HTTP POST yapılarak işlem kaydedilebilir.

AmountMerchant : Kullanıcıya yansıtılacak İşlem tutarı (kuruş biriminde)

AmountCode : Para Kodu (Örn. TL için 949)

UserName : Üye İşyerinin Ortak Ödeme Sistemi için kullanıcı adı

Password : Üye İşyerinin Ortak Ödeme Sistemi için şifresi

MerchantGUID : işlem için üye iş yeri tarafında üretilen GUID tanımlı, tekil ID. İşlemlerin üye iş tarafında loglanması için kullanılabilecektir.

MerchantID : Üye iş yerinin tanımlı ID değeri.

InstalmentCount  : Taksit Sayısı

AmountBank : Bankaya gönderilecek işlemin kuruş biriminde tutarı. Normal durumda AmountMerchant değeri ile aynı.

Dönüş bilgisi:

Ortak Ödeme sistemi tarafından üretilen satış işlemine devam etmek kullanılacak olan GUID tanımlı tekil ID / hatalı bir durumda ise hata açıklaması. Bir GUID dönmesi durumunda işlem Ortak Ödeme sistemine başarıyla kaydedilmiştir.


                   Kart Bilgileri Giriş Ekranı

İşlem kaydedildikten sonra döndürülen işlem numarası TransactionID  parametre alanı ile çağrılmalıdır. Ayrıca opsiyonel olarak “&IsSecure=1” parametresi kullanılabilir. Bu parametre kullanılırsa işlemin sonucu dönüş ekranında gözükmez. Sadece işlemin TransactionID si döner. Daha sonra üye işyeri TransactionID ya da  kendi ürettiği GUID ile işlemin sonucunu manuel olarak sorgulamak zorunda kalır. İşlem sonucu sorgulaması bölümünde nasıl sorgulanacağı anlatılmaktadır.

Örnek 2 farklı parametrik yapıya sahip sorgu aşağıdaki gibidir;

https://yonetim-test.ziraatbank.com.tr/IposMerchant_UserInterface/SendTransaction.aspx?TransactionID=676da0c9-09bd-42e5-8667-0b363f682fa7

ya da;

https://yonetim-test.ziraatbank.com.tr/IposMerchant_UserInterface/SendTransaction.aspx?TransactionID=676da0c9-09bd-42e5-8667-0b363f682fa7&IsSecure=1

Gelen ekranda satış işlemini başlatan müşterinin, kredi kartı bilgilerini gireceği bir ekrana ulaşılır. Bu ekran üye iş yeri sitesi içinde açılmamalı, kullanıcı browser’ı üzerinden doğrudan erişilmelidir.

Geçerli ve var olan bir işlem numarası ile SendTransaction.aspx sayfası çağrıldığında, ödeme ekranı;

 

 


Hatalı bir parametre ile SendTransaction.aspx sayfası çağrıldığında;

 

Bu ekrandan itibaren akış, işlem sonucu üye işyerleri tarafından hazırlanacak olan dönüş sayfasına iletilinceye dek, Ortak Ödeme ekranlarından ilerleyecektir.

Ortak Ödeme sisteminin hazır olarak sunduğu bu ekranların detayları aşağıda anlatılmıştır.
Alış verişin istenirse Kredi kartının sahip olduğu puanlar ile yapılabilir. Bunun için Puan İle Harcama Yapmak için Tıklayınız seçilirse;

 

Gelen ekranda Toplam Puan kısmında karta ait puan bilgisi görülebilir.(Maximum üye işyerleri için geçerlidir.)  Kullanılacak puan hanesinde işlem tutarı ile aynı tutar girilmelidir. (işlem miktarından küçük veya büyük bir rakam yazılması halinde işleme devam edilemez. Örnek ekran aşağıdadır.)

 

Bu Ekranda, Kart No, Son Kullanma Tarihi, Güvenlik Kodu, Kart Tipi alanları mutlaka seçilmelidir. Tutar bilgisi işlemi kaydetme sırasında gönderilmiş ve kaydedilmiş durumdadır.


İleriye basılırsa;

                   İşlem Onaylama Ekranı

İstenen taksit miktarı seçildikten sonra, “İşlemi Onayla” butonu ile kullanılan kartın 3D programına dahil olup olmadığı VISA veya Master Card sistemlerinden sorgulanır. İşlem 3Dsecure programına dahilse aşağıdaki adım gerçekleşir, programa dahil değilse doğrudan sanal pos’a gönderilir.

 

                   3D secure Onay Ekranı (VISA Test Ortamı)

3D Secure için VISA Test sunucularında çalışan bu ekranda Submit butonuna basılarak onay verilirse, dönüş bilgileri  değerlendirip 3D secure onayı alınırsa işlem Sanal POS’a gönderilir.  

Yukarıdaki ekran gerçek ortamda, müşterilerin 3DES şifrelerini girecekleri bir şifre giriş ekranıdır.

                                        Sanal Pos İşlem Bitti Bilgisini Elde Etme

Sanal POS’a gönderilen işlemin bitti bilgisi, üye işyeri tarafından hazırlanacak bir sonuç sayfasına HTTP GET metodu ile

?TransactionGUID=9b456cb8-5a8e-4b00-a601-5d9a42007122

formatındaki parametre iletilir. Bu aşamadan sonra iş yeri ayrıca işlemin sonucunu sorgulamalıdır.

TransactionGUID :          İşlem kaydedildiğinde dönüşte kullanılan tekil ID

Üye işyeri dönüş sayfası örnek url çağrımı:

http://www.mysite.com/result_test.aspx? TransactionGUID=9b456cb8-5a8e-4b00-a601-5d9a42007122

 

                   Biten İşlemin sonucunun elde edilmesi

Sanal POS’a gönderilen işlemin bitti bilgisi, üye işyerinin ürettiği ve işlem kaydetmede kullandığı tekil ID olan MerchantGUID ya da işlem kaydetme sonucunda döndürülen tekil ID olan TransactionGUID ile sorgulanabilir.

                        MerchantGUID ile işlem sonucu sorgulama

İşlem sonucunu Üye işyerinin ürettiği işlem numarası ile sorgulanması için  aşağıdaki url belirtilen parametreler ile HTTP GET Metodu ile çağrılmalıdır.

https://yonetim-test.ziraatbank.com.tr/IposMerchant_UserInterface/QueryByMerchantGUID.aspx?MerchantGUID=df76cda1-d47e-4464-bf7f-ba4fff1762cc&MerchantID=000000000076597&UserName=vedat&Password=aa123456

Bu url’de kullanılan parametreler.

MerchantGUID                : İşlem için üye iş yeri tarafında üretilen tekil ID.

MerchantID       : Üye iş yerinin tanımlı ID değeri.

UserName         : Üye İşyerinin Ortak Ödeme Sistemi için kullanıcı adı

Password            : Üye İşyerinin Ortak Ödeme Sistemi için şifresi

 

Bu çağrım sonucunda sonuç aşağıdaki yapıda bildirilecektir.

RC=00&AUTH_CODE=123456&ERROR_MSG=&RESULT_DATETIME=20100108 09:56:58&RRN=126ABA7DFB

Parametrelerin anlamları;

Result Date Time             : İşlem Tarihi

RC                                          : Sanal Pos’dan dönen Cevap Kodu, sadece 00 için başarılı

Authorization Code        : Sanal Pos ‘dan dönen Auth Code

RRN                                      : Sanal Pos ‘dan dönen RRN(Relative Record Number)

Error Msg                           : Varsa hata açıklaması

Authorization Code ve RRN bilgileri işlemi gerekirse Banka tarafında detaylı sorgulama için kullanılabilir.

                        TransactionGUID ile işlem sonucu sorgulama

İşlem sonucunu Üye işyerinin ürettiği işlem numarası ile sorulanması için  aşağıdaki url belirtilen parametreler ile HTTP GET Metodu ile çağrılmalıdır.

https://yonetim-test.ziraatbank.com.tr/IposMerchant_UserInterface/QueryByTransactionGUID.aspx?TransactionGUID=134c3950-fd9b-46a8-bd3e-f862121b5bf9&MerchantID=000000000076597&UserName=vedat&Password=aa123456

Bu url’de kullanılan parametreler.

TransactionGUID             : İşlem kaydedildiğinde dönüşte kullanılan tekil ID

MerchantID                       : Üye iş yerinin tanımlı ID değeri.

UserName                         : Üye İşyerinin Ortak Ödeme Sistemi için kullanıcı adı

Password                            : Üye İşyerinin Ortak Ödeme Sistemi için şifresi

 

Bu çağrım sonucunda sonuç aşağıdaki yapıda bildirilecektir.

RC=00&AUTH_CODE=123456&ERROR_MSG=&RESULT_DATETIME=20100108 09:56:58&RRN=126ABA7DFB

Parametrelerin anlamları;

Result Date Time             : İşlem Tarihi

RC                                          : Sanal Pos’dan dönen Cevap Kodu, sadece 00 için başarılı

Auth Code                         : Sanal Pos ‘dan dönen Auth Code

RRN                                      : Sanal Pos ‘dan dönen RRN(Relative Record Number)

Error Msg                           : Varsa hata açıklaması

Authorization Code ve RRN bilgileri işlemi gerekirse Banka tarafında detaylı sorgulama için kullanılabilir.

 

                   İşlem Sonucunu Değerlendirme

İşlem sadece RC değerinin 00 olması durumunda başarılıdır. Diğer durumlarda hata alınmıştır ve satış işlemi başarısızdır.

Dönen cevap kodlarına göre işlem sonucu üye işyerlerinin hazırlayacağı ekranlarda alış verişi yapan müşteriye iletilir.

Dönebilecek RC  Değerleri

 

Açıklama

Cevap  Kodu

OTORİZASYON VERİLDİ –ONAY VERİLDİ  

00

KARTI VEREN BANKAYI ARAYINIZ.

02

GEÇERSİZ ÜYE İŞYERİ

03

KARTA EL KOYUNUZ

04

İşlem Onaylanmadı

05

Geçersiz İşlem

Yorum Yaz