MOKA ÖDEME SERVİSİ BAYİ ENTEGRASYON DOKÜMANI

Benzer belgeler
MOKA ÖDEME SERVİSİ PAZAR YERİ ENTEGRASYON DOKÜMANI

MOKA ÖDEME SERVİSİ IFRAME ENTEGRASYON DOKÜMANI

MOKA ÖDEME SERVİSİ ORTAK ÖDEME SAYFASI ENTEGRASYON DOKÜMANI V

MOKA ÖDEME SERVİSİ ÖDEME İSTEĞİ GÖNDERME BAYİ ENTEGRASYON DOKÜMANI

MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI

MOKA ÖDEME SERVİSİ KART SAKLAMA VE TEKRARLI İŞLEM BAYİ ENTEGRASYON DOKÜMANI

Dış Kurum Entegrasyonları TURKPOS API. Yardım Dokümanı

Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih Sürüm 1.1.0

API v1.0

PAYTR IFRAME API ENTEGRASYON DOKÜMANI

VAKIFBANK SANAL POS PANELİ KULLANICI KILAVUZU

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

TC KİMLİK NO SMS GÖNDERİM SOAP API

Elektronik Ticaret te Ödeme Sistemleri , İstanbul

ÇÖZÜM BİLGİSAYAR KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU Sürüm: 1.0

AÇIKLAMALARI SEBEP ÇÖZÜM

VPOS 724 Versiyon 3 KULLANMA KILAVUZU

Submit metodu birden fazla numaraya aynı içerikli kısa mesaj gönderimi için kullanılmaktadır.


XML ile Mesaj İşlemleri

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

Tel : 0(532) Web : E-Posta : info@kayikcioglugrup.com. İLETİ PAKETİ API (Entegrason) Dökümanı

SMSEXPLORER XML API. XML API KILAVUZU v.1.0

UYUMSOFT İ-DÖNÜŞÜM PORTALI FATURA HATA KILAVUZU

BOTAN SMS APİ DÖKÜMANI. Versiyon 1.0


BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

MOBILEPAX ENTERPRISE API (WEB SERVİS)

3-D SECURE ÖDEME İŞLEMLERİ

um%20dolor%20sit%20amet&receipents= , &sender=ILETICELL İstekte gönderilen parametrelerin açıklamaları aşağıdaki gibidir:

V-Count API v İnsan Sayma sonuçları için istekler adresine gönderilecektir.

Global Haberleşme API Kullanıcı Notları

Başlangıç; Sayfa 1. Sanal pos tanımlandığında üye numarası admin kullanıcı adı parolası ile Garanti Bankasından tarafınıza iletilecektir.

Başlangıç; Sayfa 1. Sanal pos tanımlandığında üye numarası admin kullanıcı adı parolası ile Garanti Bankasından tarafınıza iletilecektir.

ICE BİLİŞİM TEKNOLOJİLERİ WEB SERVİS KILAVUZU. SERVİS LİNK: DÜZENLEME TABLOSU

%20dolor%20sit%20amet&receipents= , &sender=PROAKTIF

*1000 *1100 ZARF İŞLENİYOR. İlgili hata sonucunda yapılması gereken GIB DURUM KODLARI AÇIKLAMALARI SEBEP ÇÖZÜM

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

(OKS)

Yayınlanma Tarihi: soru ve sorunlarınız için;

GOLDMESAJ SMS API DÖKÜMANI

Üyeler Arası Hak Kullanım Kaynaklı Talep İşlemleri

Seymen Isı - BayiPos Kullanım Klavuzu

Sıcak Tahsilat Web Servisleri Yapısı

JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih Sürüm XML ile Mesaj İşlemleri

VIDEOCELL API. Versiyon 1.0.0

COM API v.1.1 BELGE SÜRÜMÜ : 1.1

SMS interconnecion APi S DOKÜMANI

1. Temel Tanımlar. 1.1 Şematron Kontrolü Nedir? 1.2 Zarf Nedir? 1.3 Uygulama Yanıtı Nedir? 1.4 Sistem Yanıtı Nedir? 1.5 Durum Kodu Nedir?

V-Count API v3.6 İçindekiler

AJANS İLETİŞİM API XML API v İçindekiler. 1. AMAÇ - Sayfa 2

Süha Makina - BayiPos Kullanım Klavuzu

TURKCELL HİZMETLERİ. Kullanım Bilgileri. LOGO Kasım 2014

E-FATURA SÜRECİ VE IFS ADAPTÖR YAZILIMI KULLANIMI

3G Sms&MMS GateWay Xml Interface

BAUHAUS B2B Web Servis Dökümantasyonu

Misafir Anne Web Servisi Projesi

HTTP/HTTPS API v2.0 Belge sürümü : 2.0.0

E-REÇETE KULLANICI DÖKÜMANI

Xml Arayüzleri. 6. Sms To Multisenders (Farklı Mesajların Farklı Numaralara Yollanması)

MARKAM SMS SMS GÖNDERİM WEB SERVİSLERİ VERSİYON 1.6

Paycell IOS SDK. Entegrasyon Dokümanı. PayCell iphone SDK - (Ver 1.1-Rev 1) - Turkcell

Eczane İlaç Satış Onay Bildirimi Web Servislerinin Kullanım Kılavuzu

KOLAY SİPARİŞ TAKİBİ v4

YAVUZ SULTAN SELİM KÖPRÜSÜ VE KUZEY ÇEVRE OTOYOLU İŞLETMESİ KULLANICI KULLANIM DOKÜMANI

6 Ocak İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : E-Fatura

SOAP API. Mobildev Toplu Mesajlaşma API

SANAL POSLAR VE GÜVENLİK POLİTİKALARI. Yunus Emre SEYHAN Web Yazılım Uzmanı

B2B Portal - Eğitim Dökümanı

MİLLİ EĞİTİM BAKANLIĞI BAŞVURU PORTALINDAN SERTİFİKA BAŞVURUSUNDA BULUNACAK KULLANICI TALİMATI

MİKRO YAZILIM E-MUTABAKAT

ECZANE PROVİZYON SİSTEMİ

SANAL POS ENTEGRASYON DOKÜMANI. Versiyon Temmuz 2014 NESTPAY SANAL POS ENTEGRASYON DOKÜMANI

VAKIFBANK VPOS 7/24 TOPLU PROVİZYON VE TEKRARLI TAHSİLAT SİSTEMİ (RECURRING PAYMENTS)

NicProxy Registrar WHMCS Modül Kurulumu Versiyon 1.0

bayi.obaperdesan.com.tr Kullanıcı Dokumanı

AKM SMS APİ DÖKÜMANI. VER:6.4.2 BETA ~ 1 ~

COM API v2.0 Belge sürümü : 2.0.3

SAĞLIK BAKANLIĞI BAŞVURU PORTALINDAN SERTİFİKA BAŞVURUSUNDA BULUNACAK KULLANICI TALİMATI

3G SMS & MMS GateWay Xml Interface

TurkPOS a GENEL BAKIŞ

İnternetten Kredi Kartı İle Online Tahsilat

Harcama İtirazı El Kitabı

MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ BÖLÜM ÖĞRENCİ BİLGİ SİSTEMİ

02 Temmuz İlgili Versiyon/lar: ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler: Muhasebe IV

Yeni Nesil e-defter Kullanıcı Kılavuzu

Paycell Android SDK. Entegrasyon Dokümanı. PayCell Android SDK - (Ver 1.6-Rev 1) - Turkcell

B2B Portal - Eğitim Dökümanı

TC KİMLİK NO SMS GÖNDERİM XML API

LOGO TURKCELL AKILLI FAKS ENTEGRASYONU BİLGİ DOKÜMANI

Kredi ve banka kartlarının sağ alt köşesinde yer alan ve ödeme yöntemi markasını taşıyan bölümde artık bir Türk markası var: Troy

T. HALKBANKASI A.Ş. DOSYALI TRANSFER OTOMASYONU (DTO) SERBEST ÖDEMELER KULLANICI KULLANIM KILAVUZU

w w w. e - t o p l u s m s. c o m

Zirve E-Fatura Entegratör Paketi Kullanım Kılavuzu

Nisan 2014-v1.0 KMTP API TEST ve SERTİFİKASYON İŞLEMLERİ

JAVA API v2.0 Belge sürümü: 2.0.2

IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

T. HALKBANKASI A.Ş. DOSYALI TRANSFER OTOMASYONU (DTO) TOPLU EFT/HAVALE KULLANICI KULLANIM KILAVUZU

Transkript:

MOKA ÖDEME SERVİSİ BAYİ ENTEGRASYON DOKÜMANI V 4.4 HAZİRAN 2018 Abdullah APAYDIN - Elif YETİMOĞLU Sayfa 1

Test Domain: https://service.testmoka.com Prod Domain: https://service.moka.com Servislerin Çağrılması: Moka servisleri JSON POST yöntemiyle çalışmaktadır. Aşağıda her bir servis için verilen servis adresleri test ya da prod domain lerin sonuna eklenerek oluşan URL e, yine aşağıda her bir servis için detaylı bir şekilde örnekleriyle verilen parametreler JSON nesnesi olarak POST edilir. ÖNEMLİ!!! Servislerimiz PCI-DSS kuralları gereği sadece TLS 1.1 ve TLS 1.2 protokollerinin kullanımına izin vermektedir. Lütfen uygulamanızın bu protokoller üzerinden Moka URL sine POST attığından emin olunuz. Aksi taktirde Bağlantı kapatılacaktır veya Connection Closed şeklinde hatalar alınacaktır. Servislerden Yanıt Alınması: Moka servisleri yanıt olarak ApiResponse nesnesi döner. Bu nesnenin ResultCode ve Data alanları okunarak akışlar yönetilebilir. ApiResponse Data ResultCode ResultMessage Exception : Gönderdiğiniz istek Moka ya doğru bir şekilde iletilmiş, kullanıcı bilgileri doğru bir şekilde girilmiş ve girilen bilgiler Moka tarafında herhangi bir uyarıya veya hataya yol açmamışsa, Data alanı dolu gelecektir. Data alanı içinde size dönen verileri kullanarak işlem sonucunu yorumlayabilirsiniz. : Gönderilen veriler Moka tarafında bir uyarıya veya hataya yol açmışsa, Data alanı null olarak gelecektir ve ResultCode alanında Moka hata kodu yer alacaktır. : Hataya ilişkin özel bir açıklama var ise bu alan dolu olacaktır. : Beklenmedik bir hata oluştuğunda ResultCode alanında EX yazacaktır ve Exception alanında alınan hatanın açıklaması yer alacaktır. Sayfa 2

Servis Adı ÖDEME İŞLEMİ (NON 3D) Servis Adresi İstek Parametreleri /PaymentDealer/DoDirectPayment PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (DealerCode + MK + Username + PD + Password) bilgileriyle elde edilen anahtar SHA-256 hash algoritmasından geçirilerek bu alanda gönderilecektir PaymentDealerRequest CardHolderFullName Kart sahibinin adı soyadı CardNumber Kart numarası ExpMonth Son kullanma tarihi ay bilgisi (MM) ExpYear Son kullanma tarihi yıl bilgisi (YYYY) CvcNumber Kart güvenlik numarası CardToken Moka üzerinde Kart saklama özelliği kullanılıyorsa, Kartın Token ı verilerek çekim yapılabilir. Token verilmişse, kart numarası ve diğer kart bilgilerinin (son kul. tarihi, cvc) verilmesine gerek yoktur. Amount (decimal) Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 27.50) Currency Para birimi. Opsiyonel alandır, hiç gönderilmezse veya boş gönderilirse, default u TL dir, Diğer değerler : USD, EUR, GBP InstallmentNumber (integer) ClientIP OtherTrxCode IsPreAuth (tinyint) IsPoolPayment (tinyint) IntegratorId (tinyint) Software Taksit Sayısı. Opsiyonel alandır, hiç gönderilmezse, boş gönderilirse, 0 veya 1 gönderilirse Peşin satış demektir, Taksit için 2 ile 12 arasında bir değer gönderilmelidir. Kart numarasının alındığı uygulamanın (desktop/web) çalıştırıldığı bilgisayarın IP bilgisi Mütabakat sağlamak için kendi Unique Transaction (İşlem) Kodunuzu bu alanda gönderebilirsiniz. (Boş da gönderilebilir). Not : Bayi ödeme detay listesi alırken bu kodunuzu kullanarak Ödeme durumunu öğrenebilirsiniz. 0 : Doğrudan Çekim İşlemi 1 : Ön Provizyon Alma İşlemi (Bir süre sonra DoCapture servisi ile ödemeye dönüştürülmeli) Para kredi kartından çekilecek fakat havuzda bekletilecek. Bayi, müşteri hizmet veya ürünü teslim aldıktan sonra ödemeyi onaylayacak ve bu işlemle ilgili ödeme onaydan sonra bayinin ekstresine yansıyacak (opsiyonel). Havuz sisteminde bir ödeme göndermek için bu alanı 1 yapınız. Hazır ETicaret paketlerine Moka entegrasyonu yapan Sistem Entegratörü Firmanın ID si (opsiyonel) (Entegratör firma değilseniz bu alanı göndermeyiniz!) Moka ödeme sistemiyle entegre çalışan, bu servisi çağırdığınız Eticaret paketinin veya yazılımınızın ismi. (Max 30 karakter) Sayfa 3

SubMerchantName Description Ekstrede görünmesini istediğiniz isim (opsiyonel) Mokaya önceden bildirilmeli Açıklama alanıdır(opsiyonel). Ödemeye ilişkin bir açıklama yazmak istenirse bu alana yazılabilir.(200 karaktere kadar yazılabilir.) Örnek İstek (JSON) Başarılı İstek Başarılı Sonuç Örneği Başarısız İstek BuyerInformation (Array)(opsiyonel) BuyerFullName Opsiyonel alandır.alıcının adı ve soyadıdır. BuyerEmail Opsiyonel alandır.alıcının e- posta adresidir. BuyerGsmNumber Opsiyonel alandır.alıcının cep telefonu numarasıdır. BuyerAddress Opsiyonel alandır.alıcının adresidir. { "PaymentDealerAuthentication" : { "DealerCode" : "123456", "Username" : "ZXCVBNVBN", "Password" : "abcdef", "CheckKey" : "ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1" }, "PaymentDealerRequest" : { "CardHolderFullName": "Ali Yılmaz", "CardNumber": "5555666677778888", "ExpMonth" : "12", "ExpYear" : "2019", "CvcNumber" : "123", "Amount" : 35.50, "Currency" : "TL", "InstallmentNumber" : "1", "ClientIP" : "195.155.96.234", "OtherTrxCode" : "123456","IsPreAuth": 0,"IsPoolPayment": 0,"IntegratorId": 1,"Software":"OpenCart", "Description":"test açıklama", "BuyerInformation": {"BuyerFullName": "Elif Yetimoğlu","BuyerEmail": "elif@elif.com", "BuyerGsmNumber": "1111111111","BuyerAddress": "Cumhuriyet Mahallesi Taşdelen/Çekmeköy"} } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise bankadan dönen işlem sonucu bulunur. Data içinde yer alan IsSuccessful (true/false) alanı kontrol edilerek işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin sanal pos üzerinde neden başarısız olduğu görülebilir. Bankadan başarılı işlem dönmesi durumunda aynı nesne içindeki VirtualPosOrderId alanından gelen kod saklanmalıdır. İptal, iade veya havuz ödeme onayı işlemleri, bu kod kullanılarak gerçekleştirilecektir. {"Data":{"IsSuccessful":true,"ResultCode":"","ResultMessage":"","VirtualPosOrderId":"OR DER-17131QMlH04026199"},"ResultCode":"Success", "ResultMessage":"", "Exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentication. Hatalı hash bilgisi InvalidRequest PaymentDealer.CheckPaymentDealerAuthentication. Böyle bir bayi bulunamadı InvalidAccount PaymentDealer.CheckPaymentDealerAuthentication. Bu bayi için sanal pos tanımı VirtualPosNotFound PaymentDealer. CheckDealerPaymentLimits.DailyDealerLimitExceed ed yapılmamış Bayi için tanımlı günlük limitlerden herhangi biri aşıldı Sayfa 4

Başarısız Sonuç Örneği PaymentDealer. CheckDealerPaymentLimits.DailyCardLimitExceeded PaymentDealer.CheckCardInfo.InvalidCardInfo PaymentDealer.DoDirectPayment.ThreeDRequired PaymentDealer.DoDirectPayment.InstallmentNotAva ilableforforeigncurrencytransaction PaymentDealer.DoDirectPayment.ThisInstallmentNu mbernotavailablefordealer PaymentDealer.DoDirectPayment.InvalidInstallmen tnumber PaymentDealer.DoDirectPayment. ThisInstallmentNumberNotAvailableForVirtualPos Gün içinde bu kart kullanılarak daha fazla işlem yapılamaz Kart bilgilerinde hata var 3d zorunlu Yabancı para ile taksit yapılamaz Bu taksit sayısı bu bayi için yapılamaz Taksit sayısı 2 ile 12 arasıdır Sanal Pos bu taksit sayısına izin vermiyor EX Beklenmeyen bir hata oluştu {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.VirtualP osnotfound ", "ResultMessage":"","Exception":null} Sayfa 5

Servis Adı Servis Adresi İstek Parametreleri ÖDEME İŞLEMİ (3D SECURE) /PaymentDealer/DoDirectPaymentThreeD PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (DealerCode + MK + Username + PD + Password) bilgileriyle elde edilen anahtar SHA-256 hash algoritmasından geçirilerek bu alanda gönderilecektir PaymentDealerRequest CardHolderFullName Kart sahibinin adı soyadı CardNumber Kart numarası ExpMonth Son kullanma tarihi ay bilgisi (MM) ExpYear Son kullanma tarihi yıl bilgisi (YYYY) CvcNumber Kart güvenlik numarası CardToken Moka üzerinde Kart saklama özelliği kullanılıyorsa, Kartın Token ı verilerek çekim yapılabilir. Token verilmişse, kart numarası ve diğer kart bilgilerinin (son kul. tarihi, cvc) verilmesine gerek yoktur. Amount (decimal) Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 27.50) Currency Para birimi. Opsiyonel alandır, hiç gönderilmezse veya boş gönderilirse, default u TL dir, Diğer değerler : USD, EUR, GBP InstallmentNumber (integer) ClientIP RedirectUrl Taksit Sayısı. Opsiyonel alandır, hiç gönderilmezse, boş gönderilirse, 0 veya 1 gönderilirse Peşin satış demektir, Taksit için 2 ile 12 arasında bir değer gönderilmelidir. Kart numarasının alındığı uygulamanın (desktop/web) çalıştırıldığı bilgisayarın IP bilgisi 3D işlemi sonucunda, başarılı ya da başarısız işlem sonucunun döndürüldüğü ve kullanıcının yönlendirildiği bayi web sayfası. Bu URL yi verirken, sonuna parametre olarak kendi işlem ID nizi yazarsanız, hangi işleminizin sonucunu aldığınızı belirlemiş olursunuz. Örnek : https://www.mysite.com/payresult?mytrxid=1a2b3c4df5r RedirectType (integer) OtherTrxCode Önemli Not : URL sonuna yazdığınız kendinize ait işlem kodunun, güvenliğiniz için, tahmin edilemez bir kod olmasını tercih ediniz. Opsiyonel alandır. Default değeri 0 (sıfır) dır. Ödeme işleminin sonucu servisi çağıran web sitesinde ana sayfaya yönlendirme yapar. IFrame içerisinden bu servis çağrılmışsa ve sonuç IFrame içine redirect yapılsın isteniyorsa, bu alana 1 yazılmalıdır. Mütabakat sağlamak için kendi Unique Transaction (İşlem) Kodunuzu bu alanda gönderebilirsiniz. (Boş da gönderilebilir). Sayfa 6

Örnek İstek (JSON) Başarılı İstek Not : Bayi ödeme detay listesi alırken bu kodunuzu kullanarak Ödeme durumunu öğrenebilirsiniz. IsPreAuth (tinyint) 0 : Doğrudan Çekim İşlemi 1 : Ön Provizyon Alma İşlemi (Bir süre sonra DoCapture servisi ile ödemeye dönüştürülmeli) IsPoolPayment (tinyint) Para kredi kartından çekilecek fakat havuzda bekletilecek. Bayi, müşteri hizmet veya ürünü teslim aldıktan sonra ödemeyi onaylayacak ve bu işlemle ilgili ödeme onaydan sonra bayinin ekstresine yansıyacak (opsiyonel). Havuz sisteminde bir ödeme göndermek için bu alanı 1 yapınız. IntegratorId (tinyint) Hazır ETicaret paketlerine Moka entegrasyonu yapan Sistem Entegratörü Firmanın ID si (opsiyonel) (Entegratör firma değilseniz bu alanı göndermeyiniz!) Software Moka ödeme sistemiyle entegre çalışan, bu servisi çağırdığınız Eticaret paketinin veya yazılımınızın ismi. (Max 30 karakter) SubMerchantName Ekstrede görünmesini istediğiniz isim (opsiyonel) Mokaya önceden bildirilmeli Description Açıklama alanıdır(opsiyonel). Ödemeye ilişkin bir açıklama yazmak istenirse bu alana yazılabilir.(200 karaktere kadar yazılabilir.) BuyerInformation (Array)(opsiyonel) BuyerFullName Opsiyonel alandır.alıcının adı ve soyadıdır. BuyerEmail Opsiyonel alandır.alıcının e- posta adresidir. BuyerGsmNumber Opsiyonel alandır.alıcının cep telefonu numarasıdır. BuyerAddress Opsiyonel alandır.alıcının adresidir. { "PaymentDealerAuthentication" : { "DealerCode" : "123456", "Username" : "ZXCVBNVBN", "Password" : "abcdef", "CheckKey" : "ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1" }, "PaymentDealerRequest" : { "CardHolderFullName": "Ali Yılmaz", "CardNumber": "5555666677778888", "ExpMonth" : "12", "ExpYear" : "2019", "CvcNumber" : "123", "Amount" : 35.50, "Currency" : "TL", "InstallmentNumber" : "1", "ClientIP" : "195.155.96.234", "OtherTrxCode" : "123456","IsPreAuth": 0,"IsPoolPayment": 0, "IntegratorId": 3, "Software":"OpenCart", "RedirectUrl":"https://pos.testmoka.com/DealerPayment/PayResult?MyTrxId=1A2B3CD4 56", "RedirectType": 0, "Description":"test açıklama",","buyerinformation": {"BuyerFullName": "Elif Yetimoğlu","BuyerEmail": "elif@elif.com", "BuyerGsmNumber": "1111111111","BuyerAddress": "Cumhuriyet Mahallesi Taşdelen/Çekmeköy"} } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin nesnesinin ResultCode alanında Success bilgisi yazar, Data alanında ise bir link bulunur. (Örn: https://service.testmoka.com/paymentdealerthreedprocess?threedtrxcode= 0cc02f5f-ac4f-47fb-aa94-167582552caa ) Kullanıcı, bankadan şifre talep edebilmesi ve SMS ile gelen şifreyi girerek kredi kartı doğrulaması yapabilmesi için bu linke yönlendirilmelidir. Sayfa 7

Kullanıcı kart doğrulama işlemini tamamladıktan sonra, servis çağrılırken gönderilen RedirectUrl linkine otomatik olarak geri yönlendirilir. Yani sizin verdiğiniz URL ye Post atılır Bu yönlendirme sırasında issuccessful, resultcode, resultmessage ve trxcode form alanları okunarak işlemin sonucuna göre gerekli işlemler gerçekleştirilebilir. issuccessful değerinin true olması durumunda doğrulama ve ödemenin başarıyla yapıldığı anlaşılır; false olması durumunda ise doğrulama ya da ödeme işleminin başarısız olma nedeni resultcode ve resultmessage alanları kullanılarak öğrenilebilir. Bankadan başarılı işlem dönmesi durumunda trxcode alanı içinde dönen OrderId saklanmalıdır. İptal, iade veya havuz ödeme onayı işlemleri, bu kod kullanılarak gerçekleştirilecektir. 3D Onaylama sonucu sizin URL nize post atılarak dönen değerler: Key : issuccessful Value : True Key : resultcode Value : Key: resultmessage Value : Key: trxcode Value : ORDER-17131QQFG04026575 Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği {"Data": https://service.testmoka.com/paymentdealerthreedprocess?threedtrxcode=0cc02f5fac4f-47fb-aa94-167582552caa,"resultcode":"success","resultmessage":"","exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode PaymentDealer.CheckPaymentDealerAuthentication. InvalidRequest PaymentDealer.CheckPaymentDealerAuthentication. InvalidAccount PaymentDealer.CheckPaymentDealerAuthentication. VirtualPosNotFound PaymentDealer. CheckDealerPaymentLimits.DailyDealerLimitExceed ed PaymentDealer. CheckDealerPaymentLimits.DailyCardLimitExceeded PaymentDealer.CheckCardInfo.InvalidCardInfo PaymentDealer.DoDirectPayment3dRequest.Installm entnotavailableforforeigncurrencytransaction PaymentDealer.DoDirectPayment3dRequest.ThisInst allmentnumbernotavailablefordealer PaymentDealer.DoDirectPayment3dRequest.InvalidI nstallmentnumber PaymentDealer. DoDirectPayment3dRequest. ThisInstallmentNumberNotAvailableForVirtualPos Açıklama Hatalı hash bilgisi Böyle bir bayi bulunamadı Bu bayi için sanal pos tanımı yapılmamış Bayi için tanımlı günlük limitlerden herhangi biri aşıldı Gün içinde bu kart kullanılarak daha fazla işlem yapılamaz Kart bilgilerinde hata var Yabancı para ile taksit yapılamaz Bu taksit sayısı bu bayi için yapılamaz Taksit sayısı 2 ile 12 arasıdır Sanal Pos bu taksit sayısına izin vermiyor EX Beklenmeyen bir hata oluştu {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.VirtualP osnotfound ", "ResultMessage":"","Exception":null} Sayfa 8

3D SECURE İŞLEM AKIŞI Sayfa 9

Servis Adı Servis Adresi İstek Parametreleri Örnek İstek (JSON) Başarılı İstek Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği CAPTURE İŞLEMİ (ÖN PROVİZYONU SATIŞA DÖNÜŞTÜRME) /PaymentDealer/DoCapture PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest VirtualPosOrderId OtherTrxCode Amount (decimal) ClientIP Ön Provizyon alma işlemi sonucunda dönen işlem numarası bilgisidir. 3D ödemelerde trxcode ismiyle dönülen numaradır. Key: trxcode Value : ORDER-17131QQFG04026575 Ön Provizyon işlemi gönderirken bayinin, kendine ait verdiği Unique işlem numarasıdır. VirtualPosOrderId verilmişse bu numarayı boş gönderebilirsiniz. Ya da kendi Unique numaranızı kullanmak istiyorsanız VirtualPosOrderId alanını boş gönderebilirsiniz. Ön Provizyon kapatma tutarı (Kuruş kısmı nokta ile yazılır. Örn: 27.50) Bu tutar alınan provizyona eşit ya da küçük olabilir Ön Provizyonu kapatan uygulamanın (desktop/web) çalıştırıldığı bilgisayarın IP bilgisi { PaymentDealerAuthentication : { DealerCode : 123456, Username : ZXCVBNVBN, Password : abcdef, CheckKey : ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1 }, "PaymentDealerRequest" : { "VirtualPosOrderId": "ASDFGZXCVQWERT", OtherTrxCode :, Amount :27.50, ClientIP : 195.155.96.234 } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise bankadan dönen işlem sonucu bulunur. Data içinde yer alan IsSuccessful (true/false) alanı kontrol edilerek işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin sanal pos üzerinde neden başarısız olduğu görülebilir. {"Data": { IsSuccessful : true, ResultCode : 00, ResultMessage : },"ResultCode":"Success","ResultMessage":"","Exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentica Hatalı hash bilgisi tion.invalidrequest PaymentDealer.CheckPaymentDealerAuthentica Böyle bir bayi bulunamadı tion.invalidaccount PaymentDealer.CheckPaymentDealerAuthentica Bu bayi için sanal pos tanımı tion.virtualposnotfound yapılmamış PaymentDealer.DoCapture.InvalidAmount Tutar alanı yanlış EX Beklenmeyen bir hata oluştu {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.InvalidAc count ", "ResultMessage":"","Exception":null} Sayfa 10

Servis Adı Servis Adresi İstek Parametreleri Örnek İstek (JSON) Başarılı İstek Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği HAVUZDAKİ ÖDEMEYİ ONAYLAMA İŞLEMİ /PaymentDealer/DoApprovePoolPayment PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest VirtualPosOrderId Ödeme işlemi sonucunda dönen işlem numarası bilgisidir. 3D ödemelerde trxcode ismiyle dönülen numaradır. Key: trxcode Value : ORDER-17131QQFG04026575 OtherTrxCode Ödeme işlemi gönderirken bayinin kendine ait verdiği Unique işlem numarasıdır. VirtualPosOrderId verilmişse bu numarayı boş gönderebilirsiniz. Ya da kendi Unique numaranızı kullanmak istiyorsanız VirtualPosOrderId alanını boş gönderebilirsiniz. { PaymentDealerAuthentication : { DealerCode : 123456, Username : ZXCVBNVBN, Password : abcdef, CheckKey : ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1 }, "PaymentDealerRequest" : { "VirtualPosOrderId": " ORDER-17131QMlH04026199", OtherTrxCode : } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise Moka nın size döndüğü işlem bilgileri bulunur. Data içinde yer alan IsSuccessful alanı true olarak önecektir. VirtualPosOrderId alanında ise ödeme işleminin kodu bulunmaktadır. {"Data":{"IsSuccessful":true,"ResultCode":"","ResultMessage":"","VirtualPosOrderId":"OR DER-17131QMlH04026199"},"ResultCode":"Success", "ResultMessage":"", "Exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentica Hatalı hash bilgisi tion.invalidrequest PaymentDealer.CheckPaymentDealerAuthentica Böyle bir bayi bulunamadı tion.invalidaccount PaymentDealer.DoApprovePoolPayment. Veriler eksik gönderildi. OrderId OtherTrxCodeOrVirtualPosOrderIdMustGiven veya OtherTrxCode girilmeli PaymentDealer.DoApprovePoolPayment. Girilen bilgilere ait onaylanacak DealerPaymentNotFound bir ödeme kaydı bulunamadı PaymentDealer.DoApprovePoolPayment. Bu ödeme zaten onaylanmış PaymentAlreadyApproved PaymentDealer.DoApprovePoolPayment. Bu ödeme havuz ödemesi değil PaymentIsNotPoolPayment EX Beklenmeyen bir hata oluştu {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.InvalidAc count ", "ResultMessage":"","Exception":null} Sayfa 11

Servis Adı Servis Adresi İstek Parametreleri Örnek İstek (JSON) Başarılı İstek Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği İPTAL İŞLEMİ /PaymentDealer/DoVoid PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest VirtualPosOrderId Ödeme işlemi sonucunda dönen işlem numarası bilgisidir. 3D ödemelerde trxcode ismiyle dönülen numaradır. Key: trxcode Value : ORDER-17131QQFG04026575 ClientIP Kart numarasının alındığı uygulamanın (desktop/web) çalıştırıldığı bilgisayarın IP bilgisi VoidRefundReason İptal İade Sebebi (Dışarıdan yapılan iptaller için değeri 2 (integer) olmalı) { PaymentDealerAuthentication : { DealerCode : 123456, Username : ZXCVBNVBN, Password : abcdef, CheckKey : ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1 }, "PaymentDealerRequest" : { "VirtualPosOrderId": "ASDFGZXCVQWERT", ClientIP : 195.155.96.234, VoidRefundReason : 2 } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise bankadan dönen işlem sonucu bulunur. Data içinde yer alan IsSuccessful (true/false) alanı kontrol edilerek işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin sanal pos üzerinde neden başarısız olduğu görülebilir. {"Data": { IsSuccessful : true, ResultCode : 00, ResultMessage : },"ResultCode":"Success","ResultMessage":"","Exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentica Hatalı hash bilgisi tion.invalidrequest PaymentDealer.CheckPaymentDealerAuthentica Böyle bir bayi bulunamadı tion.invalidaccount PaymentDealer.CheckPaymentDealerAuthentica Bu bayi için sanal pos tanımı tion.virtualposnotfound yapılmamış PaymentDealer.DoVoid.PaymentNotFound İptal edilecek ödeme bulunamadı EX Beklenmeyen bir hata oluştu {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.InvalidAc count ", "ResultMessage":"","Exception":null} Sayfa 12

Servis Adı Servis Adresi İstek Parametreleri Örnek İstek (JSON) Başarılı İstek Başarılı Sonuç Örneği Başarısız İstek İADE TALEBİ İŞLEMİ /PaymentDealer/DoCreateRefundRequest PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest VirtualPosOrderId Ödeme işlemi sonucunda dönen işlem numarası bilgisidir. 3D ödemelerde trxcode ismiyle dönülen numaradır. Key: trxcode Value : ORDER-17131QQFG04026575 OtherTrxCode Ödeme işlemi gönderirken bayinin kendine ait verdiği Unique işlem numarasıdır. VirtualPosOrderId verilmişse bu numarayı boş gönderebilirsiniz. Ya da kendi Unique numaranızı kullanmak istiyorsanız VirtualPosOrderId alanını boş gönderebilirsiniz. Amount (decimal) iade edilmesi istenen Tutar alanıdır. Bu alana Kısmi iade için en fazla ödeme tutarı kadar bir değer girilebilir. Bu alana sıfır verilirse veya bu alan hiç gönderilmezse, ödemenin tamamı iade edilir veya daha önce kısmi iade yapılmışsa, geri kalan tutarın tamamı iade edilir. { PaymentDealerAuthentication : { DealerCode : 123456, Username : ZXCVBNVBN, Password : abcdef, CheckKey : ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1 }, "PaymentDealerRequest" : { "VirtualPosOrderId": " ORDER-17131QMlH04026199", OtherTrxCode :, Amount : 14.25 } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise Moka nın size döndüğü işlem bilgileri bulunur. Data içinde yer alan IsSuccessful alanı true olarak önecektir. RefundRequestId alanında ise iade talebi işleminin kodu bulunmaktadır. {"Data":{"IsSuccessful":true,"ResultCode":"","ResultMessage":"","RefundRequestId":"13 56"},"ResultCode":"Success", "ResultMessage":"", "Exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.DoCreateRefundRequest. Hatalı hash bilgisi InvalidRequest PaymentDealer. DoCreateRefundRequest. Böyle bir bayi bulunamadı InvalidAccount PaymentDealer.DoCreateRefundRequest. Veriler eksik gönderildi. OrderId veya OtherTrxCodeOrVirtualPosOrderIdMustGiven OtherTrxCode girilmeli PaymentDealer.DoCreateRefundRequest. Tutar alanına girilen değer, ödeme InvalidAmount tutarından büyük olmamalı. PaymentDealer.DoCreateRefundRequest. İade talebi oluşturulacak bir ödeme PaymentNotFound PaymentDealer.DoCreateRefundRequest. OtherTrxCodeAndVirtualPosOrderIdMismatch kaydı bulunamadı Gönderilen veriler farklı ödemelere ait Sayfa 13

Başarısız Sonuç Örneği PaymentDealer.DoCreateRefundRequest. RefundRequestAlreadyExist Bu ödemeye ait bekleyen bir iade talebi mevcut. Onun tamamlanması beklenmeli veya talep geri çekilmeli. Beklenmeyen bir hata oluştu EX {"Data":null,"ResultCode":"PaymentDealer. DoCreateRefundRequest.InvalidAccount ", "ResultMessage":"","Exception":null} Servis Adı Servis Adresi İstek Parametreleri BAYİ ÖDEME LİSTESİ - ANA ÖDEME KAYDI İŞLEM TARİHİNE GÖRE LİSTE PaymentDealer/GetPaymentList PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest PaymentStartDate PaymentEndDate PaymentStatus (integer) TrxStatus (integer) Ödemelerin başladığı tarih ve saat (yyyy-mm-dd HH:mm) Ödemelerin bittiği tarih ve saat (yyyy-mm-dd HH:mm) Ödeme kaydının son durumudur. 0 : Ödeme Talebi 1 : Ön otorizasyon 2 : Ödeme 3 : iptal 4 : iade Opsiyonel alandır, boş gönderilirse veya hiç gönderilmezse tüm PaymetStatus ler listelenir. Yapılan işlemin sonucunu gösterir. 0 : Bekleyen işlem 1 : Başarılı işlem 2 : Başarısız işlem Opsiyonel alandır, boş gönderilirse veya hiç gönderilmezse tüm TrxStatus ler listelenir. Örnek İstek (JSON) { "PaymentDealerAuthentication": { "DealerCode": "MFM", "Username": " ZXCVBNVBN ", "Password": " abcdef ", "CheckKey": "91e9aa3978e33a8e5867f6ed8fbe2a8a6117db0a2d1f17164801348e68306c07" }, "PaymentDealerRequest": { "PaymentStartDate": "2016-09-06 14:00", "PaymentEndDate": "2016-09-06 15:00", "PaymentStatus": 2,"TrxStatus":1} } Sayfa 14

Başarılı İstek Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise Moka dan dönen işlem sonucu bulunur. Data içinde yer alan IsSuccessful (true/false) alanı kontrol edilerek işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin neden başarısız olduğu görülebilir. "IsSuccessful": true olması durumunda ise "ListItemCount" alanında ödeme sayısı yazar ve PaymentList nesnesi içinde ödeme bilgileri döner. PaymentList Array i içinde dönen Ödeme ana kaydı durumları şu şekildedir; PaymentStatus TrxStatus Açıklama 0 0 Ödeme onayı bekliyor 1 1 Ön Provizyon başarılı 1 2 Ön Provizyon başarısız 2 1 Ödeme başarılı 2 2 Ödeme başarısız 3 1 İptal başarılı 4 1 Tam İade başarılı Ödemenin tamamı iade edilmişse PaymentStatus = 4 durumuna geçer. Kısmi iade yapılmışsa, ödemenin durumu PaymentStatus = 2 olarak kalır. Ödeme listesi cevabında, Amount alanında ödeme tutarı yazar, RefAmount alanında ise bu ödemeye ilişkin iadelerin toplam tutarı yazar. Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği { "Data": { "IsSuccessful": true, "ResultCode": "00", "ResultMessage": "", "ListItemCount": 1, "PaymentList": [{"DealerPaymentId": 1422, "OtherTrxCode": "123456", "CardHolderFullName": "AHMET YILMAZ", "CardNumberFirstSix": "554960", "CardNumberLastFour": "5523", "PaymentDate": "2016-09-06T14:29:36.68", "Amount": 2.62, "RefAmount": 1.00, "CurrencyCode": "TL", "InstallmentNumber": 2, "DealerCommissionAmount": 0.12, "IsThreeD": true, "PaymentStatus": 3, "TrxStatus": 1 }] }, "ResultCode": "Success", "ResultMessage": "", "Exception": null } Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentica Hatalı hash bilgisi tion.invalidrequest PaymentDealer.CheckPaymentDealerAuthentica Böyle bir bayi bulunamadı tion.invalidaccount PaymentDealer.GetPaymentList.InvalidDateTi Tarih formatı yyyy-mm-dd meformat HH:mm şeklinde olmalıdır. PaymentDealer.GetPaymentList.ListItemCount 500 den fazla kayıt içeren istek LimitExceeded başarısız olarak sonuçlandırılır. PaymentDealer.GetPaymentList.InvalidPaymen Geçersiz PaymentStatus değeri tstatus girildi. PaymentDealer.GetPaymentList.InvalidTrxSta Geçersiz TrxStatus değeri girildi. tus {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.InvalidAc count ", "ResultMessage":"","Exception":null} Sayfa 15

Servis Adı Servis Adresi İstek Parametreleri Örnek İstek (JSON) Başarılı İstek BAYİ ÖDEME TRANSACTION LİSTESİ - TRANSACTION TARİHİNE GÖRE LİSTE PaymentDealer/GetPaymentTrxList PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest TrxStartDate Transaction ın başladığı tarih ve saat (yyyy-mm-dd HH:mm) TrxEndDate Transaction ın bittiği tarih ve saat (yyyy-mm-dd HH:mm) TrxType Transaction ın ne tip bir işlem olduğunu gösterir. Ana (integer) ödeme kaydının durumu transaction ın tipine ve başarılı olup olmamasına göre değişir. 0 : Ödeme Talebi 1 : Ön otorizasyon 2 : Ödeme 3 : iptal 4 : iade Opsiyonel alandır, boş gönderilirse veya hiç gönderilmezse tüm TrxType lar listelenir. TrxStatus Yapılan işlemin sonucunu gösterir. (integer) 0 : Bekleyen işlem 1 : Başarılı işlem 2 : Başarısız işlem Opsiyonel alandır, boş gönderilirse veya hiç gönderilmezse tüm TrxStatus ler listelenir. {"PaymentDealerAuthentication":{"DealerCode":"xxx","Username":"xxx","Password":"xx xx","checkkey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e 916e3"},"PaymentDealerRequest":{"TrxStartDate":"2018-05-31 09:00", "TrxEndDate":"2018-05-31 11:00","TrxType":"","TrxStatus":"1"}} Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise Moka dan dönen işlem sonucu bulunur. Data içinde yer alan IsSuccessful (true/false) alanı kontrol edilerek işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin neden başarısız olduğu görülebilir. "IsSuccessful": true olması durumunda ise "ListItemCount" alanında transaction sayısı yazar ve PaymentTrxList nesnesi içinde hem ana ödeme kaydı bilgileri hem de o girilen tarih aralığındaki transaction a ait bilgiler döner. Ana ödeme kaydı ile bu ödemeye ait Transaction kayıtlarının birbiriyle ilişkisini daha detaylı öğrenebilmek için lütfen alttaki GetDealerPaymentTrxDetailList servisimizi de inceleyiniz. PaymentTrxList Array i içinde dönen Ödeme ana kaydı durumları şu şekildedir; PaymentStatus PaymentTrxStatus Açıklama 0 0 Ödeme onayı bekliyor 1 1 Ön Provizyon başarılı 1 2 Ön Provizyon başarısız 2 1 Ödeme başarılı 2 2 Ödeme başarısız 3 1 İptal başarılı 4 1 Tam İade başarılı Sayfa 16

Yine aynı PaymentTrxList Array i içinde dönen Ödeme transaction durumları şöyledir; TrxType TrxStatus Açıklama 1 1 Ön Provizyon başarılı 1 2 Ön Provizyon başarısız 2 1 Ödeme başarılı 2 2 Ödeme başarısız 3 1 İptal başarılı 3 2 İptal başarısız 4 1 İade başarılı 4 2 İade başarısız Bu servisle dönen Ana Ödeme kayıt bilgilerinin anlamları üstteki GetPaymentList servisimizde açıklanmıştır. Bu servisle dönen Transaction kayıt bilgileri DealerPaymentTrxId ile başlayan bilgilerdir. Bu bilgilerin anlamları alttaki GetDealerPaymentTrxDetailList servisimizde detaylı bir şekilde açıklanmıştır. Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği {"Data":{"IsSuccessful":true,"ResultCode":"00","ResultMessage":"","ListItemCount":1,"Pa ymenttrxlist":[{"dealerpaymentid":36012,"othertrxcode":"cp-3c4155e5-09d6-479a- 883C-E9DD693E8B54", "CardHolderFullName":"elif", "CardNumberFirstSix":"526955", "CardNumberLastFour":"4444","PaymentDate":"2018-05-31T09:44:15.38", "Amount":1.00, "RefAmount":0.00,"CurrencyCode":"TL","InstallmentNumber":0, "IsThreeD":false,"Description":"","PaymentStatus":2,"PaymentTrxStatus":1, "DealerPaymentTrxId":14535,"TrxCode":"7fbbd8b5-a623-438a-90fd-1b993d9b4e55", "TrxDate":"2018-05-31T09:44:15.587","TrxAmount":1.00, "TrxType":2,"TrxStatus":1, "PaymentReason":1,"VoidRefundReason":0,"VirtualPosOrderId":"Test-7da94fca-2895-464e-8c52-c7ef33794da6", "ResultMessage":""}]}, "ResultCode":"Success", "ResultMessage":"", "Exception":null} Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentica Hatalı hash bilgisi tion.invalidrequest PaymentDealer.CheckPaymentDealerAuthentica Böyle bir bayi bulunamadı tion.invalidaccount PaymentDealer.GetPaymentTrxList.InvalidDat Tarih formatı yyyy-mm-dd etimeformat HH:mm şeklinde olmalıdır. PaymentDealer.GetPaymentTrxList.ListItemCo 500 den fazla kayıt içeren istek untlimitexceeded başarısız olarak sonuçlandırılır. PaymentDealer.GetPaymentTrxList.InvalidTrx Geçersiz TrxType değeri girildi. Type PaymentDealer.GetPaymentTrxList.InvalidTrx Geçersiz TrxStatus değeri girildi. Status {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.InvalidAc count ", "ResultMessage":"","Exception":null} Sayfa 17

Servis Adı Servis Adresi İstek Parametreleri Örnek İstek (JSON) Başarılı İstek BAYİ ÖDEME DETAY LİSTESİ - TEK BİR ANA ÖDEME KAYDININ TRANSACTION LARI PaymentDealer/GetDealerPaymentTrxDetailList PaymentDealerAuthentication DealerCode Moka sistemi tarafından verilen bayi kodu Username Moka sistemi tarafından verilen kullanıcı adı Password Moka sistemi tarafından verilen şifre CheckKey Kontrol anahtarı (ödeme işlemindeki aynı algoritma) PaymentDealerRequest PaymentId OtherTrxCode Ödeme kaydının Moka sistemindeki Id si. Bayi ödeme listesi servisiyle size dönen listede görünen Unique bir ID dir. Ödemenin detayını sorgulayabilmek için ya bu ID yi ya da kendi Unique ID nizi (OtherTrxCode) vermelisiniz. Ödeme gönderirken, bu işleme ait kendi sisteminizin Unique İşlem Numarasını Mokaya göndermişseniz, bu alanı kullanarak ödeme detay sorgusu yapabilirsiniz. Ödemenin detayını sorgulayabilmek için ya bu alanı ya da DealerPaymentId alanını vermelisiniz. { "PaymentDealerAuthentication": { "DealerCode": "MFM", "Username": " ZXCVBNVBN ", "Password": " abcdef ", "CheckKey": "91e9aa3978e33a8e5867f6ed8fbe2a8a6117db0a2d1f17164801348e68306c07" }, "PaymentDealerRequest": { "PaymentId": "1170", "OtherTrxCode": "" } } Gönderilen istek verileri Moka da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin ResultCode alanında Success bilgisi yazar. Data alanında ise Moka dan dönen işlem sonucu bulunur. Data içinde yer alan IsSuccessful (true/false) alanı kontrol edilerek işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki ResultCode ve ResultMessage alanları kontrol edilerek işlemin neden başarısız olduğu görülebilir. "IsSuccessful": true olması durumunda ise PaymentDetail nesnesi içinde ödemeye ait detay bilgileri döner. PaymentDetail Objesi ile dönen Ödeme ana kaydı durumları şu şekildedir; PaymentStatus TrxStatus Açıklama 0 0 Ödeme onayı bekliyor 1 1 Ön Provizyon başarılı 1 2 Ön Provizyon başarısız 2 1 Ödeme başarılı 2 2 Ödeme başarısız 3 1 İptal başarılı 4 1 İade başarılı Sayfa 18

PaymentTrxDetailList Array i içinde dönen Ödeme Transaction durumları şu şekildedir; TrxType TrxStatus Açıklama 1 1 Ön Provizyon başarılı 1 2 Ön Provizyon başarısız 2 1 Ödeme başarılı 2 2 Ödeme başarısız 3 1 İptal başarılı 3 2 İptal başarısız 4 1 İade başarılı 4 2 İade başarısız PaymentReason VoidRefundReason 0 : Ödeme işlemi değil (iptal veya iade işlemi) 1 : Ödeme işlemi İptal iadenin neden yapıldığını gösterir alandır. 0 : İptal iade işlemi değil (Ödeme işlemi olduğu için, bu kod anlamsız) 2 : Dış Manuel iptal / iade işlemi (Pos.moka.com veya api üzerinden iptal) 3 : İç Manuel iptal / iade işlemi (Moka yönetim panelinden yapılan işlem) Ödemenin tamamı iade edilmişse, ana ödeme kaydında PaymentStatus = 4 durumuna geçer. Kısmi iade yapılmışsa, ödemenin durumu PaymentStatus = 2 olarak kalır. Ana ödeme kaydında, Amount alanında ödeme tutarı yazar, RefAmount alanında ise bu ödemeye ilişkin iadelerin toplam tutarı yazar. Bu ana ödemeye ilişkin Trx kayıtlarındaki Amount alanı ise, Trx kaydının tipine göre anlamlandırılır. TrxType = 2 ise ödeme detayı olduğu için Amount alanı ödeme tutarını gösterir. TxType = 4 ise iade detayı olduğu için Amount alanı iade tutarını gösterir. Ana ödeme kaydı ile detay kayıtları arasındaki ilişkiyi gösterir örnektir : Tek bir ana ödeme kaydına istinaden, bir veya daha fazla detay kaydı (Transaction kaydı) olabilir. Bir transaction kaydı eklendiği zaman, ana ödeme kaydının durumu değişikliğe uğrayabilir veya aynı kalabilir. ANA ÖDEME KAYDI (1 Kayıt) DETAY KAYITLARI (n Adet Kayıt) Tarih PaymentStatus TrxStatus Amount RefAmount TrxType TrxStatus Amount 15.01.2018 0 0 100 0 0 0 100 15.01.2018 2 1 100 0 2 1 100 18.01.2018 2 1 100 0 4 2 30 18.01.2018 2 1 100 30 4 1 30 22.01.2018 2 1 100 50 4 1 20 25.01.2018 4 1 100 100 4 1 50 Bu örnekte de görüldüğü üzere, 15 ocakta, 3D olarak 100 liralık bir ödeme gönderilmiş ve başarılı sonuç alınmış. Ardından, 18 ocakta 30 liralık bir iade yapılmak istenmiş ama başarılı olamamış. Sonra aynı iade yeniden denenmiş ve başarılı olmuş. Kısmi iade olduğu için ana ödeme kaydının durumu Başarılı Ödeme olarak kalmış. Ardından 22 ocakta, 20 liralık başarılı bir kısmı iade daha olmuş. Ve en sonunda 25 ocakta kalan tüm para iade edilmiş. Ve ana ödeme kaydının durumu, Başarılı Tam İade ye dönüşmüş. Sayfa 19

Başarılı Sonuç Örneği Başarısız İstek Başarısız Sonuç Örneği { "Data":{ "IsSuccessful":true, "ResultCode":"00", "ResultMessage":"", "PaymentDetail":{ "DealerPaymentId":27405, "OtherTrxCode":"", "CardHolderFullName":"Ahmet Yılmaz", "CardNumberFirstSix":"554960", "CardNumberLastFour":"5523", "PaymentDate":"2017-02-28T14:42:17.26", "Amount":20.10, "RefAmount":5.10, "CurrencyCode":"TL", "InstallmentNumber":0, "DealerCommissionAmount":0.50, "IsThreeD":false, "Description":"Ödeme açıklaması", "PaymentStatus":2, "TrxStatus":1 }, "ListItemCount":2, "PaymentTrxDetailList":[{ "DealerPaymentTrxId":2971, "DealerPaymentId":27405, "TrxCode":"26ba712e-6381-4291-8c59-702c13b30d4d", "TrxDate":"2017-02-28T14:42:17.837", "Amount":20.10, "TrxType":2, "TrxStatus":1, "PaymentReason":1, "VoidRefundReason":0, "VirtualPosOrderId":" ORDER- 17060RYOG07011948", "ResultMessage":"" }, {"DealerPaymentTrxId":2982, "DealerPaymentId":27405, "TrxCode":"32c19f0f-4853-4a0d-bf7c-fbc687a826a7", "TrxDate":"2017-02-28T14:44:32.26", "Amount":5.10, "TrxType":4, "TrxStatus":1, "PaymentReason":0, "VoidRefundReason":2, "VirtualPosOrderId":" ORDER-17060RYOG07011948", "ResultMessage":"" }] }, "ResultCode":"Success", "ResultMessage":"", "Exception":null } Gönderilen istek verileri Moka da başarılı bir şekilde işlenemediyse, geri dönüş nesnesinin ResultCode alanında alttaki tablodaki hata kodlarından birisi bulunur. Data nesnesi ise null olarak gelir. ResultCode Açıklama PaymentDealer.CheckPaymentDealerAuthentica Hatalı hash bilgisi tion.invalidrequest PaymentDealer.CheckPaymentDealerAuthentica Böyle bir bayi bulunamadı tion.invalidaccount PaymentDealer.GetDealerPaymentTrxDetailLis Payment Id boş, 0 veya yanlış t.paymentiderror formatta gönderilirse. {"Data":null,"ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.InvalidAc count ", "ResultMessage":"","Exception":null} Sayfa 20

ÖDEME İŞLEMİ HATA KODLARI 000 Genel Hata 001 Kart Sahibi Onayı Alınamadı 002 Limit Yetersiz 003 Kredi Kartı Numarası Geçerli Formatta Değil 004 Genel Red 005 Kart Sahibine Açık Olmayan İşlem 006 Kartın Son Kullanma Tarihi Hatali 007 Geçersiz İşlem 008 Bankaya Bağlanılamadı 009 Tanımsız Hata Kodu 010 Banka SSL Hatası 011 Manual Onay İçin Bankayı Arayınız 012 Kart Bilgileri Hatalı - Kart No veya CVV2 013 Visa MC Dışındaki Kartlar 3D Secure Desteklemiyor 014 Geçersiz Hesap Numarası 015 Geçersiz CVV 016 Onay Mekanizması Mevcut Değil 017 Sistem Hatası 018 Çalıntı Kart 019 Kayıp Kart 020 Kısıtlı Kart 021 Zaman Aşımı 022 Geçersiz İşyeri 023 Sahte Onay 024 3D Onayı Alındı Ancak Para Karttan Çekilemedi 025 3D Onay Alma Hatası 026 Kart Sahibi Banka veya Kart 3D-Secure Üyesi Değil 027 Kullanıcı Bu İşlemi Yapmaya Yetkili Değil 028 Fraud Olasılığı 029 Kartınız e-ticaret İşlemlerine Kapalıdır Sayfa 21