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

Paycell Dünyasına Hoşgeldin!

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

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

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

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

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

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

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

Genel Özellikler

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

Fonksiyon Listesi

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


Genel Mimari


Paycell, üye işyeri müşterisinin yapacağı ödeme işlemlerinde üye işyeri ve üye işyeri bankası arasında teknik entegratör olarak konumlanmıştır. Üye işyeri uygulaması aynı zamanda müşterinin Paycell cüzdanına erişebildiği ve yönetimini sağlayabildiği bir kanal olarak da konumlandırabilir.
Üye işyeri, backend uygulaması üzerinden Paycell’in açmış olduğu “Provision” servisine entegre olarak fonksiyonlara ait işlem isteklerini iletir. Sadece - kart bilgilerinin açık olarak üye işyerinin backend server’ı üzerinden geçmemesi amacıyla- kart bilgilerinin iletilmesinin gerekli olduğu durumda (Örnek: Kart ekleme), üye işyeri backend server yerine üye işyeri uygulaması doğrudan internet üzerinden Paycell’in “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.

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

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

    • 3D Doğrulama Yapılmadan


    • 3D Doğrulama Yapılarak


  • Tanımlı Kart ile Ödeme

    • 3D Doğrulama Yapılmadan


    • 3D Doğrulama Yapılarak


  • Kart Numarası Girişi ile Ödeme

    • 3D Doğrulama Yapılmadan


    • 3D Doğrulama Yapılarak


Mobil Ödeme Akışı

  • Müşterinin Paycell ile ödemeyi seçmesi durumunda ödeme yöntemlerinin listelenme isteği üye işyeri tarafından getPaymentMethods servisi çağrılarak Paycell'e iletilir.

  • getPaymentMethods servisi ile müşterinin Paycell'de kayıtlı olan ödeme yöntemleri listelenir. Bu yöntemler cardList ve mobilePayment olmak üzere iki başlıkta listelenir. cardList kısmında müşterinin kayıtlı kart bilgileri dönerken mobilePayment kısmında mobil ödeme bilgileri döner. Müşteri mobil ödeme ya da kartla ödeme seçip işleme devam edebilir.

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

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

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

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

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

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

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

3D Yönlendirme Sayfası

Server tarafından getThreeDSession servisi ile threeDSessionId alınarak uygulama/client katmanına iletilir.
Uygulama/client tarafında browser aracılığıyla (kullanıcının bankanın 3D sayfasına yönlendirme yapılabilmesi için) Paycell tarafından iletilen internet url’ine post işlemi gerçekleştirilir.
Post işlemi içinde parametre olarak threeDSessionId ve callbackurl değerleri eklenir.
  • threeDSessionId: 3D doğrulama işlemini unique olarak ifade eder. 3D doğrulama başlamadan getThreeSession servisi ile alınır.

  • callbackurl: 3D doğrulama işleminin sonuçlandığı bilgisinin iletileceği adrestir.

Ö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
  • getCardBinInformation
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
  • getCardBinInformation
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ı JSON 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/
    • getCardBinInformation
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getCardBinInformation/
    • getPaymentMethods
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/getPaymentMethods/
    • openMobilePayment
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/openMobilePayment/
    • sendOTP
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/sendOTP/
    • validateOTP
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/validateOTP/
    • provisionAll
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/provisionAll/
    • inquireAll
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/inquireAll/
    • refundAll
    https://tpay-test.turkcell.com.tr:443/tpay/provision/services/restful/getCardToken/refundAll/
    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ı JSON 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/
      • getCardBinInformation
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getCardBinInformation/
      • getPaymentMethods
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/getPaymentMethods/
      • openMobilePayment
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/openMobilePayment/
      • sendOTP
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/sendOTP/
      • validateOTP
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/validateOTP/
      • provisionAll
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/provisionAll/
      • inquireAll
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/inquireAll/
      • refundAll
      https://tpay.turkcell.com.tr/tpay/provision/services/restful/getCardToken/refundAll/
      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

      Test Kredi Kartları

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

      BANKA Test Kart No AY YIL CVC 3D Şifresi
      Akbank 4355084355084358 12 26 000 a
      Akbank 5571135571135575 12 26 000 a
      Akbank Debit 4748531124476212 12 28 000 a
      Yapı Kredi 4506347011448053 02 20 000 Şifresiz
      Yapı Kredi 4506347022052795 02 20 000 Şifresiz
      Yapı Kredi 4506347031187533 02 20 000 Şifresiz
      Yapı Kredi 4506347043358536 02 20 000 Şifresiz
      Yapı Kredi 4921307045825277 02 20 000 Şifresiz
      Yapı Kredi 5400610093155852 02 20 000 Şifresiz
      Yapı Kredi 5400617049774124 02 20 000 Şifresiz
      Yapı Kredi 5400637003737156 02 20 000 Şifresiz
      Yapı Kredi Debit 6390041490817144 09 25 700 Şifresiz
      Yapı Kredi Debit 4943141314981063 12 20 528 Şifresiz
      FinansBank 4022774022774026 12 19 000 a
      FinansBank 5456165456165454 12 19 000 a
      FinansBank Debit 4063865896435213 12 28 000 a
      Garanti Bankası 4282209027132016 05 20 165
      Garanti Bankası Amex 375622005485014 10 20 123 Şifresiz
      Garanti Bankası 4824894728063019 07 23 172
      Garanti Bankası 4282209004348015 08 22 123 Şifresiz
      İş Bankası 4508034508034509 12 19 000 a
      İş Bankası 5406675406675403 12 19 000 a
      Vakıfbank 4938410114062912 01 20 956 GS1905vb03
      Vakıfbank 4029400184884303 01 23 376 Şifresiz
      HalkBank 4531444531442283 12 19 001 a
      HalkBank 5818775818772285 12 19 001 a
      HalkBank Debit 5888435482785213 12 28 000 a
      HSBC Bankası 4282405990002166 01 20 000 a
      HSBC Visa 4282405990002166 12 20 000 a
      HSBC Master 5254135922971748 12 20 000 a
      International Master 5105105105105100 12 19 000 a
      International Visa 4716081467305766 12 19 000 a
      Denizbank 4090700090840057 11 22 592 123
      Denizbank 4090700101174272 12 22 104 123
      Paycell Card 4622760000066950 12 19 932 Şifresiz
      TEB Troy 9792230099127843 11 21 787 123456
      İş Bankası (Troy Credit) 9792042022562362 10 25 000 123456
      Ziraat Bankası 4546711234567894 12 26 000 a
      Ziraat Bankası 5401341234567891 12 26 000 a
      Vakıfbank 4289450189088488 04 23 060 12ABCDEF
      Vakıfbank 4289450187923330 04 23 813 12ABCDEF
      ING Bank 4508034508034509 12 26 000 a
      ING Bank 5406675406675403 12 26 000 a


      Entegrasyona Ait Önemli Notlar

      1. Veri Paylaşım İzinleri

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

      3. MSISDN Validasyonu

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

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

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

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

      7. Timeout Yönetimi

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


      Gerekli Tanımlamalar

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

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

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

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

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

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

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

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

      3. Paycell

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

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

        • Application Password

        • Secure Code

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

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

        • Kullanıcı arayüzü web page ise 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
      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.
      cardToken String 36 M getCardToken servisi ile alınan token değeridir.
      alias String 20 O Müşterinin eklemek istediği karta vereceği isim bilgisidir.
      isDefault Boolean O Eklenecek kart default olarak belirlenmek isteniyorsa True gönderilir, diğer durumda bu alan gönderilmez.
      eulaID String 20 M Müşterinin ekleyeceği kart için imzalamış olduğu güncel sözleşme metni versiyon numarası
      otpValidationId String 20 O İleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında OTP gönderim isteği ID bilgisi iletilir.
      otp String 20 O İleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında müşteriye iletilen OTP değeri iletilir.
      threeDSessionId String 36 O Kartın 3D doğrulama yöntemi ile eklenmesi durumunda getThreeDSession servisi cevabında dönülen session ID değeri iletilir.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      cardId String 36 M Eklenen 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
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
      cardId String 36 M Bilgisi güncellenmek istenen kartın cardId değeri gönderilir.
      alias String 20 O Müşteri alias bilgisini değiştirmek istiyorsa güncellenecek değer iletilir.
      isDefault Boolean O Seçilen kart default olarak set edilmek isteniyorsa True gönderilir, diğer durumlarda bu alan gönderilmez.
      eulaId string 20 M Kartın güncel sözleşme metni versiyon numarası iletilir.
      otpValidationId string 20 O İleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında OTP gönderim isteği ID bilgisi iletilir.
      otp string 20 O İleride kullanılmak üzere ayrılmıştır. OTP doğrulama yöntemi kullanıldığında müşteriye iletilen OTP değeri iletilir.
      threeDSessionId string 36 O 3D 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
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir .
      cardId String 36 M Silinmek 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
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
      cardId String 36 O Paycell’de tanımlı kart ile ödeme yapılmak istenmesi durumunda gönderilir.
      referanceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
      originalReferenceNumber String 20 O Ön otorizasyon kapama amaçlı paymentType = POSTAUTH işlemi gönderildiğinde kapatılacak olan ön otorizasyon işleminin referenece number değeridir. Diğer işlem tiplerinde gönderilmez.
      merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
      amount String 12 M İşlem tutarıdır.
      Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
      Örnekler:
      1TL = 100
      15,25TL = 1525
      currency String 3 M İşlem döviz cinsini belirler.TRY, EUR, USD, vb.
      installmentCount Integer 2 O Taksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
      pointAmount String 12 O İleride kullanılmak üzere ayrılmıştır. Kart puan bilgisidir.
      paymentType Enum M Ödeme işlem tipini belirtir, ön otorizasyon uygulaması söz konusu değilse SALE değeri gönderilir[SALE, PREAUTH, POSTAUTH].
      acquirerBankCode String 4 O İleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
      pin String 6 O İleride kullanılmak üzere ayrılmıştır. Paycell kullanıcısı PIN değeri iletilir.
      threeDSessionId String 36 O Ödeme işleminin 3D doğrulama yöntemi ile yapılması durumunda getThreeDSession servisi cevabında alınan session ID bilgisidir.
      cardToken String 36 O Kart numarası girilerek yapılmak istenen ödeme işlemlerinde 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 .
      extraParameters Array O Ödeme işlemine ilişkin ek bir parametre değeri opsiyonel olarak iletilebilir.

      extraParameters
      Field Format Length (O)ptional/(M)andatory Description
      key String 50 O İletilmek istenen parametrenin adı belirtilir.
      value String 500 O İletilmek istenen parametrenin değeri belirtilir.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      orderId String 32 O Banka sisteminde iletilen sipariş numarasıdır.
      acquirerBankCode String 3 O İşlemde kullanılan sanal pos bankasının EFT kodu numarasıdır.
      approvalCodeo String 6 O Banka sisteminden iletilen onay kodudur.
      reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
      issuerBankCode String 3 O İşlemde kullanılan kartın bankasının EFT kodu numarasıdır.

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

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

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

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

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

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

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

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

      inquire

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

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      orderId String 32 O Banka sisteminde iletilen sipariş numarasıdır.
      acquirerBankCode String 3 O İşlemde kullanılan sanal pos bankasının EFT kodu numarasıdır.
      status String 12 O İşlemin güncel durumudur:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
      provisionList Array O İşleme ait tarihçe bilgisi iletilir.

      provisionList
      Field Format Length (O)ptional/(M)andatory Description
      provisionType String 12 O İşlemin tipini belirtir:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
      transactionId String 20 O İlgili işlemin transactionId bilgisidir.
      amount String 12 O İlgili işlem tutarıdır.
      approvalCode String 6 O Banka sisteminden iletilen onay kodudur.
      dateTime String 17 O İlgili işlemin gerçekleşme zamanıdır.
      reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
      responseCode String 20 M İlgili işlemin sonuç bilgisidir.
      0: Success, >0: Fail
      responseDescription String 200 M İ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
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir .
      originalReferanceNumber String 20 M İptal edilecek işlemin "referenceNumber" değeridir.
      referanceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
      merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.

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

      Örnek Request
      <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
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
      originalReferanceNumber String 20 M İade edilecek işlemin "referenceNumber" değeridir.
      referanceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
      merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
      amount string 12 M İade edilmesi istenen işlem tutarıdır. Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
      Örnekler:
      1TL = 100
      15,25TL = 1525
      pointAmount string 12 O İleride kullanılmak üzere ayrılmıştır. İade edilmesi istenen kart puan bilgisidir.

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

      Örnek Request
      <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
      Field Format Length (O)ptional/(M)andatory Description
      merchantCode String 19 O Ö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.
      reconciliationDate String 8 M İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih. YYYYMMDD formatında olacaktır.
      totalSaleAmount String 12 M İ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.
      totalReverseAmount String 12 M İlgili tarihte gerçekleşen [Reverse] işlemlerinin toplam tutarıdır.
      totalRefundAmount String 12 M İlgili tarihte gerçekleşen [Refund] işlemlerinin toplam tutarıdır.
      totalPreAuthAmount String 12 M İ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.
      totalPostAuthAmount String 12 M İ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.
      totalPreAuthReverseAmount String 12 M İlgili tarihte gerçekleşen [PreAuth_Reverse] işlemlerinin toplam tutarıdır.
      totalPostAuthReverseAmount String 12 M İlgili tarihte gerçekleşen [PostAuth_Reverse] işlemlerinin toplam tutarıdır.
      totalSaleCount Number M İlgili tarihte gerçekleşen [Sale] işlemlerinin toplam adedidir. İşlem reverse edilmiş ise işleme ait sale kaydı reverse olarak güncellenir.
      totalReverseCount Number M İlgili tarihte gerçekleşen [Reverse] işlemlerinin toplam adedidir.
      totalRefundCount Number İlgili tarihte gerçekleşen [Refund] işlemlerinin toplam adedidir.
      totalPreAuthCount Number İlgili tarihte gerçekleşen [PreAuth] işlemlerinin toplam adedidir. İşlem reverse edilmiş ise işleme ait PreAuth kaydı PreAuth_reverse olarak güncellenir.
      totalPostAuthCount Number İlgili tarihte gerçekleşen [PostAuth] işlemlerinin toplam adedidir. İşlem reverse edilmiş ise işleme ait PostAuth kaydı PostAuth_reverse olarak güncellenir.
      totalPreAuthReverseCount Number İlgili tarihte gerçekleşen [PreAuth_Reverse] işlemlerinin toplam adedidir.
      totalPostAuthCount Number İlgili tarihte gerçekleşen [PostAuth_Reverse] işlemlerinin toplam adedidir.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      reconciliationResult String 10 M Mutabakat durumunu belirtir. OK, NOK
      reconciliationDate String 8 M İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih. YYYYMMDD formatında olacaktır.
      totalSaleAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalReverseAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalRefundAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalPreAuthAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalPostAuthAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalPreAuthReverseAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalPostAuthReverseAmount String 12 M Paycell üzerinde yer alan değerdir.
      totalSaleCount Number M Paycell üzerinde yer alan değerdir.
      totalReverseCount Number M Paycell üzerinde yer alan değerdir.
      totalRefundCount Number M Paycell üzerinde yer alan değerdir.
      totalPreAuthCount Number M Paycell üzerinde yer alan değerdir.
      totalPostAuthCount Number M Paycell üzerinde yer alan değerdir.
      totalPreAuthReverseCount Number M Paycell üzerinde yer alan değerdir.
      totalPostAuthReverseCount Number M Paycell ü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:
      Case Mutabakat Sonucu
      100 tl’lik (x) ve 120 tl’lik (y) olmak üzere iki satış işlemi bulunmaktadır TotalSaleAmount = 220
      totalReverseAmount = 0
      totalRefundAmount = 0
      totalSaleCount = 2
      totalReverseCount = 0
      totalRefundCount = 0
      100 tl’lik (x) işlem reverse yapılmıştır TotalSaleAmount = 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ır TotalSaleAmount = 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
      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.
      target String 20 M MERCHANT değerini alır.
      referanceNumber String 20 O Akaryakıt ödeme işlemlerinde kullanılır. Üye işyeri uygulaması üzerinden başlatılan normal ödeme işlemlerinde gönderilmez.
      merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
      amount String 12 O İş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.
      installmentCount Integer 2 O Taksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
      transactionType String 20 M AUTH, PREAUTH
      cardId String 36 O Paycell’de tanımlı kart ile işlem yapılırsa gönderilir.
      cardToken String 36 O Kart numarası girilerek işlem yapılırsa gönderilir.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      threeDSessionId string 36 M 3D 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
      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 .
      threeDSessionId String 36 M getThreeDSession method’u ile alınan threeDSessionId değeridir.
      referanceNumber String 20 O Target=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.
      merchantCode String 19 M Target=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
      Field Format Length (O)ptional/(M)andatory Description
      currentStep String 10 O 3D 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.
      mdErrorMessage String 50 O 3D 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.
      mdStatus String 10 O 3D 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.
      threeDOperationResult String O threeDOperationResult 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
      Field Format Length (O)ptional/(M)andatory Description
      threeDResult string 100 O 3D doğrulama sonuç kodu.threeDResult=0 olduğunda 3D doğrulama başarılıdır.
      threeDResultDescription string 100 O 3D 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
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.
      cardId String 36 O Paycell’de tanımlı kart ile ödeme yapılmak istenmesi durumunda gönderilir.
      referenceNumber String 20 M Üye işyeri uygulaması tarafından üretilecek unique numerik işlem referans numarası değeridir. İlk 3 hanesi uygulama bazında unique’dir, bu değer entegrasyon aşamasında Paycell tarafından bildirilecektir.
      merchantCode String 19 M Ödeme işleminin başlatıldığı Paycell’de tanımlı üye işyeri kodu bilgisi gönderilir. Entegrasyon sonrasında her tanımlanan yeni üye işyeri için Paycell tarafından merchantCode değeri paylaşılır.
      amount String 12 M İade edilmesi istenen işlem tutarıdır. Son 2 hane KURUŞ'u ifade eder. Virgül kullanılmaz.
      Örnekler:
      1TL = 100
      15,25TL = 1525
      currency String 3 M İşlem döviz cinsini belirler.
      TRY, EUR, USD, vb.
      installmentCount Integer 2 O Taksit sayısı bilgisidir. Taksitsiz işlemlerde boş olarak veya 0 olarak gönderilebilir.
      pointAmount String 12 O İleride kullanılmak üzere ayrılmıştır. İade edilmesi istenen kart puan bilgisidir.
      paymentType Enum M Ödeme işlem tipini belirtir, ön otorizasyon uygulaması söz konusu değilse SALE değeri gönderilir.
      [SALE, PREAUTH, POSTAUTH]
      acquirerBankCode String 4 O İleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
      pin String 6 O İleride kullanılmak üzere ayrılmıştır. Paycell kullanıcısı PIN değeri iletilir.
      threeDSessionId String 36 O Ödeme işleminin 3D doğrulama yöntemi ile yapılması durumunda getThreeDSession servisi cevabında alınan session ID bilgisidir.
      cardToken String 36 O Kart numarası girilerek yapılmak istenen ödeme işlemlerinde 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.
      extraParameters Array O Ödeme işlemine ilişkin ek bir parametre değeri opsiyonel olarak iletilebilir.
      subMerchants Array O Ödeme işlemine ilişkin alt üye işyeri bilgileri iletilebilir.
      customerEMail Array O Müşteri email bilgisi iletilir.

      extraParameters
      Field Format Length (O)ptional/(M)andatory Description
      key String 50 O İletilmek istenen parametrenin adı belirtilir.
      value String 500 O İletilmek istenen parametrenin değeri belirtilir.

      subMerchants
      Field Format Length (O)ptional/(M)andatory Description
      subMerchantKey String 50 O Alt üye işyerine ait tanım değeri. Üye işyeri tarafından iletilir.
      subMerchantPrice String 500 O Alt üye işyeri hesabına gönderilmesi istenen tutar.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      orderId String 32 O Ödeme sisteminde iletilen sipariş numarasıdır.
      acquirerBankCode String 4 O İleride kullanılmak üzere ayrılmıştır. Sanal Pos bankası kodu iletilir.
      approvalCode String 6 O Ödeme sisteminden iletilen onay kodudur.
      reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
      issuerBankCode String 3 O İşlemde kullanılan kartın bankasının EFT kodu numarasıdır.

      Ö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
      Field Format Length (O)ptional/(M)andatory Description
      merchantCode String 19 O Target=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.
      partitionNo String 12 O Çağrım sayısı
      reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      nextPartitionNo String 12 O Sonraki ç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.
      acquirerBankCode String 3 O İşlemde kullanılan ödeme isteminin Paycell’de tanımlı numarasıdır.
      amount String 12 O İlgili işlem tutarıdır.
      approvalCode String 6 O Ödeme sisteminden iletilen onay kodudur.
      issuerBankCode String 3 O İşlemde kullanılan kartın bankasının EFT kodu numarasıdır.
      netAmount String 12 O İlgili işlem net tutarıdır.
      orderId String 32 O Ö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
      Field Format Length (O)ptional/(M)andatory Description
      eulaId String 20 O Karta ait güncel sözleşme metni versiyon numarasıdır.
      termsOfServiceHtmlContentEN String O Güncel sözleşmenin İngilizce metninin HTML formatında görüntülenen halidir.
      termsOfServiceHtmlContentTR String O Güncel sözleşmenin Türkçe metninin HTML formatında görüntülenen halidir.
      Örnek Request
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
      xmlns:prov="http://provision.web.tpay.mf.turkcelltech.com/">
      <soapenv:Header/>
      <soapenv:Body>
      <prov:getTermsOfServiceContent>
      <requestHeader>
      <applicationName>XXXX</applicationName>
      <applicationPwd>XXXX</applicationPwd>
      <clientIPAddress>11.111.111.111</clientIPAddress>
      <transactionDateTime>20161125121627734</transactionDateTime>
      <transactionId>12345678901234566808</transactionId>
      </requestHeader>
      </prov:getTermsOfServiceContent>
      </soapenv:Body>
      </soapenv:Envelope>
      

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

      getCardBinInformation

      Müşterilerin kart numarasının ilk 6 hanesinden oluşan bin bilgisi veya kart token bilgisi girilerek ya da kayıtlı tüm kartların listelenebileceği ALL seçeneği kullanılarak kart bilgilerinin görüntülenmesini sağlayan servistir.
      Request Parameters
      Field Format Length (O)ptional/(M)andatory Description
      token String 400 M getCardToken servisi çağrılarak elde edilen token değeridir.
      binValue String 19 M Kart numarasının ilk 6 hanesidir.
      getType String 3 M ALL olarak gönderildiğinde tüm kayıtlı tüm kartların bilgileri listelenir.

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      bankCode String 3 M Kart banka kodu
      bankName String 50 M Kart bankasının adı
      binValue String 16 M Kart numarasının ilk 6 hanesinden oluşan prefix değeri
      cardBrand String 16 M Kart brandi
      cardOrganization String 16 M Kart organizasyonu
      cardType String 16 M Kart tipi (Kredi kartı/debit)
      commercialType String 16 M Kartın ticari tipi
      typeId String 1 M Kart tipi id değeri

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

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

      getCards

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

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

      registerCard

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

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

      updateCard

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

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

      deleteCard

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

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

      provision

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

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

      inquire

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

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

      reverse

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

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

      refund

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

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

      summaryReconciliation

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

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

      getThreeDSession

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

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

      getThreeDSessionResult

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

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

      provisionForMarketPlace

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

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

      getProvisionHistory

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

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

      getTermsOfServiceContent

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

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

      getCardBinInformation

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

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

      getPaymentMethods

      Müşterinin Paycell’de tanımlı olan kartları ve mobil ödeme yöntemi olmak üzere kullanabileceği ödeme yöntemlerinin sorgulanıp listelenmesi amacıyla kullanılır. Müşterinin, üye işyerinin uygulama ekranında ilk kez Paycell’de tanımlı kartlarının ve mobil ödemesinin sorgulanması durumunda öncelikle müşterinin veri paylaşım iznini uygulama üzerinde vermiş olması gerekmektedir. Müşterinin ödeme yöntemlerinin listelenmesine yönelik verdiği izin üye işyeri uygulamasında tutulmalıdır.
      requestParameters
      Field Format Length (O)ptional/(M)andatory Description
      msisdn String 20 M Müşterinin uygulamaya login olduğu telefon numarası. Ülke kodu + Telefon No formatında iletilir.

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

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

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

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

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

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

      Örnek Response
      {
         "responseHeader":    {
            "transactionId": "12345678901234567893",
            "responseDateTime": "20190526182410013",
            "responseCode": "0",
            "responseDescription": "Success"
         },
         "extraParameters": null,
         "eulaId": "16",
         "cardList": [   {
            "cardId": "5d7dc13b-89b3-4a94-a5af-4021f346707c",
            "maskedCardNo": "409070******0057",
            "alias": "deniztest",
            "cardBrand": "BONUS",
            "isDefault": true,
            "isExpired": false,
            "showEulaId": false,
            "isThreeDValidated": false,
            "isOTPValidated": false,
            "activationDate": "2019-02-27 11:10:56",
            "cardType": "Credit"
         }],
         "mobilePayment":    {
            "remainingLimit": "50000",
            "limit": "50000",
            "maxLimit": "49900",
            "isDcbOpen": true,
            "statementDate": "20190625",
            "isEulaExpired": false,
            "signedEulaId": "185",
            "eulaId": null,
            "eulaUrl": null
         }
      }
      

      openMobilePayment

      Müşteri ödeme yöntemlerini listeledikten sonra mobil ödemesinin kapalı olduğu bilgisi geldiğinde merchant müşteriye bir checkbox ile mobil ödemeyi aç seçeneği sunabilir. Yetkili merchantlara kart kayıt sözleşmesi ile birlikte mobil ödeme sözleşmesi de verilecektir. Müşterinin bu sözleşmeler için tek bir checkbox ile Paycell kart saklama sözleşmesi ve mobil ödeme sözleşmesini kabul ettiğine dair sözleşme onayı vermesi gerekir.
      Müşteri bu ekranda mobil ödemesini açma seçeneğini işaretler ve merchantın yine checkboxta sunacağı mobil ödeme sözleşmesini onaylar ise merchant openMobilePayment servisini çağıracaktır. Bu servis ile müşterinin mobil ödemesi kullanıma açılabilecektir.
      Request Parameters
      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.
      eulaId String 20 O getPaymentMethods servisinde isEulaExpired alanı “true” dönmüşse bu alana güncel sözleşme numarası girilir, “false” dönmüşse bu alan kullanılmaz.

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

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

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

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

      sendOTP

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

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

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

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

      validateOTP

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

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

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

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

      provisionAll

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

      extraParameters
      Field Format Length (O)ptional/(M)andatory Description
      key String 50 O İletilmek istenen parametrenin adı belirtilir.
      value String 500 O İletilmek istenen parametrenin değeri belirtilir.

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

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

      Örnek Response (Kart ile Ödeme)
      {
         "responseHeader":    {
            "transactionId": "12345678901234567893",
            "responseDateTime": "20190526222621143",
            "responseCode": "0",
            "responseDescription": "Success"
         },
         "extraParameters": null,
         "orderId": "957460402819052622261919",
         "acquirerBankCode": "046",
         "issuerBankCode": "046",
         "approvalCode": "311918",
         "reconciliationDate": "20190526",
         "iyzPaymentId": null,
         "iyzPaymentTransactionId": null
      }
      


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


      Örnek Response (Mobil Ödeme)
      {
         "responseHeader":    {
            "transactionId": "12345678901234567893",
            "responseDateTime": "20190525213956409",
            "responseCode": "0",
            "responseDescription": "Success"
         },
         "extraParameters": null,
         "orderId": "5131719",
         "acquirerBankCode": null,
         "issuerBankCode": null,
         "approvalCode": null,
         "reconciliationDate": "20190525",
         "iyzPaymentId": null,
         "iyzPaymentTransactionId": null
      }
      

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

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

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

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

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

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

      inquireAll

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

      Response Parameters
      Field Format Length (O)ptional/(M)andatory Description
      orderId String 32 O Banka sisteminde iletilen sipariş numarasıdır.
      acquirerBankCode String 3 O İşlemde kullanılan sanal pos bankasının EFT kodu numarasıdır.
      status String 12 O İşlemin güncel durumudur:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
      paymentMethodType String 20 O Sorgulanan işlemin hangi ödeme yöntemi ile yapıldığını belirtir. Kartla yapılmış bir işlemse “CREDIT_CARD”, mobil ödeme ile yapılmış bir işlemse “MOBILE_PAYMENT” değerini alır.
      provisionList Array O İşleme ait tarihçe bilgisi iletilir.

      provisionList
      Field Format Length (O)ptional/(M)andatory Description
      provisionType String 12 O İşlemin tipini belirtir:SALE, PREAUTH, POSTAUTH, PREAUTH_REVERSE, POSTAUTH_REVERSE, REVERSE, REFUND
      transactionId String 20 O İlgili işlemin transactionId bilgisidir.
      amount String 12 O İlgili işlem tutarıdır.
      approvalCode String 6 O Banka sisteminden iletilen onay kodudur.
      dateTime String 17 O İlgili işlemin gerçekleşme zamanıdır.
      reconciliationDate String 8 O İşlemin mutabakatı için PAYCELL sisteminde belirlenen tarih bilgisidir. YYYYMMDD formatında olacaktır.
      responseCode String 20 M İlgili işlemin sonuç bilgisidir.
      0: Success, >0: Fail
      responseDescription String 200 M İlgili işlemin sonuç açıklama bilgisidir.

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

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

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

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

      refundAll

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

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

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

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

      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
      Field Format Length (O)ptional/(M)andatory Description
      applicationName String 20 M Servisi çağıran uygulamaya özel belirlenmiş kullanıcı adı bilgisidir, entegrasyon aşamasında Paycell tarafından bildirilecektir.
      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.

      requestBody
      Field Format Length (O)ptional/(M)andatory Description
      creditCardNo String 16 O Kredi kartı numarası
      expireDateMonth String 2 O Son kullanma tarihi ay bilgisi
      01, 02, …
      expireDateYear String 2 O Son kullanma tarihi yıl bilgisi
      17, 18, …
      cvcNo String 3 O Kartın CVC/CVV değeri
      hashData String 50 M PAYCELL 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
      Field Format Length (O)ptional/(M)andatory Description
      transactionId String 20 M Request ile iletilen transactionID
      responseDateTime String 17 M YYYYMMddHHmmssSSS
      responseCode String 20 M 0: Success, >0: Fail
      responseDescription string 200 M İşlem sonuç açıklaması

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

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

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

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

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

      Örnek Kodlar

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

                       

      ProvisionServices

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

      getCardToken

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

      Yeni Özellikler

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

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

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

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

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

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

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