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

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ı XML 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ı kullanarak ödeme işlemlerini gerçekleştirmelerini ve Paycell’deki kartlarının yönetimi sağlayabildikleri (kart ekleme, silme, güncelleme) web servis arayüzlerini sağlamaktadır.
Modelde üye işyerleri, bankalardan alacağı Sanal Pos bilgilerini Paycell’e tanımlatarak ödeme işlemlerinin Paycell üzerinden bankalara gönderimini sağlarlar.
Ö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.

Fonksiyon Listesi

Paycell API entegrasyonu ile üye işyeri tarafından gerçekleştirilebilecek fonksiyonlar kart 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. Kart Yönetimi
  2. Kart yönetimi kapsamında yapılan işlemler aşağıdaki şekildedir:
    • Kart Sorgulama
    • Müşterinin Paycell’de tanımlı kart 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.
     
  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 ö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.
    • İade
    • Yapılan ödeme işleminin ertesi günden itibaren iptal edilmesi veya belirli bir tutarın iade edilmesi amacıyla kullanılır.
    • 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 “getCardToken” servisi ile kart bilgilerini Paycell’e iletir. getCardToken servis cevabında alınan “token” değeri Provision servisinin ilgili method’larında input parametresi olarak kullanılır.

İş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, 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


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.

Örnek olarak 3D session id ve callback url’in bir form ekranından girilerek post edildiği bir kod örenğ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>                
			<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 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 Servis Method Test URL
ProvisionServices
  • getCards
  • registerCard
  • updateCard
  • deleteCard
  • provision
  • inquire
  • reverse
  • refund
  • summaryReconciliation
  • getThreeDSession
  • getThreeDSessionResult
  • provisionForMarketPlace
  • getProvisionHistory
  • getTermsOfServiceContent
https://tpay-test.turkcell.com.tr/tpay/provision/services/ws?wsdl
PaymentManagement
  • getCardToken
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 Servis Method Prod URL
ProvisionServices
  • getCards
  • registerCard
  • updateCard
  • deleteCard
  • provision
  • inquire
  • reverse
  • refund
  • summaryReconciliation
  • getThreeDSession
  • getThreeDSessionResult
  • provisionForMarketPlace
  • getProvisionHistory
  • getTermsOfServiceContent
https://tpay.turkcell.com.tr/tpay/provision/services/ws?wsdl
PaymentManagement
  • getCardToken
https://epayment.turkcell.com.tr/paymentmanagement/rest/getCardTokenSecure
3D Yönlendirme Sayfası
  • threeDSecure
https://epayment.turkcell.com.tr/paymentmanagement/rest/threeDSecure

RESTful Tabanlı XML Servis Test Erişim Bilgileri

Web Servis Method Test 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/
    PaymentManagement
    • getCardToken
    https://omccstb.turkcell.com.tr/paymentmanagement/rest/getCardTokenSecure
    3D Yönlendirme Sayfası
    • threeDSecure
    https://omccstb.turkcell.com.tr/paymentmanagement/rest/threeDSecure

    RESTful Tabanlı XML Servis Prod Erişim Bilgileri

    Web Servis Method Prod 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/
      PaymentManagement
      • getCardToken
      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

      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ın ü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.

      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 getCardToken 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
      Field Format Length (O)ptional/(M)andatory Description
      transactionId String 20 M applicationName bazında unique transactionId bilgisidir. Uygulama tarafından üretilir.
      transactionDateTime String 17 M YYYYMMddHHmmssSSS formatında işlem zamanı bilgisidir.
      clientIPAddress String 50 M İşlemin başlatıldığı IP bilgisi
      applicationName String 20 M Servisi çağıran uygulamaya özel belirlenmiş kullanıcı adı bilgisidir, entegrasyon aşamasında Paycell tarafından bildirilecektir.
      applicationPwd String 20 M Servisi çağıran uygulamaya özel belirlenmiş kullanıcı şifresi bilgisidir, entegrasyon aşamasında Paycell tarafından bildirilecektir.

      responseHeader
      Field Format Length (O)ptional/(M)andatory Description
      transactionId String 20 M requestHeader ile iletilen transactionId değeridir.
      responseDateTime String 17 M YYYYMMddHHmmssSSS formatında işlem cevabına ait işlem zamanı bilgisidir.
      responseCode String 20 M 0: Success, >0: Fail
      responseDescription String 200 M Servis 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
      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.

      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.
      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.

      Ö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 getCardToken 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.
      cardTokenString36MgetCardToken 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 getCardToken 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 getCardToken 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 getCardToken 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 getCardToken servisi alınan değer veya kayıtlı kart kullanımında cvc ile ödeme yapılmasına ilişkin getCardToken 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 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.
      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.
      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 getCardToken servisi alınan değer veya kayıtlı kart kullanımında cvc ile ödeme yapılmasına ilişkin getCardToken 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>
      

      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
      }

      getThreeDSesison

      Ö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"
      }

      getThreeDSesisonResult

      Örnek Request
      {
      "requestHeader":    {
      "applicationName": "XXXX",
      "applicationPwd": "X",
      "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": "ZUBIZU",
      "applicationPwd": "zubizupass",
      "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 }

      getCardToken

      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. getCardToken çağrılarak alınan token değerinin input olarak kullanıldığı işlemler aşağıdaki gibidir.
      • Kart ekleme 3D doğrulama olmadan: getCardToken + registerCard

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

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

      • Kart numarası girilerek yapılan 3D doğrulama ile ödeme: getCardToken + (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. getCardToken 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 getCardToken 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":"BELBIM",
      "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
      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
      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