Entegrasyona Başlarken
API Entegrasyonu
Servis Erişim ve Genel Bilgiler
SOAP Tabanlı XML Servis Örnekleri
RESTful Tabanlı JSON Servis Örnekleri
Örnek Kodlar
Servis Hata Kodları
Duyurular

Paycell Dünyasına Hoşgeldin!

  • Entegrasyona başlamadan önce menüde bulunan API Entegrasyonu sekmesindeki Genel Özellikler ve kullanmak istediğiniz fonksiyonlar için Fonksiyon Listesi bölümlerini incelemeniz faydalı olacaktır.

  • Entegrasyon sırasında kritik noktalar için Servis Erişim ve Genel Bilgiler sekmesindeki Entegrasyona Ait Önemli Notlar ve Gerekli Tanımlamalar kısmını kontrol etmeniz gerekmektedir.

  • Entegrasyona başlarken öncelikle çalışacağınız servis yöntemini belirlemelisiniz. SOAP tabanlı çalışacaksanız menüde bulunan SOAP Tabanlı XML Servis Örnekleri sekmesine, RESTFUL tabanlı çalışacaksanız menüde bulunan RESTFUL Tabanlı JSON Servis Örnekleri sekmesine bakmanız gerekecektir.

  • Eğer bir PAYCELL müşterisiyseniz size verilen test bilgileri ile ilerleyebilirsiniz ya da Servis Erişim ve Genel Bilgiler sekmesinden test için kullanabileceğiniz default bilgilere erişebilirsiniz.

  • İşlem ya da kart ekleme adımlarında 3D yöntemini kullanacaksanız, API Entegrasyonu menüsünde bulunan 3D Yönlendirme Sayfası başlığını incelemelisiniz.

  • Hazır olarak sunulan JAVA, .NET, NODE JS, PYTHON dillerinde yazılmış projeleri Örnek Kodlar sayfasında bulabilirsiniz.

Tüm süreç boyunca paycelldev@paycell.com.tr adresinden ya da iletişimde olduğunuz Paycell temsilcisinden destek alabilirsiniz.

Genel Özellikler

Paycell ödeme API’leri, üye işyerlerinin müşterilerine sunacağı önyüzleri üzerinden (web, application, vb) müşterinin Paycell’de tanımlı olan kartlarını ya da mobil ödeme yöntemini kullanarak ödeme işlemlerini gerçekleştirmelerini ve Paycell’deki ödeme yöntemlerinin yönetimini sağlayabildikleri (kart ekleme, silme, güncelleme, mobil ödeme açma) web servis arayüzlerini sağlamaktadır.
Modelde kartlı işlemler için üye işyerleri, bankalardan alacağı Sanal Pos bilgilerini Paycell’e tanımlatarak ödeme işlemlerinin Paycell üzerinden bankalara gönderimini sağlarlar. Aynı zamanda mobil ödeme servislerini kullanarak müşterilerin faturalarına yansıtarak ödeme işlemi gerçekleştirmelerini de sağlayabilirler.
Ödeme işlemleri, Paycell’de tanımlı kartlarından birinin seçilmesi veya müşterinin kart numarasını işlem anında girmesiyle, 3D doğrulama ile veya 3D doğrulama olmadan gerçekleştirilebilir. Ya da mobil ödeme yöntemi kullanılarak müşterinin mobil ödemeye açık telefon numarasını girip kendisine gönderilen OTP’yi doğrulamasıyla gerçekleştirilebilir.

Fonksiyon Listesi

Paycell API entegrasyonu ile üye işyeri tarafından gerçekleştirilebilecek fonksiyonlar ödeme yöntemi yönetimi ve ödeme işlemleri olmak üzere iki ana başlık altında incelenebilir. Uygulama ihtiyaç ve tasarımına göre fonksiyonların tamamı veya belirli bir bölümü entegrasyon kapsamına dahil edilebilir.
Fonksiyonlar içerisinde müşteri doğrulamasına yönelik herhangi bir akış bulunmamaktadır. Üye işyeri tarafından yapılan entegrasyonda iletilen MSISDN (telefon numarası) için üye işyeri uygulamasının her zaman müşteri doğrulamasını yaptığı varsayılmaktadır.
 
  1. Ödeme Yöntemi Yönetimi
  2. Ödeme yöntemi yönetimi kapsamında yapılan işlemler aşağıdaki şekildedir:
    • Ödeme Yöntemi Sorgulama
    • Müşterinin Paycell’de tanımlı ödeme yöntemi (kart veya mobil ödeme) bilgilerinin listelenmesi amacıyla kullanılır.
    • Kart Ekleme
    • Müşterinin kart bilgilerini girerek Paycell’e kayıt edilmesi amacıyla kullanılır.
    • Kart Güncelleme
    • Kartın Paycell sözleşme numarası, default (seçili olarak görüntülenen kart) ve alias (kart için müşteri tarafından belirlenen isim) bilgilerinin güncellenmesi amacıyla kullanılır.
    • Kart Silme
    • Müşterinin Paycell’de tanımlı kart bilgisini silmesi amacıyla kullanılır.
    • Mobil Ödeme Açma
    • Müşterinin hattını mobil ödeme hizmetine açması amacıyla kullanılır.
     
  3. Ödeme İşlemleri
  4. Ödeme işlemleri kapsamında yapılan işlemler aşağıdaki şekildedir:
    • Ödeme
    • Müşterinin Paycell’de tanımlı kartı veya kart bilgisini girerek 3D doğrulama veya 3D doğrulama olmadan ya da mobil ödeme ile işlem tutarını faturasına yansıtarak ödeme yapabilmesi amacıyla kullanılır.
    • İşlem Sonuç Sorgulama
    • Yapılan işlemin durumunun sorgulanması amacıyla kullanılır.
    • İptal
    • Yapılan ödeme işleminin aynı gün iptal edilmesi amacıyla kullanılır. Mobil ödeme için iptal kurgusu bulunmayıp, iade işlemi uygulanmaktadır.
    • İade
    • Yapılan ödeme işleminin ertesi günden itibaren iptal edilmesi veya belirli bir tutarın iade edilmesi amacıyla kullanılır. Mobil ödeme yönteminin kullanılması halinde işlemler aynı gün içerisinde de iade edilebilecektir.
    • Mutabakat
    • Üye işyeri ve Paycell arasında yapılan işlemlerin adet ve tutar olarak doğrulanması amacıyla kullanılır.


Genel Mimari


Paycell, üye işyeri müşterisinin yapacağı ödeme işlemlerinde üye işyeri ve üye işyeri bankası arasında teknik entegratör olarak konumlanmıştır. Üye işyeri uygulaması aynı zamanda müşterinin Paycell cüzdanına erişebildiği ve yönetimini sağlayabildiği bir kanal olarak da konumlandırabilir.
Üye işyeri, backend uygulaması üzerinden Paycell’in açmış olduğu “Provision” servisine entegre olarak fonksiyonlara ait işlem isteklerini iletir. Sadece - kart bilgilerinin açık olarak üye işyerinin backend server’ı üzerinden geçmemesi amacıyla- kart bilgilerinin iletilmesinin gerekli olduğu durumda (Örnek: Kart ekleme), üye işyeri backend server yerine üye işyeri uygulaması doğrudan internet üzerinden Paycell’in “getCardTokenSecure” servisi ile kart bilgilerini Paycell’e iletir. getCardTokenSecure servis cevabında alınan “token” değeri Provision servisinin ilgili method’larında input parametresi olarak kullanılır.

Kart ile Ödeme İşlem Akışları

Entegrasyonun kapsamı ve kapsamdaki işlemlerin hangi yöntem ile yapılacağı, üye işyeri ve Paycell iş ekiplerinin karşılıklı olarak belirledikleri iş modeline göre belirlenir. Kapsam; uygulamadaki genel müşteri deneyimi, işlemlerin finansal riski, business case doğrultusunda yapılan sözleşmelere göre değişkenlik gösterebilir. İşlemlerin ne şekilde yapılacağı (tanımlı kartla, kart numarası girerek, mobil ödeme ile, 3D doğrulama ile, 3D doğrulama olmadan, vb) entegrasyon öncesinde belirlenmiş olmalıdır.
  • Kart Ekleme

    • 3D Doğrulama Yapılmadan


    • 3D Doğrulama Yapılarak


  • Tanımlı Kart ile Ödeme

    • 3D Doğrulama Yapılmadan


    • 3D Doğrulama Yapılarak


  • Kart Numarası Girişi ile Ödeme

    • 3D Doğrulama Yapılmadan


    • 3D Doğrulama Yapılarak


Mobil Ödeme Akışı

  • Müşterinin Paycell ile ödemeyi seçmesi durumunda ödeme yöntemlerinin listelenme isteği üye işyeri tarafından getPaymentMethods servisi çağrılarak Paycell'e iletilir.
  • getPaymentMethods ve mobil ödeme akışı için kullanılan diğer servislerin detaylı bilgilerine RESTful Tabanlı JSON Servis Örnekleri sekmesinden ulaşılabilir.
  • getPaymentMethods servisi ile müşterinin Paycell'de kayıtlı olan ödeme yöntemleri listelenir. getPaymentMethods servisinde ödeme yöntemleri cardList ve mobilePayment olmak üzere iki başlıkta listelenir. cardList kısmında müşterinin kayıtlı kart bilgileri dönerken mobilePayment kısmında mobil ödeme bilgileri döner. Müşteri mobil ödeme ya da kartla ödeme seçip işleme devam edebilir.

    • getPaymentMethods ile dönülen mobil ödeme bilgilerinde müşterinin mobil ödemesi kapalı görünüyor ise merchant müşteriye bir chechbox ile hattını mobil ödemeye açma seçeneği sunabilir. Bu aşamada müşterinin daha önceden imzaladığı güncel mobil ödeme sözleşmesi yoksa müşteriye mobil ödeme ile ilgili sözleşme sunulacak ve müşterinin yine kendisine sunulan checkbox’ta sözleşme şartlarını okuyup kabul ettiğini işaretlemesi gerekecektir.
    • Müşterinin mobil ödemesi açık ve sözleşmesi güncel görünüyor ise ödeme yöntemleri arasından mobil ödemeyi seçtiği takdirde merchant tarafından ödeme aşamasına yönlendirilir. Eğer müşterinin sözleşmesi güncel değilse de merchant tarafından servis response’unda dönen güncel sözleşme metninin olduğu linke yönlendirilir.

  • Müşteri merchantın sunduğu mobil ödemeye aç seçeneğini işaretlerse openMobilePayment servisi çağrılır ve müşterinin mobil ödemesi bu servis ile açılır. Mobil ödemesi açık olan müşteri merchant tarafından ödeme aşamasına yönlendirilir.

  • Ödeme aşamasına gelindiğinde müşterinin öncelikle OTP ile doğrulama yapması gereklidir. sendOTP servisi çağrılarak oluşturulan siparişe özel OTP müşteriye SMS olarak iletilir ve müşteri açılan ekrana bu şifreyi girer.

  • Müşterinin girdiği OTP'nin doğrulanması için validateOTP servisi çağrılmalıdır. Her OTP için parametrik belirlenen bir doğrulama süresi ve yanlış deneme hakkı olacaktır. Müşteri doğrulama süresi içerisinde yanlış deneme haklarını bitirmeden OTP'yi giremezse ödeme aşamasına geçemeyecek ve devam etmek isterse yeniden OTP alması gerekecektir. OTP belirlenen sürede doğru şekilde girilirse servis merchanta başarılı response dönecek ve merchant müşteriyi ödeme sayfasına yönlendirip ödeme servisini çağıracaktır.

  • Ödeme aşamasında merchant tarafından provisionAll servisi çağrılarak servis başarılı response döndüğünde ödeme tamamlanmış olacaktır.

  • Mobil ödeme için iade kurgusu mevcut olup iade edilmek istenen işlem için refundAll servisi çağrılacaktır.

  • Yapılan işlemlerin sorgulanması içinse inquireAll servisi kullanılabilecektir.

3D Yönlendirme Sayfası

Server tarafından getThreeDSession servisi ile threeDSessionId alınarak uygulama/client katmanına iletilir.

Uygulama/client tarafında browser aracılığıyla (kullanıcının bankanın 3D sayfasına yönlendirme yapılabilmesi için) Paycell tarafından iletilen internet url’ine post işlemi gerçekleştirilir.

Post işlemi içinde parametre olarak threeDSessionId ve callbackurl değerleri eklenir.

  • threeDSessionId: 3D doğrulama işlemini unique olarak ifade eder. 3D doğrulama başlamadan getThreeSession servisi ile alınır.
  • callbackurl: 3D doğrulama işleminin sonuçlandığı bilgisinin iletileceği adrestir.

Opsiyonel parametreler:

  • isPoint: Eğer işlemde puan kullanımı yapılacak ise true olarak setlenmelidir. (default değer false)
  • isPost3DResult: Eğer 3D sonucu callbackurl'e form_data içerisinde post edilmesi isteniyorsa true olarak setlenmelidir (default değer false) 


Örnek olarak 3D session id ve callback url’in bir form ekranından girilerek post edildiği bir kod örneği aşağıda yer almaktadır.

<html>

 <head>

  <title>iPay APM 3D-Secure Processing Page</title>

 </head>

 <body>

  <script type="text/javascript"></script>

  <form

   target="_blank"

   name="topUpForm"

   action="https://epayment.turkcell.com.tr/paymentmanagement/rest/threeDSecure"

   method="POST"

  >

   <table>

    <tr>

     <td>threeDSessionId :</td>

     <td>

      <input type="Text" name="threeDSessionId" value="" size="50" />

     </td>

    </tr>

    <tr>

     <td>callbackurl :</td>

     <td>

      <input type="Text" name="callbackurl" value="" />

     </td>

    </tr>

    <tr>

     <td>isPoint:</td>

     <td>

      <input type="Text" name="isPoint" value="" />

     </td>

    </tr>

    <tr>

     <td>isPost3DResult:</td>

     <td>

      <input type="Text" name="isPost3DResult" value="" />

     </td>

    </tr>

    <tr>

     <td colspan="2">

      <input type="submit" name="submit" value="Bankaya Gönder" />

     </td>

    </tr>

   </table>

  </form>

  <!--

<SCRIPT LANGUAGE="Javascript" >

                    document.topUpForm.submit();

    </SCRIPT>

/-->

 </body>

</html>



SOAP Tabanlı XML Servis Test Erişim Bilgileri

Web ServisMethodTest URL
ProvisionServices
  • getCards
  • registerCard
  • updateCard
  • deleteCard
  • provision
  • inquire
  • reverse
  • refund
  • summaryReconciliation
  • getThreeDSession
  • getThreeDSessionResult
  • provisionForMarketPlace
  • getProvisionHistory
  • getTermsOfServiceContent
  • getCardBinInformation
https://tpay-test.turkcell.com.tr/tpay/provision/services/ws?wsdl
PaymentManagement
  • getCardTokenSecure
https://omccstb.turkcell.com.tr/paymentmanagement/rest/getCardTokenSecure
3D Yönlendirme Sayfası
  • threeDSecure
https://omccstb.turkcell.com.tr/paymentmanagement/rest/threeDSecure

SOAP Tabanlı XML Servis Prod Erişim Bilgileri

Web ServisMethodProd URL
ProvisionServices
  • getCards
  • registerCard
  • updateCard
  • deleteCard
  • provision
  • inquire
  • reverse
  • refund
  • summaryReconciliation
  • getThreeDSession
  • getThreeDSessionResult
  • provisionForMarketPlace
  • getProvisionHistory
  • getTermsOfServiceContent
  • getCardBinInformation
https://tpay.turkcell.com.tr/tpay/provision/services/ws?wsdl
PaymentManagement
  • getCardTokenSecure
https://epayment.turkcell.com.tr/paymentmanagement/rest/getCardTokenSecure
3D Yönlendirme Sayfası
  • threeDSecure
https://epayment.turkcell.com.tr/paymentmanagement/rest/threeDSecure

RESTful Tabanlı JSON Servis Test Erişim Bilgileri

Web ServisMethodTest URL
ProvisionServices
  • getCards
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getCards/

  • registerCard
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/registerCard/

  • updateCard
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/updateCard/

  • deleteCard
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/deleteCard/

  • provision
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/provision/

  • inquire
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/inquire/

  • reverse
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/reverse/

  • refund
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/refund/

  • summaryReconciliation
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/summaryReconciliation/

  • getThreeDSession
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getThreeDSession/

  • getThreeDSessionResult
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getThreeDSessionResult/

  • getProvisionHistory
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getProvisionHistory

  • provsionForMarketPlace
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/provisionForMarketPlace/

  • getTermsOfServiceContent
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getTermsOfServiceContent/

  • getCardBinInformation
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getCardBinInformation/

  • getPaymentMethods
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getPaymentMethods/

  • openMobilePayment
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/openMobilePayment/

  • sendOTP
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/sendOTP/

  • validateOTP
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/validateOTP/

  • provisionAll
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/provisionAll/

  • inquireAll
https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/inquireAll/

  • refundAll
https://tpay-test.turkcell.com.tr/tpay/provision/services/restful/getCardToken/refundAll/

  • queryPoint
https://tpay-test.turkcell.com.tr/tpay/provision/services/restful/getCardToken/queryPoint
PaymentManagement
  • getCardTokenSecure
https://omccstb.turkcell.com.tr/paymentmanagement/rest/getCardTokenSecure
3D Yönlendirme Sayfası
  • threeDSecure
https://omccstb.turkcell.com.tr/paymentmanagement/rest/threeDSecure

RESTful Tabanlı JSON Servis Prod Erişim Bilgileri

Web ServisMethodProd URL
ProvisionServices
  • getCards
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getCards/

  • registerCard
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/registerCard/

  • updateCard
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/updateCard/

  • deleteCard
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/deleteCard/

  • provision
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/provision/

  • inquire
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/inquire/

  • reverse
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/reverse/

  • refund
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/refund/

  • summaryReconciliation
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/summaryReconciliation/

  • getThreeDSession
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getThreeDSession/

  • getThreeDSessionResult
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getThreeDSessionResult/

  • getProvisionHistory
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getProvisionHistory

  • provsionForMarketPlace
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/provisionForMarketPlace/

  • getTermsOfServiceContent
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getTermsOfServiceContent/

  • getCardBinInformation
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getCardBinInformation/

  • getPaymentMethods
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getPaymentMethods/

  • openMobilePayment
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/openMobilePayment/

  • sendOTP
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/sendOTP/

  • validateOTP
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/validateOTP/

  • provisionAll
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/provisionAll/

  • inquireAll
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/inquireAll/

  • refundAll
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/refundAll/

  • queryPoint
https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/queryPoint
PaymentManagement
  • getCardTokenSecure
https://epayment.turkcell.com.tr/paymentmanagement/rest/getCardTokenSecure
3D Yönlendirme Sayfası
  • threeDSecure
https://epayment.turkcell.com.tr/paymentmanagement/rest/threeDSecure

Genel Entegrasyon Test Bilgileri

Test ve Prod ortamda kullanılacak değerler clienta özel entegrasyon bilgileridir. Paycell ekibi ile iletişime geçerek bu bilgilerin temin edilmesi gerekir.
Bu dokümandaki servislerin test edilebilmesi için aşağıdaki gibi default entegrasyon değerleri verilmiştir.
Application name: PAYCELLTEST
Application password: PaycellTestPassword
Secure code: PAYCELL12345
Eulaid: 17
Merchant Code: 9998

Test Kredi Kartları

Entegrasyon sürecinde kullanabileceğiniz test kredi kartlarını aşağıda görebilirsiniz.

BANKATest Kart NoAYYILCVC3D Şifresi
Akbank43550843550843581226000a
Akbank55711355711355751226000a
Akbank Debit47485311244762121228000a
FinansBank40227740227740261220000a
FinansBank54561654561654541220000a
FinansBank Debit40638658964352131228000a
Yapı Kredi45063470279110941224000Şifresiz
Yapı Kredi45063441313390980221000Şifresiz
Yapı Kredi54006170462530310221000Şifresiz
Yapı Kredi44621270028906420322000Şifresiz
Yapı Kredi54006193609645810322000Şifresiz
Yapı Kredi40480970007454570322000Şifresiz
Yapı Kredi40480970018958970322000Şifresiz
Yapı Kredi40480970019451220322000Şifresiz
Yapı Kredi49213070606295471124000Şifresiz
Yapı Kredi40480970040019800322000Şifresiz
Yapı Kredi40480970050060040322000Şifresiz
Yapı Kredi40480970052563100322000Şifresiz
Yapı Kredi40480970056834630322000Şifresiz
Yapı Kredi40480970064255180322000Şifresiz
Yapı Kredi40480970064554810322000Şifresiz
Yapı Kredi40480970068039380322000Şifresiz
Yapı Kredi40480970086967770322000Şifresiz
Yapı Kredi Debit63900414908171440925700Şifresiz
Yapı Kredi Debit49431413149810631220528Şifresiz
Garanti Bankası54066975432111730323465
Garanti Bankası55496087896415000323712
Garanti Bankası Amex3756220054850141020123Şifresiz
Garanti Bankası42822090043480150822123
Garanti Bankası3756220054850141020123Şifresiz
İş Bankası45080345080345091219000a
İş Bankası54066754066754031219000a
Vakıfbank49384101140629120120956GS1905vb03
Vakıfbank40294001848843030123376Şifresiz
HalkBank45314445314422831219001a
HalkBank58187758187722851219001a
HalkBank Debit58884354827852131228000a
HSBC Bankası42824059900021660120000a
HSBC Visa42824059900021661220000a
HSBC Master52541359229717481220000a
International Master51051051051051001219000a
International Visa47160814673057661219000a
Denizbank40907000908400571122592123
Denizbank40907001011742721222104123
Paycell Card46227600000669501219932Şifresiz
TEB Troy97922300991278431121787123456
İş Bankası (Troy Credit)97920420225623621025000123456
Ziraat Bankası45467112345678941226000a
Ziraat Bankası54013412345678911226000a
Vakıfbank4289450189088488042306012ABCDEF
Vakıfbank4289450187923330042381312ABCDEF
ING Bank45080345080345091226000a
ING Bank54066754066754031226000a


Entegrasyona Ait Önemli Notlar

  1. Veri Paylaşım İzinleri

  2. İlk kullanım sırasında kullanıcının MSISDN bilgisinin Paycell’e iletilmesi ve Paycell’de tanımlı kartlarıyla mobil ödeme bilgilerinin üye işyeri uygulamasına iletilmesi noktasında veri paylaşım izinleri kullanıcıdan alınarak uygulamada saklanmalıdır.

  3. MSISDN Validasyonu

  4. Uygulamadan gelen MSISDN bilgisinin uygulama tarafında doğrulanmış olduğu varsayılmaktadır, doğrulama ile ilgili yöntem üye işyeri uygulamasında yönetilmelidir.

  5. Güncel Kullanıcı Sözleşmesi

  6. Kullanıcı sözleşmesi Paycell’de kart bazında tutulmaktadır. Kart ekleme ve ödeme işlemlerinde kullanılan kartın güncel versiyon (eulaId) değerine sahip olup olmadığı kontrol edilmeli, güncel versiyon onaylatılması gereken durumlarda her bir kart için kart güncelleme işlemleri yapılmalıdır.

    Mobil ödeme yönteminin kullanılacak olması durumunda da mobil ödemeye açma işleminde kullacının mobil ödemeye ait eulaId’sinin güncel olup olmadığı kontrol edilmeli, güncel değilse getPaymentMethods servisinin response olarak döndüğü linkten güncel sözleşme imzalatılmalıdır.

  7. Timeout Yönetimi

Ödeme işlemlerinde provision servisine cevap alınamayıp işlemin timout’a düştüğü durumlarda üye işyeri tarafından işlem sonuçları sorgulanarak reverse/refund işlemleri çağrılmalıdır.


Gerekli Tanımlamalar

  1. Üye İşyeri ve Sanal Pos Bankası

  2. Parametreler
    Entegrasyon esnasında kullanılan Paycell’e ait bazı parametreler üye işyeri sisteminde tanımlanmalıdır.
    • eulaId: Üye işyerinin hangi kullanıcı sözleşmesi versiyonunu kullanacağı bilgisi

    • Söz konusu eulaID değerine karşılık gelen kullanıcı sözleşmesi metni içeriği

    • Ödeme işlemlerinde üye işyeri tarafından üretilecek 20 haneli referans numarasının ilk 3 hanesi prefix değer olarak Paycell tarafından üye işyerine bildirlecektir.

    Üye İşyeri Bilgileri
    • Her bir üye işyeri için Sanal Pos bankasında üye işyeri oluşturma işlemi tamamlanmış olmalıdır. Üye işyerine ait bilgiler Paycell’e iletilmelidir, iletilecek bilgilerin detayı Üye İşyeri Bilgileri bölümünde detaylandırılmıştır.

    • Sanal Pos bankasında eğer gerekli ise IP yetkilendirme tanımı yapılmalıdır, burada kullanılan IP bilgisi “Paycell” IP bilgisidir. Tanım gerekli olduğu durumda paylaşılacaktır.

    • Üye işyeri 3D doğrulama yöntemi kullanacak ise bu bilgiye yönelik Sanal Pos banka sisteminde ilgili tanımlama yapılmalıdır.

    • Paycell’de üye işyeri bilgileri tanımlandığında her biri üye işyeri için “Merchant Code” değeri üretilip üye işyeri ile paylaşılmaktadır. Bu değer üye işyeri sisteminde tanımlanmalı, ödeme işlemlerinde bu değer input olarak kullanılmaktadır.

  3. Paycell

  4. Erişim
    Entegrasyon aşamasında üye işyerleri Paycell ProvisionServices API’lerine erişim için bağlanacakları test, preprod, prod server IP bilgilerini Paycell’e iletmelidir. IP yetkilendirme için Paycell’de ilgili tanımlar gerçekleştirilmelidir.

    Yetkilendirme
    Yapılacak işlemlerin doğru üye işyerinden gönderildiğinin kontrolü amacıyla yetkilendirme tanımlamaları yapılmalıdır. Paycell üzerinde yapılacak olan aşağıdaki tanımlamalar üye işyeri ile paylaşılıp, üye işyeri yetkilendirme parametrelerini servis implemantasyonunda kullanmalıdır.
    • Application Name

    • Application Password

    • Secure Code

    Parametreler
    Entegrasyon esnasında kullanılan üye işyerine ait bazı parametreler Paycell sisteminde tanımlanmalıdır.
    • 3D doğrulama yöntemi kullanılıyor ise callbackurl

    • eulaID: Üye işyerinin hangi kullanıcı sözleşmesi versiyonunu kullanacağı bilgisi

    • Kullanıcı arayüzü web page ise getCardTokenSecure işlemi domain tanımı

    Üye İşyeri Bilgileri
    Uygulama kapsamındaki her bir üye işyeri için aşağıdaki bilgiler Paycell sisteminde tanımlanmalıdır.
    • Sanal Pos bankası sisteminde tanımlı üye işyeri adı

    • Gerekli olduğu durumda önyüz ekranlarda görüntülenmek istenen üye işyeri adı

    • Sanal Pos bankası sisteminde tanımlı üye işyeri numarası

    • Sanal Pos bankası sisteminde tanımlı terminal numarası

    • Sanal Pos bankası sisteminde tanımlı API kullanıcı adı

    • Sanal Pos bankası sisteminde tanımlı API kullanıcı şifresi

    • Üye işyerinin 3D doğrulama yöntemi kullanıp kullanmadığı bilgisi

    • Üye işyeri 3D doğrulama yöntemi kullanıyorsa Sanal Pos bankası sisteminde tanımlı storekey değeri

requestHeader ve responseHeader

ProvisionServices kapsamındaki tüm method’lar için ortak request header ve response header yapısı kullanılmaktadır.
requestHeader
FieldFormatLength(O)ptional/(M)andatoryDescription
transactionIdString20MapplicationName bazında unique transactionId bilgisidir. Uygulama tarafından üretilir.
transactionDateTimeString17MYYYYMMddHHmmssSSS formatında işlem zamanı bilgisidir.
clientIPAddressString50Mİşlemin başlatıldığı IP bilgisi
applicationNameString20MServisi çağıran uygulamaya özel belirlenmiş kullanıcı adı bilgisidir, entegrasyon aşamasında Paycell tarafından bildirilecektir.
applicationPwdString20MServisi çağıran uygulamaya özel belirlenmiş kullanıcı şifresi bilgisidir, entegrasyon aşamasında Paycell tarafından bildirilecektir.

responseHeader
FieldFormatLength(O)ptional/(M)andatoryDescription
transactionIdString20MrequestHeader ile iletilen transactionId değeridir.
responseDateTimeString17MYYYYMMddHHmmssSSS formatında işlem cevabına ait işlem zamanı bilgisidir.
responseCodeString20M0: Success, >0: Fail
responseDescriptionString200MServis cevabı açıklaması

getCards

Müşterinin Paycell’de tanımlı kartlarının sorgulanması amacıyla kullanılır. getCards ile Paycell’de tanımlı kartlar liste halinde iletilir. Müşterinin, üye işyerinin uygulama ekranında ilk kez Paycell’de tanımlı kartlarının sorgulanması durumunda öncelikle müşterinin veri paylaşım iznini uygulama üzerinde vermiş olması gerekmektedir. Müşterinin kartların listelenmesine yönelik verdiği izin üye işyeri uygulamasında tutulmalıdır. getCards sorgusu müşterinin tanımlı kartını kullanarak yapacağı her işlem öncesinde çağrılmalıdır.
requestParameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.

responseParameters
FieldFormatLength(O)ptional/(M)andatoryDescription
eulaIDString20MMüşterinin tanımlı kart bilgisinden bağımsız olarak Paycell sisteminde güncel olan kart sözleşme numarası bilgisini döner:
  1. Yeni kart ekleme senaryosunda müşteriye gösterilmesi gereken sözleşme metni numarası gösterilir, bu ID registerCard methodu’nda input olarak kullanılır.

  2. Mevcut tanımlı kartlar için ise showEulaId = true ise ilgili kart için müşteriye gösterilmesi gereken sözleşme metni numarası gösterilir. Sözleşme kabul edildikten sonra updateCard requesti ile sözleşme bilgisi güncellenir.

cardListArrayOMüşterinin Paycell’de tanımlı kartları bulunması durumunda kart bilgileri liste olarak iletilir, tanımlı kart bulunmuyorsa boş dönülür.

cardList
FieldFormatLength(O)ptional/(M)andatoryDescription
cardIdString36MKart bilgisine ilişkin uygulamaya özel kart referans numarasıdır, tanımlı kart için yapılan işlemlerde bu değer ilgili method’larda input olarak kullanılır.
maskedCardNoString16MKartın ilk 6 ve son 4 hanesi açık, aradaki değerler *’lı olarak maskelenmiş numarasıdır.
aliasString20OMüşteri tarafından kart ekleme veya kart güncelleme aşamasında belirlenen kartını ayırt etmeye yarayan tanım bilgisidir.
cardBrandString20OKartın BIN bilgisinden elde edilen Paycell'de tutulan marka bilgisidir.
isDefaultBooleanMKart “varsayılan kart olarak” tanımlı ise true, diğer durumda “false” dönülür; default kart bilgisi, müşteri tarafından kart ekleme veya kart güncelleme işlemi esnasında değiştirilebilir. Kullanım alanı örneği olarak, uygulama ödeme yapılacak kartları listelerken kartlar arasında bu değerin “true” olduğu kartı seçili olarak gösterebilir.
isExpiredBooleanMPaycell’de tanımlı olan kartın son kullanım tarihi geçmiş ise “true”, diğer durumda “false” dönülür. True olarak dönülen kart için uygulama ekranında kartın son kullanım tarihi geçtiğine dair bilgilendirme mesajı verilebilir, bu kart ödeme işlemlerinde kullanılamaz, kartın silinip yeni kartın eklenmesi gerekmektedir.
showEulaIdBooleanMPaycell’de tanımlı olan kart güncel Paycell sözleşme numarasına sahip değilse “true”, diğer durumda “false” dönülür. “True” olarak iletilen bir kart için ödeme işlemi yapılmak isteniyorsa öncelikle müşteriye bu kart için güncel sözleşme metni uygulamada gösterilip, güncel eulaID değeri için updateCard method’u ile kart bilgisi güncellenmelidir, güncel sözleşme bilgisine sahip olmayan bir kart için (showEulaId=true) işlem gönderilmemelidir.
activationDateStringMKartın Paycell’de tanımlandığı tarih bilgisidir.
isThreeDValidatedBooleanMKart Paycell’e 3D doğrulama yöntemi ile tanımlandı ise veya Paycell üzerinden 3D doğrulama yöntemi ile bir ödeme işlemi yapıldı ise “true”, diğer durumda “false” dönülür.
isOTPValidatedBooleanMİleride kullanılmak üzere ayrılmıştır, şu an için “false” dönülmektedir. Kartın OTP yöntemi ile doğrulanıp doğrulanmadığı bilgisidir.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:getCards>
<msisdn>905591111112</msisdn>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309084056197</transactionDateTime>
<transactionId>12345678901234567893</transactionId>
</requestHeader>
</prov:getCards>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getCardsResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123091155273</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567893</transactionId>
</responseHeader>
<cardList>
<activationDate>2016-10-18 14:22:29</activationDate>
<alias>GRNTI</alias>
<cardBrand>BONUS</cardBrand>
<cardId>85aa6533-26ab-4213-b628-27440d5cc4e3</cardId>
<isDefault>false</isDefault>
<isExpired>false</isExpired>
<isOTPValidated>false</isOTPValidated>
<isThreeDValidated>false</isThreeDValidated>
<maskedCardNo>482489******3019</maskedCardNo>
<showEulaId>false</showEulaId>
</cardList>

registerCard

Müşterinin Paycell’e kart eklemesi amacıyla kullanılır. registerCard çağrılmadan müşteriye güncel sözleşme metni gösterilir, müşterinin onaylaması durumunda registerCard servisi çağrılmalıdır. registerCard servisi çağrılmadan önce uygulama ekranından girilen kart bilgileri ile getCardTokenSecure servisi çağrılarak “token” değeri alınmış olunmalıdır. Kart Paycell’e eklendiğinde üye işyeri uygulamasına özel cardID değeri servis cevabında dönülür.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
cardTokenString36MgetCardTokenSecure servisi ile alınan token değeridir.
aliasString20OMüşterinin eklemek istediği karta vereceği isim bilgisidir.
isDefaultBooleanOEklenecek kart default olarak belirlenmek isteniyorsa True gönderilir, diğer durumda bu alan gönderilmez.
eulaIDString20MMüşterinin ekleyeceği kart için imzalamış olduğu güncel sözleşme metni versiyon numarası
otpValidationIdString20Oİleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında OTP gönderim isteği ID bilgisi iletilir.
otpString20Oİleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında müşteriye iletilen OTP değeri iletilir.
threeDSessionIdString36OKartın 3D doğrulama yöntemi ile eklenmesi durumunda getThreeDSession servisi cevabında dönülen session ID değeri iletilir.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
cardIdString36MEklenen kart için üye işyeri uygulaması bazında unique kart referans numarasıdır .

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:registerCard>
<alias>YKB</alias>
<cardToken>bc0a91f9-0dee-4f14-8cb5-21b78aeddd0d</cardToken>
<eulaId>15</eulaId>
<msisdn>905591111112</msisdn>
<isDefault>true</isDefault>
<threeDSessionId></threeDSessionId>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423228</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
</prov:registerCard>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:registerCardResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader> 
<responseCode>0</responseCode>
<responseDateTime>20161123100548477</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
<cardId>8857e17d-26f1-4817-ac8e-bb16834960e9</cardId>
</ns2:registerCardResponse>
</soap:Body>
</soap:Envelope>

updateCard

Kartın alias, isDefault ve sözleşme metni versiyon numaralarının güncellenmesi amacıyla kullanılır. Ayrıca 3D doğrulama yöntemi ile eklenmemiş bir kart için 3D doğrulama yapılarak 3D validasyon bilgisi güncellenebilir. Sözleşme metni güncel olmayan (getCards servisi cevabında showEulaId = True dönülen) kart için kullanıcıya güncel sözleşme metni gösterilerek, onaylaması durumunda updateCard servisi çağrılmalıdır.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
cardIdString36MBilgisi güncellenmek istenen kartın cardId değeri gönderilir.
aliasString20OMüşteri alias bilgisini değiştirmek istiyorsa güncellenecek değer iletilir.
isDefaultBooleanOSeçilen kart default olarak set edilmek isteniyorsa True gönderilir, diğer durumlarda bu alan gönderilmez.
eulaIdstring20MKartın güncel sözleşme metni versiyon numarası iletilir.
otpValidationIdstring20Oİleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında OTP gönderim isteği ID bilgisi iletilir.
otpstring20Oİleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında müşteriye iletilen OTP değeri iletilir.
threeDSessionIdstring36O3D doğrulama yöntemi ile eklenmemiş bir kart için 3D doğrulama yapılarak 3DValidasyon bilgisinin güncellenmesi isteniyorsa bu alan gönderilir. getThreeDSession servisi cevabında dönülen session ID değeri iletilir.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:updateCard>
<alias>YKBTest</alias>
<cardId>8857e17d-26f1-4817-ac8e-bb16834960e9</cardId>
<threeDSessionId></threeDSessionId>
<eulaId>15</eulaId>
<isDefault></isDefault>
<msisdn>905591111112</msisdn>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423228</transactionDateTime>
<transactionId>12345678901234567891</transactionId>
</requestHeader>
</prov:updateCard>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:updateCardResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123102524025</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567891</transactionId>
</responseHeader>
</ns2:updateCardResponse>
</soap:Body>
</soap:Envelope>

deleteCard

Paycell’de tanımlı bir kartın silinmesi amacıyla kullanılır. Kart otomatik ödeme talimatıyla ilişkili olmadığı sürece silinebilir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir .
cardIdString36MSilinmek istenen kartın cardId değeri gönderilir.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:deleteCard>
<cardId>8857e17d-26f1-4817-ac8e-bb16834960e9</cardId>
<msisdn>9055591111112</msisdn>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423228</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
</prov:deleteCard>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:deleteCardResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123103702232</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
</ns2:deleteCardResponse>
</soap:Body>
</soap:Envelope>

provision

Paycell’de tanımlı bir kart ile veya müşterinin kart numarası girerek gerçekleştireceği ödeme isteklerinin Paycell’e iletilmesi amacıyla kullanılır.
Ödeme alternatifleri ve serviste iletilecek cardId ve cardToken kullanımları aşağıdaki şekildeki gibidir.
Kayıtlı kart ile cvc girilmeden:
Sadece cardId gönderilir.
Kayıtlı kart ile cvc girilerek:
cardId ve sadece cvc’nin input olarak gönderildiği getCardTokenSecure servisi çağrılarak elde edilen cardToken parametreleri iletilir.
Kredi kartı numarası ve son kullanım tarihi girilerek:
Kart numarası ve son kullanım tarihi’nin input olarak gönderildiği getCardTokenSecure servisi çağrılarak elde edilen cardToken parametresi iletilir.
Kredi kartı numarası, son kullanım tarihi, cvc bilgisi girilerek:
Kart numarası, son kullanım tarihi ve cvc’nin input olarak gönderildiği getCardTokenSecure servisi çağrılarak elde edilen cardToken parametresi iletilir.

Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
cardIdString36OPaycell’de tanımlı kart ile ödeme yapılmak istenmesi durumunda gönderilir.
referanceNumberString20MÜye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
originalReferenceNumberString20OÖn otorizasyon kapama amaçlı paymentType = POSTAUTH işlemi gönderildiğinde kapatılacak olan ön otorizasyon işleminin referenece number değeridir. Diğer işlem tiplerinde gönderilmez.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
amountString12Mİşlem tutarıdır.
Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
currencyString3Mİşlem döviz cinsini belirler.TRY, EUR, USD, vb.
installmentCountInteger2OTaksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
pointAmountString12Oİleride kullanılmak üzere ayrılmıştır. Kart puan bilgisidir.
paymentTypeEnumMÖdeme işlem tipini belirtir, ön otorizasyon uygulaması söz konusu değilse SALE değeri gönderilir[SALE, PREAUTH, POSTAUTH].
acquirerBankCodeString4Oİleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
pinString6Oİleride kullanılmak üzere ayrılmıştır. Paycell kullanıcısı PIN değeri iletilir.
threeDSessionIdString36OÖdeme işleminin 3D doğrulama yöntemi ile yapılması durumunda getThreeDSession servisi cevabında alınan session ID bilgisidir.
cardTokenString36OKart numarası girilerek yapılmak istenen ödeme işlemlerinde getCardTokenSecure servisi alınan değer veya kayıtlı kart kullanımında cvc ile ödeme yapılmasına ilişkin getCardTokenSecure servisi ile cvc karşılığında alınan token değeri .
extraParametersArrayOÖdeme işlemine ilişkin ek bir parametre değeri opsiyonel olarak iletilebilir.

extraParameters
FieldFormatLength(O)ptional/(M)andatoryDescription
keyString50Oİletilmek istenen parametrenin adı belirtilir.
valueString500Oİletilmek istenen parametrenin değeri belirtilir.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
orderIdString32OBanka sisteminde iletilen sipariş numarasıdır.
acquirerBankCodeString3Oİşlemde kullanılan sanal pos bankasının EFT kodu numarasıdır.
approvalCodeoString6OBanka sisteminden iletilen onay kodudur.
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
issuerBankCodeString3Oİşlemde kullanılan kartın bankasının EFT kodu numarasıdır.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:provision>
<amount>2351</amount>
<cardId>c6acfcf6-a220-4b10-a30c-33d8922bd673</cardId>
<cardToken></cardToken>
<currency>TRY</currency>
<merchantCode>2001</merchantCode>
<msisdn>905591111112</msisdn>
<paymentType>SALE</paymentType>
<referenceNumber>12345678901234567891</referenceNumber>
<threeDSessionId></threeDSessionId>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423230</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
</prov:provision>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:provisionResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123112509161</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
<acquirerBankCode>046</acquirerBankCode>
<approvalCode>478341</approvalCode>
<issuerBankCode>046</issuerBankCode>
<orderId>926197750916112311250814</orderId>
<reconciliationDate>20161123</reconciliationDate>
</ns2:provisionResponse>
</soap:Body>
</soap:Envelope>

Ön Otorizasyon - Finansallaştırma (Preauth - Postauth)
Ödeme işlemleri için satış (SALE) dışında PREAUTH (ön otorizasyon) ve POSTAUTH (finansallaştırma) olmak üzere iki farklı işlem tipi mevcuttur.
Eğer ödeme işleminde preauth kullanılıyorsa karttan ön provizyon alınır ve üye işyeri adına, kart limitine provizyon miktarı kadar bloke konulur. Provizyon işlemi işyeri tarafından onaylanmadıkça üye işyeri hesabına yansımaz. Ödemenin alınıp işlemin tamamlanması için preauth işleminin finansallaştırma aşamasına geçmesi gerekir.

Preauth yapılan işlemin finansallaştırılması için ise postauth işlem tipi kullanılır. Preauth aşamasında ön provizyon alınan işlem onaylanır ve finansallaştırma gerçekleştirilir.
  • Postauth işlemi preauth olmadan yapılamaz.
  • Postauth tutarı preauth tutarına eşit ya da preauth tutarından az olabilir ancak fazla olamaz.
  • Postauth işleminde kullanılan değeri kapatılacak olan preauth işleminin reference number değeridir. Diğer işlem tiplerinde (SALE,PREAUTH) bu değer gönderilmez.
  • Preauth işlemi finansallaştırılmadan iptal edilecekse “reverse” metodu kullanılabilir. Bu durumda işlem tipi “PREAUTH_REVERSE” olarak güncellenir.
  • Preauth işlemi finansallaştırma sonrasında iptal edilecekse “reverse” metodu kullanılabilir. Bu durumda işlem tipi “POSTAUTH_REVERSE” olarak güncellenir.
  • Preauth ve postauth işlemleri için reverse metodu çağırılırken, preauth işlemine ait reference number değeri originalReferenceNumber alanında iletilir.
  • Preauth ve postauth işlemlerinin iadesi (refund) bulunmamaktadır.

Örnek Request (Preauth)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:provision>
<amount>102</amount>
<referenceNumber>12535671343938546731</referenceNumber>
<cardId>7929deb2-09e2-4e69-99aa-886e600f910d</cardId>
<cardToken></cardToken>
<currency>TRY</currency>
<merchantCode>9001</merchantCode>
<msisdn>905591111177</msisdn>
<paymentType>PREAUTH</paymentType>
<originalReferenceNumber></originalReferenceNumber>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>88.248.135.240</clientIPAddress>
<transactionDateTime>20161125121627734</transactionDateTime>
<transactionId>12345678901234563892</transactionId>
</requestHeader>
</prov:provision>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response (Preauth)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:provisionResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20190215141447462</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234563892</transactionId>
</responseHeader>
<acquirerBankCode>046</acquirerBankCode>
<approvalCode>867171</approvalCode>
<issuerBankCode>046</issuerBankCode>
<orderId>645290759519021514144636</orderId>
<reconciliationDate>20190215</reconciliationDate>
</ns2:provisionResponse>
</soap:Body>
</soap:Envelope>

Örnek Request (Postauth)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:provision>
<amount>102</amount>
<cardId>7929deb2-09e2-4e69-99aa-886e600f910d</cardId>
<referenceNumber>12535671343938546732</referenceNumber>
<cardToken></cardToken>
<currency>TRY</currency>
<merchantCode>9001</merchantCode>
<msisdn>905591111177</msisdn>
<paymentType>POSTAUTH</paymentType>
<originalReferenceNumber>12535671343938546731</originalReferenceNumber>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>88.248.135.240</clientIPAddress>
<transactionDateTime>20161125121627734</transactionDateTime>
<transactionId>12345678901234563892</transactionId>
</requestHeader>
</prov:provision>
</soapenv:Body>
</soapenv:Envelope>


Örnek Response (Postauth)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:provisionResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20190215141447462</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234563892</transactionId>
</responseHeader>
<acquirerBankCode>046</acquirerBankCode>
<approvalCode>867171</approvalCode>
<issuerBankCode>046</issuerBankCode>
<orderId>645290759519021514144636</orderId>
<reconciliationDate>20190215</reconciliationDate>
</ns2:provisionResponse>
</soap:Body>
</soap:Envelope>


inquire

Yapılan ödemenin işlem sonucunun sorgulanması amacıyla kullanılır. Provision servisi senkron olarak işlem sonucunu dönmektedir, ancak provision servisine herhangi bir teknik arıza sebebiyle cevap dönülememesi sonrasında işlem timeout’a düştüğünde işlemin sonucu inquire ile sorgulanabilir. inquire servisi yapılan işleme ilişkin işlemin son durumunu ve işlemin tarihçe bilgisini iletir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
originalReferanceNumberString20MSorgulanacak işlemin "referenceNumber" değeridir.
referanceNumberString20MÜye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
orderIdString32OBanka sisteminde iletilen sipariş numarasıdır.
acquirerBankCodeString3Oİşlemde kullanılan sanal pos bankasının EFT kodu numarasıdır.
statusString12Oİşlemin güncel durumudur:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
provisionListArrayOİşleme ait tarihçe bilgisi iletilir.

provisionList
FieldFormatLength(O)ptional/(M)andatoryDescription
provisionTypeString12Oİşlemin tipini belirtir:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
transactionIdString20Oİlgili işlemin transactionId bilgisidir.
amountString12Oİlgili işlem tutarıdır.
approvalCodeString6OBanka sisteminden iletilen onay kodudur.
dateTimeString17Oİlgili işlemin gerçekleşme zamanıdır.
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
responseCodeString20Mİlgili işlemin sonuç bilgisidir.
0: Success, >0: Fail
responseDescriptionString200Mİlgili işlemin sonuç açıklama bilgisidir.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:inquire>
<merchantCode>2001</merchantCode>
<msisdn>905591111112</msisdn>
<originalReferenceNumber>12345678901234567891</originalReferenceNumber>
<referenceNumber>12345678901234567892</referenceNumber>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd> XXXX </applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423228</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
</prov:inquire>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:inquireResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<acquirerBankCode>046</acquirerBankCode>
<orderId>926197750916112311250814</orderId>
<provisionList>
<amount>2351</amount>
<approvalCode>478341</approvalCode>
<dateTime>20161123125420528</dateTime>
<provisionType>REVERSE</provisionType>
<reconciliationDate>20161123</reconciliationDate>
<responseCode>0</responseCode>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</provisionList>
<provisionList>
<amount>2351</amount>
<approvalCode>478341</approvalCode>
<dateTime>20161123112507261</dateTime>
<provisionType>SALE</provisionType>
<reconciliationDate>20161123</reconciliationDate>
<responseCode>0</responseCode>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</provisionList>
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123125430063</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
<status>REVERSE</status>
</ns2:inquireResponse>
</soap:Body>
</soap:Envelope>

reverse

Yapılan ödeme işleminin iptal edilmesi amacıyla kullanılır. İptal işlemi iki şekilde çağırabilir. Provision servisine cevap alınamayarak timeout alınması durumunda, işlem mutabakatının sağlanması amacıyla sistem tarafından reverse gönderilebilir. Müşterinin iptal talebi olması durumunda üye işyeri tarafından manuel olarak çağrılabilir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir .
originalReferanceNumberString20Mİptal edilecek işlemin "referenceNumber" değeridir.
referanceNumberString20MÜye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
approvalCodeString6OBanka sisteminden iletilen onay kodudur.
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:reverse>
<merchantCode>2001</merchantCode>
<msisdn>905591111112</msisdn>
<originalReferenceNumber>12345678901234567891</originalReferenceNumber>
<referenceNumber>0100000000007101052</referenceNumber>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423230</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
</prov:reverse>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:reverseResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<approvalCode>478341</approvalCode>
<reconciliationDate>20161123</reconciliationDate>
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123125420566</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
</ns2:reverseResponse>
</soap:Body>
</soap:Envelope>

refund

Yapılan ödeme işleminin iade edilmesi amacıyla kullanılır. İade, işlemin günsonu ardından ertesi günden itibaren iptal edilemesi veya belirli bir tutarın iade edilmesi amacıyla kullanılır. İptal işlemi iki şekilde çağırabilir. Provision servisine cevap alınamayarak timeout alınması durumunda, işlem mutabakatının sağlanması amacıyla şayet günsonu olmuş ise sistem tarafından refund gönderilebilir. Müşterinin iade talebi olması durumunda üye işyeri tarafından manuel olarak çağrılabilir. İade işlemi birden fazla sayıda çağrılabilir, iptal edilmiş bir işlem için iade işlemi gerçekleştirilemez, toplam iade tutarı işlem tutarının üzerinde olamaz.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
originalReferanceNumberString20Mİade edilecek işlemin "referenceNumber" değeridir.
referanceNumberString20MÜye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
amountstring12Mİade edilmesi istenen işlem tutarıdır. Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
pointAmountstring12Oİleride kullanılmak üzere ayrılmıştır. İade edilmesi istenen kart puan bilgisidir.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
approvalCodeString6OBanka sisteminden iletilen onay kodudur.
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:refund>
<amount>2280</amount>
<merchantCode>2001</merchantCode>
<msisdn>905598855588</msisdn>
<originalReferenceNumber>10200000000000001292</originalReferenceNumber>  
<referenceNumber>1263000000000000013</referenceNumber>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423230</transactionDateTime>
<transactionId>12345678901234567826</transactionId>
</requestHeader>
</prov:refund>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:refundResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<approvalCode>458662</approvalCode>
<reconciliationDate>20161123</reconciliationDate>
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123131650725</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567826</transactionId>
</responseHeader>
</ns2:refundResponse>
</soap:Body>
</soap:Envelope>

summaryReconciliation

Üye işyeri ve Paycell arasında işlem mutabakatı yapılması amacıyla kullanılır. Üye işyeri kendisinde gözüken işlem adet ve tutarlarını iletir, servis cevabında Paycell’deki adet ve tutarlar dönülür, eşit olması durumunda mutabakat durumu OK olarak dönülür.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
merchantCodeString19OÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
reconciliationDateString8Mİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih. YYYYMMDD formatında olacaktır.
totalSaleAmountString12Mİlgili tarihte gerçekleşen [Sale] işlemlerinin toplam tutarıdır. İşlem reverse edilmiş ise işleme ait sale kaydı reverse olarak güncellenir.
totalReverseAmountString12Mİlgili tarihte gerçekleşen [Reverse] işlemlerinin toplam tutarıdır.
totalRefundAmountString12Mİlgili tarihte gerçekleşen [Refund] işlemlerinin toplam tutarıdır.
totalPreAuthAmountString12Mİlgili tarihte gerçekleşen [PreAuth] işlemlerinin toplam tutarıdır. İşlem reverse edilmiş ise işleme ait PreAuth kaydı PreAuth_reverse olarak güncellenir.
totalPostAuthAmountString12Mİlgili tarihte gerçekleşen [PostAuth] işlemlerinin toplam tutarıdır. İşlem reverse edilmiş ise işleme ait PostAuth kaydı PostAuth_reverse olarak güncellenir.
totalPreAuthReverseAmountString12Mİlgili tarihte gerçekleşen [PreAuth_Reverse] işlemlerinin toplam tutarıdır.
totalPostAuthReverseAmountString12Mİlgili tarihte gerçekleşen [PostAuth_Reverse] işlemlerinin toplam tutarıdır.
totalSaleCountNumberMİlgili tarihte gerçekleşen [Sale] işlemlerinin toplam adedidir. İşlem reverse edilmiş ise işleme ait sale kaydı reverse olarak güncellenir.
totalReverseCountNumberMİlgili tarihte gerçekleşen [Reverse] işlemlerinin toplam adedidir.
totalRefundCountNumberİlgili tarihte gerçekleşen [Refund] işlemlerinin toplam adedidir.
totalPreAuthCountNumberİlgili tarihte gerçekleşen [PreAuth] işlemlerinin toplam adedidir. İşlem reverse edilmiş ise işleme ait PreAuth kaydı PreAuth_reverse olarak güncellenir.
totalPostAuthCountNumberİlgili tarihte gerçekleşen [PostAuth] işlemlerinin toplam adedidir. İşlem reverse edilmiş ise işleme ait PostAuth kaydı PostAuth_reverse olarak güncellenir.
totalPreAuthReverseCountNumberİlgili tarihte gerçekleşen [PreAuth_Reverse] işlemlerinin toplam adedidir.
totalPostAuthCountNumberİlgili tarihte gerçekleşen [PostAuth_Reverse] işlemlerinin toplam adedidir.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
reconciliationResultString10MMutabakat durumunu belirtir. OK, NOK
reconciliationDateString8Mİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih. YYYYMMDD formatında olacaktır.
totalSaleAmountString12MPaycell üzerinde yer alan değerdir.
totalReverseAmountString12MPaycell üzerinde yer alan değerdir.
totalRefundAmountString12MPaycell üzerinde yer alan değerdir.
totalPreAuthAmountString12MPaycell üzerinde yer alan değerdir.
totalPostAuthAmountString12MPaycell üzerinde yer alan değerdir.
totalPreAuthReverseAmountString12MPaycell üzerinde yer alan değerdir.
totalPostAuthReverseAmountString12MPaycell üzerinde yer alan değerdir.
totalSaleCountNumberMPaycell üzerinde yer alan değerdir.
totalReverseCountNumberMPaycell üzerinde yer alan değerdir.
totalRefundCountNumberMPaycell üzerinde yer alan değerdir.
totalPreAuthCountNumberMPaycell üzerinde yer alan değerdir.
totalPostAuthCountNumberMPaycell üzerinde yer alan değerdir.
totalPreAuthReverseCountNumberMPaycell üzerinde yer alan değerdir.
totalPostAuthReverseCountNumberMPaycell üzerinde yer alan değerdir.

Örnek Mutabakat İşlem Sayıları
100 tl’lik ve 120 tl’lik iki satış işlemi bulunmaktadır. Sırasıyla aşağıdaki işlemler yapılmıştır:
CaseMutabakat Sonucu
100 tl’lik (x) ve 120 tl’lik (y) olmak üzere iki satış işlemi bulunmaktadırTotalSaleAmount = 220
totalReverseAmount = 0
totalRefundAmount = 0
totalSaleCount = 2
totalReverseCount = 0
totalRefundCount = 0
100 tl’lik (x) işlem reverse yapılmıştırTotalSaleAmount = 120
totalReverseAmount = 100
totalRefundAmount = 0
totalSaleCount = 1
totalReverseCount = 1
totalRefundCount = 0
120 tl’lik (y) işlem için 50 tl’lik refund yapılmıştırTotalSaleAmount = 120
totalReverseAmount = 100
totalRefundAmount = 50
totalSaleCount = 1
totalReverseCount = 1
totalRefundCount = 1

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <prov:summaryReconciliation>
         <merchantCode>2001</merchantCode>
         <reconciliationDate>20160404</reconciliationDate>
         <requestHeader>
            <applicationName>XXXX</applicationName>
            <applicationPwd>XXXX</applicationPwd>
            <clientIPAddress>12312312</clientIPAddress>
            <transactionDateTime>20160309112423228</transactionDateTime>
            <transactionId>12345678901234567890</transactionId>
         </requestHeader>
         <totalRefundAmount>10</totalRefundAmount>
         <totalRefundCount>1</totalRefundCount>	
         <totalReverseAmount>0</totalReverseAmount>
         <totalReverseCount>0</totalReverseCount>
         <totalSaleAmount>152080</totalSaleAmount>
         <totalSaleCount>5</totalSaleCount>
      </prov:summaryReconciliation>
   </soapenv:Body>
</soapenv:Envelope>


Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:summaryReconciliationResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
         <reconciliationDate>20160404</reconciliationDate>
         <reconciliationResult>NOK</reconciliationResult>
         <responseHeader>
            <responseCode>0</responseCode>
            <responseDateTime>20161123133938078</responseDateTime>
            <responseDescription>Success</responseDescription>
            <transactionId>12345678901234567890</transactionId>
         </responseHeader>
         <totalRefundAmount>0</totalRefundAmount>
         <totalRefundCount>0</totalRefundCount>
         <totalReverseAmount>0</totalReverseAmount>
         <totalReverseCount>0</totalReverseCount>
         <totalSaleAmount>682560</totalSaleAmount>
         <totalSaleCount>14</totalSaleCount>
         <totalPostAuthAmount>1</totalPostAuthAmount>
         <totalPostAuthCount>1</totalPostAuthCount>
         <totalPostAuthReverseAmount>1500</totalPostAuthReverseAmount>
         <totalPostAuthReverseCount>1</totalPostAuthReverseCount>
         <totalPreAuthAmount>0</totalPreAuthAmount>
         <totalPreAuthCount>0</totalPreAuthCount>
         <totalPreAuthReverseAmount>0</totalPreAuthReverseAmount>
         <totalPreAuthReverseCount>0</totalPreAuthReverseCount>
      </ns2:summaryReconciliationResponse>
   </soap:Body>
</soap:Envelope>

getThreeDSession

3D doğrulama yöntemi ile işlem yapılması durumunda threeDSession ID bilgisi alınması amacıyla kullanılır.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
targetString20MMERCHANT değerini alır.
referanceNumberString20OAkaryakıt ödeme işlemlerinde kullanılır. Üye işyeri uygulaması üzerinden başlatılan normal ödeme işlemlerinde gönderilmez.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
amountString12Oİşlem tutarıdır.Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
Kart ekleme veye kart güncelleme akışlarında kullanılması durumunda 3D doğrulamada amount olarak 1 kuruş iletilebilir.
installmentCountInteger2OTaksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
transactionTypeString20MAUTH, PREAUTH
cardIdString36OPaycell’de tanımlı kart ile işlem yapılırsa gönderilir.
cardTokenString36OKart numarası girilerek işlem yapılırsa gönderilir.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
threeDSessionIdstring36M3D doğrulama işlemine ait session ID değeridir.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Body>
<prov:getThreeDSession>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309084056197</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
<amount>12300</amount>
<cardId>1677920e-c1c5-485b-b0d4-eb9a754cacf7</cardId>
<installmentCount></installmentCount>
<msisdn>905591111112</msisdn>
<merchantCode>1234</merchantCode>
<referenceNumber></referenceNumber>
<target>MERCHANT</target>
<transactionType>AUTH</transactionType>
</prov:getThreeDSession>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getThreeDSessionResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123164841078</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
<threeDSessionId>622299f6-580b-4265-81f3-664e0007faca</threeDSessionId>
</ns2:getThreeDSessionResponse>
</soap:Body>
</soap:Envelope>

getThreeDSessionResult

3D doğrulama yöntemi ile işlem yapılması durumunda 3D doğrulama işleminin sonucunun sorgulanması amacıyla kullanılır.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir .
threeDSessionIdString36MgetThreeDSession method’u ile alınan threeDSessionId değeridir.
referanceNumberString20OTarget=MERCHANT olduğunda iletilir. Akaryakıt ödeme işlemlerinde kullanılır. Üye işyeri uygulaması üzerinden başlatılan normal ödeme işlemlerinde gönderilmez.
merchantCodeString19MTarget=MERCHANT olduğunda iletilir. Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
currentStepString10O3D doğrulama işleminin adımı:0, 1, 2, 3
Bilgi amaçlıdır, 3D doğrulama kontrolünde kullanılmamaktadır, doğrulama sonucu threeDOperationResult.threeDResult alanına bakılarak 3D doğrulamanın başarılı/başarısız olduğu bilgisi alınarak yapılır.
mdErrorMessageString50O3D doğrulama sonucunda bankadan dönen mdErrorMessage. Bilgi amaçlıdır, 3D doğrulama kontrolünde kullanılmamaktadır, doğrulama sonucu threeDOperationResult.threeDResult alanına bakılarak 3D doğrulamanın başarılı/başarısız olduğu bilgisi alınarak yapılır.
mdStatusString10O3D doğrulama sonucunda bankadan dönene mdStatus
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Bilgi amaçlıdır, 3D doğrulama kontrolünde kullanılmamaktadır, doğrulama sonucu threeDOperationResult.threeDResult alanına bakılarak 3D doğrulamanın başarılı/başarısız olduğu bilgisi alınarak yapılır.
threeDOperationResultStringOthreeDOperationResult null ise 3D doğrulama işlemi henüz sonlanmamıştır. threeDOperationResult null değil ise 3D doğrulama işlemi sonlanmıştır. Bu durumda threeDOperationResult.threeDResult alanına bakılarak 3D doğrulamanın başarılı/başarısız olduğu bilgisi alınır.

threeDOperationResult
FieldFormatLength(O)ptional/(M)andatoryDescription
threeDResultstring100O3D doğrulama sonuç kodu.threeDResult=0 olduğunda 3D doğrulama başarılıdır.
threeDResultDescriptionstring100O3D doğrulama sonuç kodu açıklaması

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:getThreeDSessionResult>
<requestHeader>
<applicationName>XXXX </applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.2252.187.81</clientIPAddress>
<transactionDateTime>20160309084056197</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
<msisdn>905591111112</msisdn>
 <referenceNumber></referenceNumber>
<merchantCode>1234</merchantCode>
<threeDSessionId>622299f6-580b-4265-81f3-664e0007faca</threeDSessionId>
</prov:getThreeDSessionResult>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getThreeDSessionResultResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20161123170000540</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
<currentStep>3</currentStep>
<mdErrorMessage>Authenticated</mdErrorMessage>
<mdStatus>1</mdStatus>
<threeDOperationResult>
<threeDResult>0</threeDResult>
<threeDResultDescription>3D Dogrulama basarili</threeDResultDescription>
</threeDOperationResult>
</ns2:getThreeDSessionResultResponse>
</soap:Body>
</soap:Envelope>

provisionForMarketPlace

Üye işyerinin pazaryeri kurgusu (birden fazla altüye işyerine ödeme yapabilmesi) amacıyla kullanılır.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
cardIdString36OPaycell’de tanımlı kart ile ödeme yapılmak istenmesi durumunda gönderilir.
referenceNumberString20MÜye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
amountString12Mİade edilmesi istenen işlem tutarıdır. Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
currencyString3Mİşlem döviz cinsini belirler.
TRY, EUR, USD, vb.
installmentCountInteger2OTaksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
pointAmountString12Oİleride kullanılmak üzere ayrılmıştır. İade edilmesi istenen kart puan bilgisidir.
paymentTypeEnumMÖdeme işlem tipini belirtir, ön otorizasyon uygulaması söz konusu değilse SALE değeri gönderilir.
[SALE, PREAUTH, POSTAUTH]
acquirerBankCodeString4Oİleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
pinString6Oİleride kullanılmak üzere ayrılmıştır. Paycell kullanıcısı PIN değeri iletilir.
threeDSessionIdString36OÖdeme işleminin 3D doğrulama yöntemi ile yapılması durumunda getThreeDSession servisi cevabında alınan session ID bilgisidir.
cardTokenString36OKart numarası girilerek yapılmak istenen ödeme işlemlerinde getCardTokenSecure servisi alınan değer veya kayıtlı kart kullanımında cvc ile ödeme yapılmasına ilişkin getCardTokenSecure servisi ile cvc karşılığında alınan token değeri.
extraParametersArrayOÖdeme işlemine ilişkin ek bir parametre değeri opsiyonel olarak iletilebilir.
subMerchantsArrayOÖdeme işlemine ilişkin alt üye işyeri bilgileri iletilebilir.
customerEMailArrayOMüşteri email bilgisi iletilir.

extraParameters
FieldFormatLength(O)ptional/(M)andatoryDescription
keyString50Oİletilmek istenen parametrenin adı belirtilir.
valueString500Oİletilmek istenen parametrenin değeri belirtilir.

subMerchants
FieldFormatLength(O)ptional/(M)andatoryDescription
subMerchantKeyString50OAlt üye işyerine ait tanım değeri. Üye işyeri tarafından iletilir.
subMerchantPriceString500OAlt üye işyeri hesabına gönderilmesi istenen tutar.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
orderIdString32OÖdeme sisteminde iletilen sipariş numarasıdır.
acquirerBankCodeString4Oİleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
approvalCodeString6OÖdeme sisteminden iletilen onay kodudur.
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
issuerBankCodeString3Oİşlemde kullanılan kartın bankasının EFT kodu numarasıdır.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:provision>
<amount>2351</amount>
<cardId>813256de-a1a7-4988-b2d0-33282fcedd98</cardId>
<cardToken></cardToken>
<currency>TRY</currency>
<merchantCode>2003</merchantCode>
<msisdn>905591111112</msisdn>
<paymentType>SALE</paymentType>
<referenceNumber>12345678901234566898</referenceNumber>
<threeDSessionId></threeDSessionId>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309112423230</transactionDateTime>
<transactionId>12345678901234567890</transactionId>
</requestHeader>
</prov:provision>
</soapenv:Body>
</soapenv:Envelope>


Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:provisionResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20190130213537251</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567890</transactionId>
</responseHeader>
<acquirerBankCode>046</acquirerBankCode>
<approvalCode>091458</approvalCode>
<issuerBankCode>046</issuerBankCode>
<orderId>955032806719013021353558</orderId>
<reconciliationDate>20190130</reconciliationDate>
</ns2:provisionResponse>
</soap:Body>
</soap:Envelope>


getProvisionHistory

Geçmiş işlem detaylarını sorgulamak için kullanılacak servistir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
merchantCodeString19OTarget=MERCHANT olduğunda iletilir. Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
partitionNoString12OÇağrım sayısı
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
nextPartitionNoString12OSonraki çağrım sayısı, eğer dolu gelirse tekrar bu çağrım sayısı ile istek yapılmalıdır, taki next partition kalmayana kadar.
acquirerBankCodeString3Oİşlemde kullanılan ödeme isteminin Paycell’de tanımlı numarasıdır.
amountString12Oİlgili işlem tutarıdır.
approvalCodeString6OÖdeme sisteminden iletilen onay kodudur.
issuerBankCodeString3Oİşlemde kullanılan kartın bankasının EFT kodu numarasıdır.
netAmountString12Oİlgili işlem net tutarıdır.
orderIdString32OÖdeme sisteminde iletilen sipariş numarasıdır.

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:getProvisionHistory>
<requestHeader>
<applicationName>XXXX</applicationName> 
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>10.252.187.81</clientIPAddress>
<transactionDateTime>20160309084056197</transactionDateTime>
<transactionId>12345678901234567893</transactionId>
</requestHeader>
<merchantCode>2003</merchantCode>
<partitionNo>1</partitionNo>
<reconciliationDate>20181018</reconciliationDate>
</prov:getProvisionHistory>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getProvisionHistoryResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20181030220232438</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234567893</transactionId>
</responseHeader>
<nextPartitionNo>2</nextPartitionNo>
<transactionList>
<acquirerBankCode>111</acquirerBankCode>
<amount>23.51</amount>
<approvalCode>537935</approvalCode>
<issuerBankCode>111</issuerBankCode>
<netAmount>23.51</netAmount>
<orderId>103422357118101810382015</orderId>
<referenceNumber>12333374409823467891</referenceNumber>
<transactionDateTime>20181018103818666</transactionDateTime>
<transactionId>12345678901234567893</transactionId>
</transactionList>
<transactionList>
<acquirerBankCode>111</acquirerBankCode>
<amount>23.51</amount>
<approvalCode>644171</approvalCode>
<issuerBankCode>111</issuerBankCode>
<netAmount>23.51</netAmount>
<orderId>716242318518101810473518</orderId>
<referenceNumber>12333374409823468891</referenceNumber>
<transactionDateTime>20181018104734870</transactionDateTime>
<transactionId>12345678901234567893</transactionId>
</transactionList>
</ns2:getProvisionHistoryResponse>
</soap:Body>
</soap:Envelope></soapenv:Envelope>

getTermsOfServiceContent

Paycell’de tanımlı olan kartlar için mevcut sözleşme içeriğinin görüntülenmesini sağlayan servistir.
Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
eulaIdString20OKarta ait güncel sözleşme metni versiyon numarasıdır.
termsOfServiceHtmlContentENStringOGüncel sözleşmenin İngilizce metninin HTML formatında görüntülenen halidir.
termsOfServiceHtmlContentTRStringOGüncel sözleşmenin Türkçe metninin HTML formatında görüntülenen halidir.
Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:getTermsOfServiceContent>
<requestHeader>
<applicationName>XXXX</applicationName>
<applicationPwd>XXXX</applicationPwd>
<clientIPAddress>11.111.111.111</clientIPAddress>
<transactionDateTime>20161125121627734</transactionDateTime>
<transactionId>12345678901234566808</transactionId>
</requestHeader>
</prov:getTermsOfServiceContent>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getTermsOfServiceContentResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/">
<responseHeader>
<responseCode>0</responseCode>
<responseDateTime>20190107101027091</responseDateTime>
<responseDescription>Success</responseDescription>
<transactionId>12345678901234566808</transactionId>
</responseHeader>
<eulaId>16</eulaId>
<termsOfServiceHtmlContentEN><![CDATA[<!DOCTYPE html>
Sözleşme içeriğinin İngilizce versiyonu
</html>]]></termsOfServiceHtmlContentEN>
<termsOfServiceHtmlContentTR><![CDATA[<!DOCTYPE html>
Sözleşme içeriğinin Türkçe versiyonu
</html>]]></termsOfServiceHtmlContentTR>
</ns2:getTermsOfServiceContentResponse>
</soap:Body>
</soap:Envelope>

getCardBinInformation

Müşterilerin kart numarasının ilk 6 hanesinden oluşan bin bilgisi veya kart token bilgisi girilerek ya da kayıtlı tüm kartların listelenebileceği ALL seçeneği kullanılarak kart bilgilerinin görüntülenmesini sağlayan servistir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
tokenString400MgetCardTokenSecure servisi çağrılarak elde edilen token değeridir.
binValueString19MKart numarasının ilk 6 hanesidir.
getTypeString3MALL olarak gönderildiğinde tüm kayıtlı tüm kartların bilgileri listelenir.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
bankCodeString3MKart banka kodu
bankNameString50MKart bankasının adı
binValueString16MKart numarasının ilk 6 hanesinden oluşan prefix değeri
cardBrandString16MKart brandi
cardOrganizationString16MKart organizasyonu
cardTypeString16MKart tipi (Kredi kartı/debit)
commercialTypeString16MKartın ticari tipi
typeIdString1MKart tipi id değeri

Örnek Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
<soapenv:Header/>
<soapenv:Body>
<prov:getCardBinInformation>
<requestHeader>
<applicationName>PAYCELLTEST</applicationName>
<applicationPwd>PaycellTestPassword</applicationPwd>
<clientIPAddress>11.111.111.111</clientIPAddress>
<transactionDateTime>20190725121627734</transactionDateTime>
<transactionId>12345678901234666813</transactionId>
</requestHeader>
<binValue>979206</binValue>
<getType></getType>
<token></token>
</prov:getCardBinInformation>
</soapenv:Body>
</soapenv:Envelope>

Örnek Response
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getCardBinInformationResponse xmlns:ns2="http://provision.web.tpay.mf.turkcelltech.com/" 
xmlns:ns3="http://endPoint.omcc.turkcelltech.com">
<cardBinInformations>
<bankCode>046</bankCode>
<bankName>AKBANK</bankName>
<binValue>979206</binValue>
<cardOrganization>TROY</cardOrganization>
<cardType>Credit Card</cardType>
<commercialType>BIREYSEL</commercialType>
<typeId>1</typeId>
</cardBinInformations>
<operationResult>
<resultCode>0</resultCode>
<resultDescription>Islem basarili</resultDescription>
</operationResult>
</ns2:getCardBinInformationResponse>
</soap:Body>
</soap:Envelope>

getCards

Örnek Request
{
   "msisdn": "5380521479",
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   }
}            

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20181017103525997",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "eulaId": "16",
   "cardList":    [
            {
         "cardId": "bd142ddd-9fa4-46a6-8024-895500274826",
         "maskedCardNo": "402277******4026",
         "alias": "CARDFINANS**26",
         "cardBrand": "CARDFINANS",
         "isDefault": true,
         "isExpired": false,
         "showEulaId": false,
         "isThreeDValidated": true,
         "isOTPValidated": false,
         "activationDate": "2018-10-10 10:06:29"
      },
            {
         "cardId": "4b20f20c-945b-46b7-8538-4ea22b5c8c79",
         "maskedCardNo": "545616******5454",
         "alias": "CARDFINANS**54",
         "cardBrand": "CARDFINANS",
         "isDefault": false,
         "isExpired": false,
         "showEulaId": false,
         "isThreeDValidated": true,
         "isOTPValidated": false,
         "activationDate": "2018-10-16 19:15:27"
      }
   ]
}             

registerCard

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "alias": "3dlicard",
   "cardToken": "0a2c1212-4107-4eee-8b4d-22ff984ee46b",
   "eulaId": "16",
   "isDefault": "true",
   "msisdn": "905322870886",
   "threeDSessionId": "f547e92e-0675-4329-90ba-a85bea0dbaf7"
}             

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20181018101442892",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "cardId": "f97715a8-77db-4d3f-9dd6-497c87be82ed"
}            

updateCard

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": “XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309112423228",
      "transactionId": "12345678901234567891"
   },
  "alias": "YKBTest",
   "cardId": "01525e7d-e6c6-448d-aaab-cca5339f24c6",
   "eulaId": "16",
   "isDefault": " ",
   "msisdn": "905591111112",
   "threeDSessionId": " "
}           

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567891",
      "responseDateTime": "20181017141035079",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null
}          

deleteCard

Örnek Request
{
   "cardId": "40760eb6-0941-4c5b-a4c0-3b02cfe4fdac",
   "msisdn": "905599999969",
   "requestHeader":    {
      "applicationName": " XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "91.93.156.6",
      "transactionDateTime": "20181002182828017",
      "transactionId": "00000000000002187144"
   }
}          

Örnek Response
{
"responseHeader": {
   "transactionId": "00000000000002187144",
   "responseDateTime": "20181017155605211",
   "responseCode": "0",
   "responseDescription": "Success"
}
}         

provision

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "cardId": "bd142ddd-9fa4-46a6-8024-895500274826",
   "merchantCode": "2003",
   "msisdn": "5380521479",
   "referenceNumber": "12333374401234567892",
   "amount": "2351",
   "paymentType": "SALE",
   "acquirerBankCode": "111",
   "threeDSessionId": " "
}
}        

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20181017104734492",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "551952788718101710473129",
   "acquirerBankCode": "111",
   "issuerBankCode": "111",
   "approvalCode": "646174",
   "reconciliationDate": "20181017"
}       

inquire

Örnek Request
{
 "merchantCode": "2001",
   "msisdn": "905591111112",
   "originalReferenceNumber": "12345678901234567891",
   "referenceNumber": "12345678901234567892",
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309112423228",
      "transactionId": "12345678901234567890"
   }
}      

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567890",
      "responseDateTime": "20181017131815713",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "orderId": "926197750916112311250814",
   "acquirerBankCode": "046",
   "status": "REVERSE",
   "provisionList":    [
            {
         "provisionType": "REVERSE",
         "transactionId": "12345678901234567890",
         "amount": "2351",
         "approvalCode": "478341",
         "dateTime": "20161123125420528",
         "reconciliationDate": "20161123",
         "responseCode": "",
         "responseDescription": ""
      },
            {
         "provisionType": "SALE",
         "transactionId": "12345678901234567890",
         "amount": "2351",
         "approvalCode": "478341",
         "dateTime": "20161123112507261",
         "reconciliationDate": "20161123",
         "responseCode": "",
         "responseDescription": ""
      }
   ]
}     

reverse

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
 "cardId": "e14fa3bc-82df-4086-bae2-664b77ae8692",
   "merchantCode": "9998",
   "msisdn": "5380521479",
   "referenceNumber": "12333374401234666892",
   "originalReferenceNumber": "12333374401234667882",
   "amount": "2351",
   "paymentType": "SALE",
   "acquirerBankCode": "111",
   "threeDSessionId": " "
}    

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20181101101959745",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "reconciliationDate": "20181101",
   "approvalCode": "575533",
   "retryStatusCode": null,
   "retryStatusDescription": null
}   

refund

Örnek Request
{
   "amount": "1000",
   "merchantCode": "2003",
   "msisdn": "905599999969",
   "originalReferenceNumber": "12319332200000000000",
   "referenceNumber": "1263000000000000933",
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "91.93.156.6",
      "transactionDateTime": "20181002182828017",
      "transactionId": "00000000000002187144"
   }
} 

Örnek Response
{
   "responseHeader":    {
      "transactionId": "00000000000002187144",
      "responseDateTime": "20181017143240726",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "reconciliationDate": "20181017",
   "approvalCode": "820013",
   "retryStatusCode": null,
   "retryStatusDescription": null
}

summaryReconciliation

Örnek Request
{
   "merchantCode": "2003",
   "reconciliationDate": "20160404",
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "12312312",
      "transactionDateTime": "20160309112423228",
      "transactionId": "12345678901234567890"
   },
   "totalRefundAmount": "10",
   "totalRefundCount": "1",
   "totalReverseAmount": "0",
   "totalReverseCount": "0",
   "totalSaleAmount": "152080",
   "totalSaleCount": "5"
}


Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567890",
      "responseDateTime": "20181017134955617",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "reconciliationResult": "NOK",
   "reconciliationDate": "20160404",
   "totalSaleAmount": "0",
   "totalReverseAmount": "0",
   "totalRefundAmount": "0",
   "totalPreAuthAmount": "0",
   "totalPostAuthAmount": "0",
   "totalPreAuthReverseAmount": "0",
   "totalPostAuthReverseAmount": "0",
   "totalSaleCount": 0,
   "totalReverseCount": 0,
   "totalRefundCount": 0,
   "totalPreAuthCount": 0,
   "totalPostAuthCount": 0,
   "totalPreAuthReverseCount": 0,
   "totalPostAuthReverseCount": 0,
   "extraParameters": null
}


getThreeDSession

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "amount": "2351",
   "cardToken": "8c0e9491-9149-4b8e-9d99-a40669486ebd",
   "installmentCount": " ",
   "merchantCode": "2005",
   "msisdn": "5380521479",
   "referenceNumber": " ",
   "target": "MERCHANT",
   "transactionType": "AUTH"
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20181018085925250",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "threeDSessionId": "fa3d0e81-e9c8-4329-b0b7-5837c332c71e"
}

getThreeDSessionResult

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567890"
   },
   "merchantCode": "2005",
   "msisdn": "5380521479",
   "referenceNumber": " ",
   "threeDSessionId": "4e215e3a-ebe7-4800-b44c-21ba789fe3d5"
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567890",
      "responseDateTime": "20181031083214159",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "currentStep": "3",
   "mdErrorMessage": "Authenticated",
   "mdStatus": "1",
   "threeDOperationResult":    {
      "threeDResult": "0",
      "threeDResultDescription": "3D Dogrulama basarili"
   }
}

provisionForMarketPlace

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309112423230",
      "transactionId": "12345678901234567890"
   },
   "acquirerBankCode": "046",
   "amount": "2351",
   "cardId": "813256de-a1a7-4988-b2d0-33282fcedd98",
   "currency": "TRY",
   "merchantCode": "2003",
   "msisdn": "905591111112",
   "paymentType": "SALE",
   "referenceNumber": "12345678961334373593"
}


Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567890",
      "responseDateTime": "20190130214033491",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "042802072919013021403141",
   "acquirerBankCode": "046",
   "issuerBankCode": "046",
   "approvalCode": "205876",
   "reconciliationDate": "20190130",
   "iyzPaymentId": null,
   "iyzPaymentTransactionId": null
}


getProvisionHistory

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "merchantCode": "2003",
   "partitionNo": "1",
   "reconciliationDate": "20181018"
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20181030220749159",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "nextPartitionNo": 2,
   "transactionList":    [
            {
         "transactionDateTime": "20181018103818666",
         "orderId": "103422357118101810382015",
         "acquirerBankCode": "111",
         "approvalCode": "537935",
         "issuerBankCode": "111",
         "amount": 23.51,
         "netAmount": 23.51,
         "referenceNumber": "12333374409823467891",
         "transactionId": "12345678901234567893",
         "transactionParams": []
      },
            {
         "transactionDateTime": "20181018104734870",
         "orderId": "716242318518101810473518",
         "acquirerBankCode": "111",
         "approvalCode": "644171",
         "issuerBankCode": "111",
         "amount": 23.51,
         "netAmount": 23.51,
         "referenceNumber": "12333374409823468891",
         "transactionId": "12345678901234567893",
         "transactionParams": []
      }
   ]
}

getTermsOfServiceContent

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "11.111.111.111",
      "transactionDateTime": "20161125121627734",
      "transactionId": "12345678901234566808"
   }
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234566808",
      "responseDateTime": "20190128093135788",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "eulaId": 16,
   "termsOfServiceHtmlContentTR": "\n,
	Sözleşme içeriğinin Türkçe versiyonu
   "termsOfServiceHtmlContentEN": "\n\n 
	Sözleşme içeriğinin İngilizce versiyonu
}

getCardBinInformation

Örnek Request
{
   "requestHeader":    {
      "applicationName": "PAYCELLTEST",
      "applicationPwd": "PaycellTestPassword",
      "clientIPAddress": "11.111.111.111",
      "transactionDateTime": "20190726083359007",
      "transactionId": "12345682901034567090"
   },
   "binValue":"979244",
   "getType":"",
   "token":""
}

Örnek Response
{
    "cardBinInformations": [
        {
            "bankCode": "012",
            "bankName": "HALKBANK",
            "binValue": 979244,
            "cardBrand": null,
            "cardOrganization": "TROY",
            "cardType": "Credit Card",
            "commercialType": "BIREYSEL",
            "typeId": 1
        }
    ],
    "operationResult": {
        "bankOperationResult": null,
        "resultCode": "0",
        "resultDescription": "Islem basarili"
    }
}

getPaymentMethods

Müşterinin Paycell’de tanımlı olan kartları (kredi/debit/prepaid/PAYE yemek kartı) ve mobil ödeme(faturana yansıt) yöntemi olmak üzere kullanabileceği ödeme yöntemlerinin sorgulanıp listelenmesi amacıyla kullanılır. Müşterinin, üye işyerinin uygulama ekranında ilk kez Paycell’de tanımlı kartlarının ve mobil ödemesinin sorgulanması durumunda öncelikle müşterinin veri paylaşım iznini uygulama üzerinde vermiş olması gerekmektedir. Müşterinin ödeme yöntemlerinin listelenmesine yönelik verdiği izin üye işyeri uygulamasında tutulmalıdır.
requestParameters

Field Format Length (O)ptional/(M)andatory Description
msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.


responseParameters

Field Format Length (O)ptional/(M)andatory Description
eulaID String 20 M

Müşterinin tanımlı kart bilgisinden bağımsız olarak Paycell sisteminde güncel olan kart sözleşme numarası bilgisini döner:

1.Yeni kart ekleme senaryosunda müşteriye gösterilmesi gereken sözleşme metni numarası gösterilir, bu ID registerCard methodu’nda input olarak kullanılır.

2. Mevcut tanımlı kartlar için ise showEulaId = true ise ilgili kart için müşteriye gösterilmesi gereken sözleşme metni numarası gösterilir. Sözleşme kabul edildikten sonra updateCard requesti ile sözleşme bilgisi güncellenir.

cardList Array   O Müşterinin Paycell’de tanımlı kartları bulunması durumunda kart bilgileri liste olarak iletilir, tanımlı kart bulunmuyorsa boş dönülür.
mobilePayment Array   O Müşterinin Mobil Ödeme sisteminde kaydı bulunuyorsa mobil ödeme bilgileri iletilir. Müşterinin Mobil Ödeme sisteminde kaydı yoksa boş dönülür.


cardList

Field Format Length (O)ptional/(M)andatory Description
cardId String 36 M Kart bilgisine ilişkin uygulamaya özel kart referans numarasıdır, tanımlı kart için yapılan işlemlerde bu değer ilgili method’larda input olarak kullanılır.
maskedCardNo String 16 M Kartın ilk 6 ve son 4 hanesi açık, aradaki değerler *’lı olarak maskelenmiş numarasıdır.
alias String 20 O Müşteri tarafından kart ekleme veya kart güncelleme aşamasında belirlenen kartını ayırt etmeye yarayan tanım bilgisidir.
cardBrand String 20 O

Kartın BIN bilgisinden elde edilen Paycell'de tutulan marka bilgisidir."

cardBrand": "PAYE", olan kartlar PAYE yemek kartlarıdır.

isDefault Boolean   M Kart “varsayılan kart olarak” tanımlı ise true, diğer durumda “false” dönülür; default kart bilgisi, müşteri tarafından kart ekleme veya kart güncelleme işlemi esnasında değiştirilebilir. Kullanım alanı örneği olarak, uygulama ödeme yapılacak kartları listelerken kartlar arasında bu değerin “true” olduğu kartı seçili olarak gösterebilir.
isExpired Boolean   M Paycell’de tanımlı olan kartın son kullanım tarihi geçmiş ise “true”, diğer durumda “false” dönülür. True olarak dönülen kart için uygulama ekranında kartın son kullanım tarihi geçtiğine dair bilgilendirme mesajı verilebilir, bu kart ödeme işlemlerinde kullanılamaz, kartın silinip yeni kartın eklenmesi gerekmektedir.
showEulaId Boolean   M Paycell’de tanımlı olan kart güncel Paycell sözleşme numarasına sahip değilse “true”, diğer durumda “false” dönülür. “True” olarak iletilen bir kart için ödeme işlemi yapılmak isteniyorsa öncelikle müşteriye bu kart için güncel sözleşme metni uygulamada gösterilip, güncel eulaID değeri için updateCard method’u ile kart bilgisi güncellenmelidir, güncel sözleşme bilgisine sahip olmayan bir kart için (showEulaId=true) işlem gönderilmemelidir.
activationDate String   M Kartın Paycell’de tanımlandığı tarih bilgisidir.
isThreeDValidated Boolean   M Kart Paycell’e 3D doğrulama yöntemi ile tanımlandı ise veya Paycell üzerinden 3D doğrulama yöntemi ile bir ödeme işlemi yapıldı ise “true”, diğer durumda “false” dönülür.
isOTPValidated Boolean   M İleride kullanılmak üzere ayrılmıştır, şu an için “false” dönülmektedir. Kartın OTP yöntemi ile doğrulanıp doğrulanmadığı bilgisidir.


mobilePayment

Field Format Length (O)ptional/(M)andatory Description
isDcbOpen Boolean   M Müşterinin mobil ödemesi açık ise “true”, değilse “false” dönülür. Bu alanın “false” dönülmesi halinde üye işyeri bir checkbox ile müşteriye mobil ödemesinin açmak isteyip istemediğini sorabilir.
isEulaExpired Boolean   M Müşterinin daha önceden imzaladığı bir mobil ödeme sözleşmesi varsa ve bu sözleşme güncel değilse “true”, güncelse “false” dönülür.
eulaId String 20 O Müşterinin mobil ödeme sözleşmesi güncel değilse bu alanda güncel sözleşme versiyonu numarası dönülür.
eulaUrl String 20 O Müşterinin mobil ödeme sözleşmesi güncel değilse bu alanda verilecek link ile müşteri güncel sözleşmeye yönlendirilir.
signedEulaId String 20 O Müşterinin en son imzaladığı mobil ödeme sözleşmesinin versiyonunu gösterir. Eğer müşterinin daha önceden imzaladığı bir sözleşme yok ise boş dönülür.
limit String 20 M Müşterinin aylık kullanabileceği mobil ödeme limitidir. Son iki hanesi küsüratı belirtir.
maxLimit String 20 M Müşterinin mobil ödeme işlemi için kullanabileceği maksimum limittir. Son iki hanesi küsüratı belirtir.
remainingLimit String 20 M Müşterinin mobil ödeme yapmak için kullanabileceği kalan limitini gösterir. Son iki hanesi küsüratı belirtir.
statementDate String 20 M Müşterinin mobil ödemeye kaydolup sözleşme imzaladıktan sonra sözleşmesinin aktifleneceği tarihtir.


Örnek Request

{
   "msisdn": "5305289290",
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   }
}         


Örnek Response


{
"responseHeader": {
"transactionId": "12345678901234567893",
"responseDateTime": "20201121222034021",
"responseCode": "0",
"responseDescription": "Success"
},
"extraParameters": null,
"eulaId": "16",
"cardList": [
{
"cardId": "6f08f86f-0343-4e9e-a3e2-656a3facf79b",
"maskedCardNo": "454671******7894",
"alias": "MAXIMUM",
"cardBrand": "MAXIMUM",
"isDefault": true,
"isExpired": false,
"showEulaId": false,
"isThreeDValidated": true,
"isOTPValidated": false,
"activationDate": "2020-11-02 22:08:55",
"cardType": "Credit"
},
{
"cardId": "576a99b7-0cc3-4ecd-8e06-3613013e14a5",
"maskedCardNo": "700001******3173",
"alias": "payekart",
"cardBrand": "PAYE",
"isDefault": false,
"isExpired": false,
"showEulaId": false,
"isThreeDValidated": false,
"isOTPValidated": false,
"activationDate": "2020-11-17 12:42:28",
"cardType": "Debit"
}
],
"mobilePayment": {
"remainingLimit": "70164",
"limit": "75000",
"maxLimit": "75000",
"isDcbOpen": true,
"statementDate": "20201125",
"isEulaExpired": true,
"signedEulaId": "188",
"eulaId": "188",
"eulaUrl": null
}
}

 

openMobilePayment

Müşteri ödeme yöntemlerini listeledikten sonra mobil ödemesinin kapalı olduğu bilgisi geldiğinde merchant müşteriye bir checkbox ile mobil ödemeyi aç seçeneği sunabilir. Yetkili merchantlara kart kayıt sözleşmesi ile birlikte mobil ödeme sözleşmesi de verilecektir. Müşterinin bu sözleşmeler için tek bir checkbox ile Paycell kart saklama sözleşmesi ve mobil ödeme sözleşmesini kabul ettiğine dair sözleşme onayı vermesi gerekir.
Müşteri bu ekranda mobil ödemesini açma seçeneğini işaretler ve merchantın yine checkboxta sunacağı mobil ödeme sözleşmesini onaylar ise merchant openMobilePayment servisini çağıracaktır. Bu servis ile müşterinin mobil ödemesi kullanıma açılabilecektir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
eulaIdString20OgetPaymentMethods servisinde isEulaExpired alanı “true” dönmüşse bu alana güncel sözleşme numarası girilir, “false” dönmüşse bu alan kullanılmaz.

Örnek Request (Sözleşmesi Güncel Olmayan Müşteri İçin)
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5320612543",
      "eulaId":"185"
}       

Örnek Response (Sözleşmesi Güncel Olmayan Müşteri İçin)
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526181351531",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null
}

Örnek Request (Sözleşmesi Güncel Olan Müşteri İçin)
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5325628808"
}       

Örnek Response (Sözleşmesi Güncel Olan Müşteri İçin)
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526184658307",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null
}

sendOTP

Müşteri mobil ödeme yöntemiyle ödeme yapmak istediğinde, ödemeyi başlatmadan önce OTP ile doğrulama yapacaktır. sendOTP servisi tarafından müşteriye ilgili ödemeyi doğrulaması için SMS ile bir şifre gönderilecektir.
Request Parameters
Field Format Length (O)ptional/(M)andatory Description
msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
amount String 20 M Mobil ödeme yapılacak işleme ait tutardır.Son iki hanesi küsürat olacak şekildedir.
referenceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir.

Response Parameters
Field Format Length (O)ptional/(M)andatory Description
token String 36 M Her şifre için unique olarak üretilen doğrulama değeri
expireDate String 17 M Şifrenin parametrik olarak ayarlanabilen geçerlilik süresidir. YYMMddHHmmssSSS formatındadır.

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5332149727",
      "amount":"1",
      "referenceNumber":"1234567891234567800"
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190524171455059",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "token": "4bba3893-dce6-4d44-a264-1a6429cf7a83",
   "expireDate": 20190524171754513
}

validateOTP

sendOTP ile gönderilen şifrenin doğrulanması için kullanılacak servistir.
Request Parameters
Field Format Length (O)ptional/(M)andatory Description
msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
amount String 20 M Mobil ödeme yapılacak işleme ait tutardır.Son iki hanesi küsürat olacak şekildedir.
referenceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir.
otp String 4 M sendOTP servisininçağrılması sonucu müşteriye SMS olarak gönderilen, işleme özel unique şifre
token String 36 M sendOTP servisinin response olarak döndüğü, bir otp ve referenceNumber’a özel token değeri

Response Parameters
Field Format Length (O)ptional/(M)andatory Description
remainingRetryCount String 1 O OTP’nin başarılı şekilde girilebilmesi için geriye kalan deneme hakkını belirten sayıdır. OTP başarılı şekilde girildiyse boş olarak kalır, başarısızsa kalan hak sayısını gösterir.

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5332100016",
      "amount":"1",
      "otp":"1769",
      "token":"58a63efa-7688-4fd6-8bee-a45051f611d4",
      "referenceNumber":"1234567891234567810"
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526202332720",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "remainingRetryCount": null
}

provisionAll

Ödeme isteklerinin Paycell’e iletilmesi amacıyla kullanılır.
provisionAll servisi ile;

  • Paycell’de tanımlı olan bir kart kullanılarak (kredi/debit/prepaid/PAYE yemek kartı ile)
  • Kart numarası girilerek (kredi/debit/prepaid kartlar ile)
  • Mobil ödeme yöntemi(faturama yansıt) seçilerek
  • Kredi/debit kart ve kart puanı ile

ödeme yapılabilir.
Ödeme alternatifleri ve serviste iletilecek cardId ve cardToken kullanımları aşağıdaki şekildeki gibidir.
Kayıtlı kart ile cvc girilmeden:
Sadece cardId gönderilir.PAYE yemek kartı ile ödeme seçeneği sadece kartın PAYCELL cüzdana kayıtlı olması durumunda kullanılabilmektedir.
Kayıtlı kart ile cvc girilerek:
cardId ve sadece cvc’nin input olarak gönderildiği getCardTokenSecure servisi çağrılarak elde edilen cardToken parametreleri iletilir.
Kredi kartı numarası ve son kullanım tarihi girilerek:
Kart numarası ve son kullanım tarihi’nin input olarak gönderildiği getCardTokenSecure servisi çağrılarak elde edilen cardToken parametresi iletilir.
Kredi kartı numarası, son kullanım tarihi, cvc bilgisi girilerek:
Kart numarası, son kullanım tarihi ve cvc’nin input olarak gönderildiği getCardTokenSecure servisi çağrılarak elde edilen cardToken parametresi iletilir.
Mobil ödeme seçilerek:
Mobil ödeme yapılacak MSISDN iletilir.
Request Parameters

Field Format Length (O)ptional/(M)andatory Description
msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
cardId String 36 O Paycell’de tanımlı kart ile ödeme yapılmak istenmesi durumunda gönderilir.
referanceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
originalReferenceNumber String 20 O Ön otorizasyon kapama amaçlı paymentType = POSTAUTH işlemi gönderildiğinde kapatılacak olan ön otorizasyon işleminin referenece number değeridir. Diğer işlem tiplerinde gönderilmez.
merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
amount String 12 M İşlem tutarıdır.
Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
currency String 3 M İşlem döviz cinsini belirler.TRY, EUR, USD, vb.
installmentCount Integer 2 O Taksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
pointAmount String 12 O İleride kullanılmak üzere ayrılmıştır. Kart puan bilgisidir.
paymentType Enum   M Ödeme işlem tipini belirtir, ön otorizasyon uygulaması söz konusu değilse SALE değeri gönderilir[SALE, PREAUTH, POSTAUTH]. PAYE kart ile ödeme sadece SALE ödeme tipini desteklemektedir.
paymentMethodType Enum   M Ödeme yöntemi tipini belirtir. Mobil ödeme yapılcaksa “MOBILE_PAYMENT”, kartla ödeme yapılacaksa “CREDIT_CARD” gönderilir.
acquirerBankCode String 4 O İleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
pin String 6 O İleride kullanılmak üzere ayrılmıştır. Paycell kullanıcısı PIN değeri iletilir.
threeDSessionId String 36 O Ödeme işleminin 3D doğrulama yöntemi ile yapılması durumunda getThreeDSession servisi cevabında alınan session ID bilgisidir.
cardToken String 36 O Kart numarası girilerek yapılmak istenen ödeme işlemlerinde getCardTokenSecure servisi alınan değer veya kayıtlı kart kullanımında cvc ile ödeme yapılmasına ilişkin getCardTokenSecure servisi ile cvc karşılığında alınan token değeri .
extraParameters Array   O

Ödeme işlemine ilişkin ek bir parametre değeri opsiyonel olarak iletilebilir. Eğer işlem Yemek kartı - PAYE ile yapılırsa, ödemelerde ek olarak bu alanlar iletilecektir. Kredi Kartı, Debit ve Paycell Kart, Mobil Ödeme ile yapılan işlemlerde PAYE sahaları olmayacaktır. Üye işyeri tanımında tüm işlemlerin sabit bir vergi oranıyla PAYE’ye iletilmesi istenirse bu alanlar gönderilmeyebilir.Eğer farklı vergi dilimleri ve tutarlarıyla tamamlanacaksa bu bilgiler zorunludur. Örneğin; %1 ve %8lik vergi diliminde toplam 3 TLlik bir işlem için: mealPer1Tax vergi dilimi %8 için 800 mealPer1Amount vergi dilimindeki tutar 1 TL için 100 mealPer1Tax vergi dilimi %1 için 100 mealPer1Amount vergi dilimindeki tutar 2 TL için 200

Kart puanı kullanılacaksa; öncesinde kart bilgisi ile queryPoint servisi kullanılmalıdır.

Sorgulama servisi sonucunda alınan pointKey değeri ile birlikte provisionAll servisine iletilmelidir.

key -> queryPoint servisi responseundaki pointKey değeridir.

value-> ilgili puan türünde kullanılması istenen puan tutarıdır.Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525

   {
            "key": "XXXYYY11",
            "value": "50"
        }

 Sadece puan ile ödenmek istenen işlemlerin amount=puan amount değeri olmalıdır. amount > puan amount değeri olan işlemlerin puan hariç tutarı ilgili karttan tahsil edilmektedir.

 

 

Response Parameters

Field Format Length (O)ptional/(M)andatory Description
orderId String 32 O Kartla ödemede banka sisteminde iletilen sipariş numarasıdır. Mobil ödemede ise Mobil Ödeme tarafından iletilen sipariş numarasıdır.
acquirerBankCode String 3 O İşlemde kullanılan kartın bankasının EFT kodu numarasıdır. Mobil ödemede bu alan boş döner.PAYE ile tamamlanan işlemlerde 996 döner.
approvalCodeo String 6 O Banka sisteminden iletilen onay kodudur. Mobil ödemede bu alan boş döner.
reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
issuerBankCode String 3 O İşlemde kullanılan kartın bankasının EFT kodu numarasıdır. Mobil ödemede bu alan boş döner.PAYE ile tamamlanan işlemlerde 996 döner.


Örnek Request (Kart ile Ödeme)

{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "amount": "1",
   "cardId": "e43d5943-3e39-4f1c-8dc8-a52cc5828849",
   "currency": "TRY",
   "merchantCode": "2005",
   "msisdn": "5332109681",
   "paymentType": "SALE",
   "paymentMethodType":"CREDIT_CARD",
   "referenceNumber": "12333374401234568900"
}


Örnek Response (Kart ile Ödeme)

{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526222621143",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "957460402819052622261919",
   "acquirerBankCode": "046",
   "issuerBankCode": "046",
   "approvalCode": "311918",
   "reconciliationDate": "20190526",
   "iyzPaymentId": null,
   "iyzPaymentTransactionId": null
}

 

Örnek Request (Kart & Kart Puanı ile Ödeme)

{
"merchantCode": "500",
"msisdn": "5307018090",
"referenceNumber": "56800974731203607223",
"cardToken": "5e1d891f-db0b-4ed5-83f7-9d0c4d0fb23a",
"amount": "100",
"currency": "TRY",
"paymentType": "SALE",
"requestHeader": {
"transactionId": "66620201226161620335",
"transactionDateTime": "20201226161620335",
"clientIPAddress": "212.252.168.253",
"applicationName": "XXXX",
"applicationPwd": "XXXXXX"
},
"extraParameters": [
{
"key": "XXXYYY11",
"value": "50"
}
]
}


Örnek Response (Kart & Kart Puanı ile Ödeme)

{
"responseHeader": {
"transactionId": "66620201226161620335",
"responseDateTime": "20210701133248860",
"responseCode": "0",
"responseDescription": "Success"
},
"extraParameters": null,
"orderId": "119612696721070113324666",
"acquirerBankCode": "6005",
"issuerBankCode": "046",
"approvalCode": "495671",
"reconciliationDate": "20210701",
"iyzPaymentId": null,
"iyzPaymentTransactionId": null
}



Örnek Request (Mobil Ödeme)

{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5332109727",
      "amount":"1",
      "currency":"TRY",
      "merchantCode":"1182",
      "paymentMethodType":"MOBILE_PAYMENT",
      "paymentType":"SALE",
      "referenceNumber":"123452106152"
}



Örnek Response (Mobil Ödeme)

{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190525213956409",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "5131719",
   "acquirerBankCode": null,
   "issuerBankCode": null,
   "approvalCode": null,
   "reconciliationDate": "20190525",
   "iyzPaymentId": null,
   "iyzPaymentTransactionId": null
}


Örnek Request (PAYE ile Ödeme)

{
    "requestHeader": {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
        "clientIPAddress": "10.252.187.81",
        "transactionDateTime": "20160309084056197",
        "transactionId": "11246782101234561119"
    },
    "amount": "100",
    "cardId": "01f7b0dd-eb3f-4241-bbcf-92414aaa2c81",
    "currency": "TRY",
    "merchantCode": "9999",
    "msisdn": "905332108191",
    "paymentType": "SALE",
    "paymentMethodType": "CREDIT_CARD",
    "referenceNumber": "12313372402234568901",
    "extraParameters": [
        {
            "key": "mealPer1Tax",
            "value": "1800"
        },
        {
            "key": "mealPer1Amount",
            "value": "50"
        },
        {
            "key": "mealPer2Tax",
            "value": "100"
        },
        {
            "key": "mealPer2Amount",
            "value": "50"
        }
    ]
}


Örnek Response (PAYE ile Ödeme)

{
    "responseHeader": {
        "transactionId": "11246782101234561119",
        "responseDateTime": "20201121223653796",
        "responseCode": "0",
        "responseDescription": "Success"
    },
    "extraParameters": null,
    "orderId": "313302652820112122365221",
    "acquirerBankCode": "996",
    "issuerBankCode": "996",
    "approvalCode": null,
    "reconciliationDate": "20201121",
    "iyzPaymentId": null,
    "iyzPaymentTransactionId": null
}




Ön Otorizasyon - Finansallaştırma (Preauth - Postauth)
Ödeme işlemleri için satış (SALE) dışında PREAUTH (ön otorizasyon) ve POSTAUTH (finansallaştırma) olmak üzere iki farklı işlem tipi mevcuttur.
Eğer ödeme işleminde preauth kullanılıyorsa karttan ön provizyon alınır ve üye işyeri adına, kart limitine provizyon miktarı kadar bloke konulur. Provizyon işlemi işyeri tarafından onaylanmadıkça üye işyeri hesabına yansımaz. Ödemenin alınıp işlemin tamamlanması için preauth işleminin finansallaştırma aşamasına geçmesi gerekir.

Preauth yapılan işlemin finansallaştırılması için ise postauth işlem tipi kullanılır. Preauth aşamasında ön provizyon alınan işlem onaylanır ve finansallaştırma gerçekleştirilir.

  • Postauth işlemi preauth olmadan yapılamaz.
  • Postauth tutarı preauth tutarına eşit ya da preauth tutarından az olabilir ancak fazla olamaz.
  • Postauth işleminde kullanılan değeri kapatılacak olan preauth işleminin reference number değeridir. Diğer işlem tiplerinde (SALE,PREAUTH) bu değer gönderilmez.
  • Preauth işlemi finansallaştırılmadan iptal edilecekse “reverse” metodu kullanılabilir. Bu durumda işlem tipi “PREAUTH_REVERSE” olarak güncellenir.
  • Preauth işlemi finansallaştırma sonrasında iptal edilecekse “reverse” metodu kullanılabilir. Bu durumda işlem tipi “POSTAUTH_REVERSE” olarak güncellenir.
  • Preauth ve postauth işlemleri için reverse metodu çağırılırken, preauth işlemine ait reference number değeri originalReferenceNumber alanında iletilir.
  • Preauth ve postauth işlemlerinin iadesi (refund) bulunmamaktadır.


Örnek Request (Preauth)
)

{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "amount": "1",
   "cardId": "e43d5943-3e39-4f1c-8dc8-a52cc5828849",
   "currency": "TRY",
   "merchantCode": "2005",
   "msisdn": "5332119826",
   "paymentType": "PREAUTH",
   "paymentMethodType":"CREDIT_CARD",
   "referenceNumber": "12333374401234569900"
}


Örnek Response (Preauth)

{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526223934353",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "857391542719052622393217",
   "acquirerBankCode": "046",
   "issuerBankCode": "046",
   "approvalCode": "855982",
   "reconciliationDate": "20190526",
   "iyzPaymentId": null,
   "iyzPaymentTransactionId": null
}


Örnek Request (Postauth)

{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
   "amount": "1",
   "cardId": "e43d5943-3e39-4f1c-8dc8-a52cc5828849",
   "currency": "TRY",
   "merchantCode": "2005",
   "msisdn": "5332119826",
   "paymentType": "POSTAUTH",
   "paymentMethodType":"CREDIT_CARD",
   "originalReferenceNumber":"12333374401234569900",
   "referenceNumber": "12333374401234569911"
}


Örnek Response (Postauth)

{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526224332669",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "857391542719052622393217",
   "acquirerBankCode": "046",
   "issuerBankCode": "046",
   "approvalCode": "855982",
   "reconciliationDate": "20190526",
   "iyzPaymentId": null,
   "iyzPaymentTransactionId": null
}

 

inquireAll

Yapılan ödemenin işlem sonucunun sorgulanması amacıyla kullanılır. Provision servisi senkron olarak işlem sonucunu dönmektedir, ancak provision servisine herhangi bir teknik arıza sebebiyle cevap dönülememesi sonrasında işlem timeout’a düştüğünde işlemin sonucu inquire ile sorgulanabilir. inquire servisi yapılan işleme ilişkin işlemin son durumunu ve işlemin tarihçe bilgisini iletir.
Request Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
msisdnString20MMüşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
originalReferanceNumberString20MSorgulanacak işlemin "referenceNumber" değeridir.
referanceNumberString20MÜye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
merchantCodeString19MÖdeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.

Response Parameters
FieldFormatLength(O)ptional/(M)andatoryDescription
orderIdString32OBanka sisteminde iletilen sipariş numarasıdır.
acquirerBankCodeString3Oİşlemde kullanılan sanal pos bankasının EFT kodu numarasıdır.
statusString12Oİşlemin güncel durumudur:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
paymentMethodTypeString20OSorgulanan işlemin hangi ödeme yöntemi ile yapıldığını belirtir. Kartla yapılmış bir işlemse “CREDIT_CARD”, mobil ödeme ile yapılmış bir işlemse “MOBILE_PAYMENT” değerini alır.
provisionListArrayOİşleme ait tarihçe bilgisi iletilir.

provisionList
FieldFormatLength(O)ptional/(M)andatoryDescription
provisionTypeString12Oİşlemin tipini belirtir:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
transactionIdString20Oİlgili işlemin transactionId bilgisidir.
amountString12Oİlgili işlem tutarıdır.
approvalCodeString6OBanka sisteminden iletilen onay kodudur.
dateTimeString17Oİlgili işlemin gerçekleşme zamanıdır.
reconciliationDateString8Oİşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
responseCodeString20Mİlgili işlemin sonuç bilgisidir.
0: Success, >0: Fail
responseDescriptionString200Mİlgili işlemin sonuç açıklama bilgisidir.

Örnek Request (Kart ile Yapılan İşlemler İçin)
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5332118747",
      "merchantCode":"2005",
      "originalReferenceNumber":"12333374401234568900",
      "referenceNumber":"123452116154"
}


Örnek Response (Kart ile Yapılan İşlemler İçin)
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526225105147",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "957460402819052622261919",
   "acquirerBankCode": "046",
   "status": "SALE",
   "paymentMethodType": "CREDIT_CARD",
   "provisionList": [   {
      "provisionType": "SALE",
      "transactionId": "12345678901234567893",
      "amount": "001",
      "approvalCode": "311918",
      "dateTime": "20190526222621142",
      "reconciliationDate": "20190526",
      "responseCode": "0",
      "responseDescription": "Success"
   }]
}


Örnek Request (Mobil Ödeme ile Yapılan İşlemler İçin)
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5332118747",
      "merchantCode":"1182",
      "originalReferenceNumber":"123452106152",
      "referenceNumber":"123452116154"
}


Örnek Response (Mobil Ödeme ile Yapılan İşlemler İçin)
{
   "responseHeader":    {
      "transactionId": "12345678901234567893",
      "responseDateTime": "20190526225000167",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "extraParameters": null,
   "orderId": "5131719",
   "acquirerBankCode": null,
   "status": "REFUND",
   "paymentMethodType": "MOBILE_PAYMENT",
   "provisionList":    [
            {
         "provisionType": "REFUND",
         "transactionId": "12345678901234567893",
         "amount": "001",
         "approvalCode": null,
         "dateTime": "20190525214401462",
         "reconciliationDate": "20190525",
         "responseCode": "0",
         "responseDescription": "Success"
      },
            {
         "provisionType": "SALE",
         "transactionId": "0000000000000300433",
         "amount": "001",
         "approvalCode": null,
         "dateTime": "20190525213956408",
         "reconciliationDate": "20190525",
         "responseCode": "0",
         "responseDescription": "Success"
      }
   ]
}


refundAll

Yapılan ödeme işleminin iade edilmesi amacıyla kullanılır.
Kart ile yapılan işlemler için:
İade, işlemin günsonu ardından ertesi günden itibaren iptal edilemesi veya belirli bir tutarın iade edilmesi amacıyla kullanılır. İptal işlemi iki şekilde çağırabilir. Provision servisine cevap alınamayarak timeout alınması durumunda, işlem mutabakatının sağlanması amacıyla şayet günsonu olmuş ise sistem tarafından refund gönderilebilir. Müşterinin iade talebi olması durumunda üye işyeri tarafından manuel olarak çağrılabilir. İade işlemi birden fazla sayıda çağrılabilir, iptal edilmiş bir işlem için iade işlemi gerçekleştirilemez, toplam iade tutarı işlem tutarının üzerinde olamaz.
Mobil ödeme ile yapılan işlemler için:
Mobil ödeme için iptal kurgusu bulunmayıp, tüm işlemler için iade servisi çağrılır. Dolayısıyla işlem için aynı gün içinde de iade servisi çağrılabilir. İade işlemi birden fazla sayıda çağrılabilir, toplam iade tutarı işlem tutarının üstünde olamaz.
Request Parameters
Field Format Length (O)ptional/(M)andatory Description
msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
originalReferanceNumber String 20 M İade edilecek işlemin "referenceNumber" değeridir.
referanceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
amount string 12 M İade edilmesi istenen işlem tutarıdır. Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
pointAmount string 12 O İleride kullanılmak üzere ayrılmıştır. İade edilmesi istenen kart puan bilgisidir.

Response Parameters
Field Format Length (O)ptional/(M)andatory Description
approvalCode String 6 O Banka sisteminden iletilen onay kodudur.
reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.

Örnek Request
{
   "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "XXXX",
      "clientIPAddress": "10.252.187.81",
      "transactionDateTime": "20160309084056197",
      "transactionId": "12345678901234567893"
   },
      "msisdn": "5332173763",
      "amount":"1",
      "merchantCode":"1182",
      "originalReferenceNumber":"123452106152",
      "referenceNumber":"123452116153"
}

Örnek Response
{
   "responseHeader":    {
      "transactionId": "00000000000002187144",
      "responseDateTime": "20181017143240726",
      "responseCode": "0",
      "responseDescription": "Success"
   },
   "reconciliationDate": "20181017",
   "approvalCode": "820013",
   "retryStatusCode": null,
   "retryStatusDescription": null
}


queryPoint

Kredi ve banka kartlarındaki loyalty puanları sorgulamaya yarayan servistir.

Bu sorgulamanın kullanılabilmesi için kart sahibi ismi ve cvv alanlarının kart no ve skt bilgisine ek olarak servise gönderilmesi gerekmektedir.

Bankalar üye işyeri kurallarına ve kartın özelliğine bağlı olarak bir sorgulamada birden fazla tipte puan dönüşü yapabilmektedirler.


Request Parameters

Field Format Length (O)ptional/(M)andatory Description
cardid

O Paycell Cüzdan'a kayıtlı bir kartla işlem yapılacaksa KK No ve SKT bilgileri cardid bilgisi ile servise gönderilmelidir.
cardToken

M
  • Cüzdana kayıtlı olmayan bir kart ile ödeme yapılacaksa token bilgisi aşağıdaki bilgileri içermelidir.
    • CC no
    • SKT
    • CVV
    • Card Holder Name
  • Cüzdana kayıtlı kart ile işlem yapılacaksa cvv ve cardHolderName alanlarıyla alınacak token değeri cardid değerine ek olarak gönderilmelidir.
amount String 12 M Puan sorgulama işleminin toplamda ne kadarlık bir ödeme için sorgulandığının bilgisidir.
Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
Örnekler:
1TL = 100
15,25TL = 1525
merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
msisdn string 20 M İade edilmesi istenen işlem tutarıdır.Müşterinin uygulamaya login olduğu telefon numarasıdır. Ülke kodu + telefon no formatında iletilir.
is3D string 10 M Puanın kullanılacağı ödeme işleminin 3dli olup olmadığı bilgisidir. true / false alternatifleriyle çalışmaktadır.
installmentNumber integer 2 M Puanın kullanılacağı ödeme işleminin taksitli olup olmayacağı bilgisidir. Taksitsiz işlemlerde 1 veya 0 olarak gönderilebilir.


Response Parameters

Field Format Length (O)ptional/(M)andatory Description
points/pointAmount String
O Ilgili puan tipi için bankadan dönen kullanılabilir puan tutarıdır.
points/pointDescription
String
O Ilgili puan tipi için bankadan dönen kullanılabilir puan açıklamasıdır.
points/pointKey String

O Ilgili puan tipi için bankadan dönen kullanılabilir puan tipidir.


Örnek Request

{

        "cardId": "",

    "cardToken": "2d440d8e-2862-4544-aa08-455bc20ed909",

    "amount": "100",

    "merchantCode": "500",

    "msisdn": "5333333333",

    "is3D": "false",

    "installmentNumber": 1,

    "requestHeader": {

        "transactionId": "12345678901234567893",

        "transactionDateTime": "20160309084056197",

        "clientIPAddress": "10.252.187.81",

        "applicationName": "XXXX",

        "applicationPwd": "XXXX"

    }

}


Örnek Response

{

    "responseHeader": {

        "transactionId": "12345678901234567893",

        "responseDateTime": "20210701123407340",

        "responseCode": "0",

        "responseDescription": "Success"

    },

    "extraParameters": null,

    "points": [

        {

            "pointAmount": "85656",

            "pointDescription": "XXXYYY11 aciklama",

            "pointKey": "XXXYYY11"

        },

        {

            "pointAmount": "52101",

            "pointDescription": "XXXYYY22 aciklama",

            "pointKey": "XXXYYY22"

        },

        {

            "pointAmount": "52910",

            "pointDescription": "XXXYYY33 aciklama",

            "pointKey": "XXXYYY33"

        }

    ]

}


getCardTokenSecure

Kart numarası girilerek yapılan işlemlerde öncelikle kart bilgilerine ait token değeri alınmalıdır. Alınan token değeri, gerçekleştirilmesi istenen işlem tipi için çağrılan servise input olarak eklenmelidir. getCardTokenSecure çağrılarak alınan token değerinin input olarak kullanıldığı işlemler aşağıdaki gibidir.
  • Kart ekleme 3D doğrulama olmadan: getCardTokenSecure + registerCard

  • Kart ekleme 3D doğrulama ile: getCardTokenSecure + (getThreeDSession + registerCard)

  • Kart numarası girilerek yapılan 3D doğrulama olmadan ödeme: getCardTokenSecure + provision

  • Kart numarası girilerek yapılan 3D doğrulama ile ödeme: getCardTokenSecure + (getThreeDSession + provision)

Servis inputunda yer alan hashdata oluşturulmasında kullanılan parametreler “backend” tarafında tutulmalı ve hashdata “backend” üzerinde oluşturularak uygulama/client’a bildirilmelidir. getCardTokenSecure servisi doğrudan uygulama/client tarafından ilgili parametreler ile çağrılmalıdır.
Implementasyon kullanıcı arayüzü olarak web sayfası kullanıyorsa cross-origin hatasının alınmasınının engellenmesi için üye işyeri domain bilgileri Paycell’e iletilmelidir ve Paycell’de yetki tanımlaması yapılmalıdır. Kullanıcı arayüzü mobil uygulama için herhangi bir tanıma gerek bulunmamaktadır.
requestParameters
requestHeader
FieldFormatLength(O)ptional/(M)andatoryDescription
applicationNameString20MServisi çağıran uygulamaya özel belirlenmiş kullanıcı adı bilgisidir, entegrasyon aşamasında Paycell tarafından bildirilecektir.
transactionIdString20MapplicationName bazında unique transactionId bilgisidir. Uygulama tarafından üretilir.
transactionDateTimeString17MYYYYMMddHHmmssSSS formatında işlem zamanı bilgisidir.

requestBody
FieldFormatLength(O)ptional/(M)andatoryDescription
creditCardNoString16OKredi kartı numarası
expireDateMonthString2OSon kullanma tarihi ay bilgisi
01, 02, …
expireDateYearString2OSon kullanma tarihi yıl bilgisi
17, 18, …
cvcNoString3OKartın CVC/CVV değeri
hashDataString50MPAYCELL tarafından iletilecek applicationPwd ve secureCode ile input parametreleri hash'lenir.
Hash data oluşturulmasında kullanılacak olan güvenlik parametreleri (applicationName, applicationPwd, secureCode) server tarafında tutulmalıdır, hash oluşturma işlemi server tarafında yapılmalıdır, ancak oluşan değerler uygulama/client tarafında iletilerek getCardTokenSecure servisi uygulama/client tarafından çağrılmalıdır.
hashData 2 aşamada oluşturulacaktır.
  • Her iki aşamada da ilgili parametreler büyük harfe dönüştürülerek data oluşturulmalıdır.
  • İlk aşamada securityData hashlenerek oluşturulur. securityData oluşturulurken applicationName ve applicationPwd değeri büyük harfe çevrilir. Oluşan securityData değeri ikinci aşamadaki hashData üretiminde kullanılmak üzere büyük harfe dönüştürülür.
  • İkinci aşamada, oluşturulan securityData ile diğer değerler büyük harfe çevrilerek birleştirilip elde edilen değer hashlenerek hashData oluşturulur.

  1. securityData: applicationPwd+ applicationName
  2. hashData: applicationName+ transactionId+ transactionDateTime+ secureCode + securityData

Java hash örneği aşağıdaki gibidir.
java.security.MessageDigest sha2 = java.security.MessageDigest.getInstance("SHA-256");
hash = Base64.encodeBase64String(sha2.digest(paramsVal.getBytes())); ;

responseParameters
responseHeader
FieldFormatLength(O)ptional/(M)andatoryDescription
transactionIdString20MRequest ile iletilen transactionID
responseDateTimeString17MYYYYMMddHHmmssSSS
responseCodeString20M0: Success, >0: Fail
responseDescriptionstring200Mİşlem sonuç açıklaması

responseBody
FieldFormatLength(O)ptional/(M)andatoryDescription
cardTokenString36OAlınan tokenize kart bilgisi
hashDataString50MresponseBody'de dönülen hashData ile üye işyerinin oluşturacağı hashData eşit olmalıdır. Bu kontrol üye işyeri tarafından yapılır.
Üye işyerinin oluşturacağı hashData 2 aşamada oluşturulacaktır. İlk aşamada securityData hashlenerek oluşturulur. İkinci aşamada oluşturulan securityData ile diğer değerler birleştirilerek elde edilen değer hashlenerek hashData oluşturulur.
  1. securityData: applicationPwd+ applicationName

  2. hashData: applicationName+ transactionId+ responseDateTime + responseCode + cardToken + secureCode + securityData

Java hash örneği aşağıdaki gibidir.
java.security.MessageDigest sha2 = java.security.MessageDigest.getInstance("SHA-256");
hash = Base64.encodeBase64String(sha2.digest(paramsVal.getBytes()));

Örnek Request
{
"header":    {
"applicationName":"XXXX",
"transactionId":"13115080770554206495",
"transactionDateTime":"20171015141735420"
},
"creditCardNo":"4355084355084358",
"expireDateMonth":"12",
"expireDateYear":"18",
"cvcNo":"",
"hashData":"IkpBlQHJgptYSzQCzBJvmVzGEg4teoSbB8VeHe6VVXw="
}

Örnek Response
{
"header":    {
"responseCode": "0",
"responseDateTime": "20171015141735420",
"responseDescription": "Islem basarili",
"transactionId": "13115080770554206495"
},
"cardToken": "49d55d0e-37ce-4dcc-a2ea-9b452461b157",
"hashData": "3Edn4YMafNjwjyWzDp1olbRB3ycJsJn90leS3yH9VLA="
}

Örnek Kodlar

Alttaki yönlendirme ve hazır kodlar paycell entegrasyonunda size yardımcı olmayı hedeflemektedir.
Yönlendirmeler ile yapının nasıl işlediğini görebilir, hazır kodlar kısmındaki fonksiyon ve modeller ile entegrasyon sürenizi kısaltabilirsiniz. Kısa sürede paycell dünyasında sizleri de görmek istiyoruz.

                 

             

ProvisionServices

CODEDESCRIPTION
1002Internal error
1003MSISDN and creditcard ID is not matched
1004Only default card is expected
1005CardId is not found
1018Account not found
1021Token not found
10223D session not found
10233D session already used
1024An error accured during 3D authentication
1026Merchant 3D authentication url not found
1027Merchant not found
1028Signature is invalid
1029Hash is invalid
1030Hashparams not found
1031Posnet API request error
1032Acs enrollment request error
1033Payment method not found
1034Callback url is invalid
2000Request header is invalid
2001MSISDN parameter is empty
2002CardToken parameter is empty
2003IsDefault parameter is empty
2004EulaId parameter is empty
2005CardId parameter is empty
2006MerchantCode parameter is empty
2007ReferenceNumber parameter is empty
2008Amount parameter is empty
2009PaymentType parameter is empty
2010OriginalReferanceNumber parameter is empty
2011Merchant is not found
2012Referance number is not unique
2013Order is not found
2014Transaction is already reversed
2015Total refund amount is greater than original amount
2016ReconciliationDate parameter is empty
2017TotalSaleAmount parameter is empty
2018TotalReverseAmount parameter is empty
2019TotalRefundAmount parameter is empty
2020TotalSaleCount parameter is empty
2021TotalReverseCount parameter is empty
2022TotalRefundCount parameter is empty
2023Application is invalid
2025EulaId is invalid
2026EulaId is not found
2027Original sale transaction is refunded
2028Refund transaction can not be reversed
2029Transaction can not be reversed after reconciliation date
2030Amount parameter is invalid
2031There was a missing parameter
2032There was a invalid parameter
2041Provision transaction entity not found
2042Application Not Found
2043Original reference number must be empty
2044Payment reference rumber mismatch
2045Postauth amount greater than preauth amount
20463D Validation Provision Amount Mismatch
20473D Session Id Must Be Empty
2048Transaction is not suitable for refund
20493d validation is required for payment card
3001Credit card is not valid
3002Max number of card for MSISDN is exceeded
3003Card is used by another application
3005Credit card is already registered
3006Customer is not suitable for provision
3007Customer limit is exceeded for provision
3008Transaction can not be done because of reconciliation
3009Max number of MSISDN for card is exceeded
3010Card is already registered for different National ID
3011Tenure check error
3012MSISDN in chargeback blacklist
3013MSISDN in fraud list
3014Payment method not found
3015There is an error while sending service booster message
3017Provision timeout
3019Amex Payment method found but not supported
3020Customer is corporate customer
3021Customer is personal customer
3022TCKN value is not found for the customer
3023Transaction is being processed
3025account suspended
30323D authentication is not successful
3033Payment method is not validated
3034Token expired
30353D session expired
3036User is not payment capable on Zubizu.
3037EulaId is not valid
3038Application is not found for this Channel
3039Terms of Services not found for application
3048Merchant applicationId and request applicationId mismatch.
3060User is not payment capable on Shell.
3061Submerchantkey is mandatory
3062Debit card registration is not allowed for this channel
3063Paycell card registration is not allowed for this channel
3064Paycell card deletion is not allowed for this channel
3065International card registration is not allowed for this channel
3068Credit card is already canceled
3101Invalid Payment Approval Method
3102Loyalty Card Is Already Registered
3103Plate Is Already Registered
4000Bank error
4001Insufficient balance
4002Expired card
4003Provision is restricted for card holder
4004Provision is restricted
4015Card info is empty.
4016Credit card is not allowed for ecommerce.
4050Record Not Found
4052Payment Not Found

getCardToken

CODEDESCRIPTION
90063Input degerleri dogrulanamadi
80003header bos olamaz
80003applicationName alani bos olamaz
80003transactionDateTime bos olamaz
80003Transaction Id bos ya da formati dogru degil
80003creditCardNo alani bos olamaz
80003expireDateMonth alani bos olamaz
80003expireDateYear alani bos olamaz
80003hashData alani bos olamaz
90000Sistem hatasi

Yeni Özellikler

  • API Ödeme Yöntemlerine Mobil Ödemenin Eklenmesi
  • Paycell API servislerine kartla ödemenin yanı sıra müşterilerin faturalarına yansıtarak ödeme yapabilmelerini sağlayan mobil ödeme seçeneği de eklenmiştir. Farklı bir entegrasyona ihtiyaç duyulmadan tek bir API entegrasyonu ile hem kartla ödeme hem de mobil ödeme seçenekleri kullanıcıya sunulacaktır.
    • getPaymentMethods servisi ile müşteri ödeme yöntemlerinin listelendiği ekranda kart bilgilerinin yanı sıra mobil ödeme bilgileri görebilecek,

    • Mobil ödemesi kapalı olan müşteri hattını bu hizmete açmak istiyorsa openMobilePayment kullanarak açabilecek,

    • Müşteri ödemeyi mobil ödeme yöntemiyle yapmak istediğinde önce kendisine sendOTP servisi ile şifre gönderilecek ve validateOTP ile doğrulaması sağlanacak,

    • Şifre ile doğrulama yapıldığı takdirde de ödeme sayfasına yönlendirilen müşteri provisionAll servisi ile ödeme işlemini faturasına yansıtarak yapabilecektir.
    • Yapılan işlemlerin sorgulanması inquireAll servisi ile, iadesi de refundAll servisi ile yapılabilecektir.

    Mobil ödeme ilgili detaylı akışa API Entegrasyonu sayfasındaki Mobil Ödeme Akışı bölümünden ulaşılabilir. Bu güncelleme ile yeni eklenen getPaymentMethods, openMobilePayment, sendOTP, validateOTP, provisionAll, inquireAll, refundAll servislerinin parametreleri ile örnek request ve responselarına ise RESTful Tabanlı JSON Servis Örnekleri bölümünden ulaşılabilir.
  • Turkcell Dışı Operatör Müşterileri İçin 3D Kontrolü
    Kayıtlı kart sahipliliğinin Turkcell dışındaki operatörleri kullanan müşteriler için periyodik olarak doğrulanabilmesi adına ödeme işlemlerine 3D doğrulama kontrolü adımı eklenmiştir.
    Ödeme işlemi öncesinde getCards servisi cevabında isThreeDValidated alanı kontrol edilerek değeri “false” olan kayıtlar için ödeme işlemi öncesinde 3D doğrulama yapılıp, provision isteğine threeDSessionId değerinin iletilmesi beklenmektedir. Kontrolden geçemeyen kartlar için “2049 -3d validation is required for payment card” hatası dönülecektir.
    Ödeme işlemlerini her zaman 3D doğrulama yapılarak ileten üye işyerleri için ek olarak bu kontrolün yapılmasına gerek bulunmamaktadır.

  • Ön Provizyon ve Finansallaştırma
    14.02.2019 itibarıyla 'Ön Provizyon (preauth)' ve 'Finansallaştırma (finansallaştırma)' servisleri müşterilerin kullanımına açılmıştır. Entegre olmak isteyen iş yerleri SOAP Tabanlı XML Servis Örnekleri ve RESTful Tabanlı XML Servis Örnekleri sekmelerinden ön provizyon ve finansallaştırma servisleri ile ilgili detaylara ulaşabilir.

  • Sözleşme İçeriğinin Görüntülenebilmesi
    Paycell'de tanımlı olan kartların mevcut sözleşme içeriklerinin görüntülenmesini sağlayan getTermsOfServiceContent servisi kullanıma açılmıştır. Bu sayede müşteriler sözleşmelerinin içeriğini İngilizce ve Türkçe olarak görüntüleyebilecektir.