Sanal POS ürünümüz ile müşterilerinizin kart bilgileri kullanarak mı ödeme yapmasını istiyorsunuz Yoksa Cep telefonu numarası girerek Mobil Ödeme işlemi ile mi ödeme yapmasını istiyorsunuz?
Ödeme sayfası kendi tasarımınız olup, kart bilgilerinin sizin tarafınızdan alınmasını mı istiyorsunuz? Yoksa kart bilgileri WIRECARD tarafından alınıp mı ödeme gerçekleştirilsin istiyorsunuz?
** Önemli : Yıllık işlem adediniz 20.000’in üzerinde ve PCI DSS Level 4 sertifikalarınız yok ise WIRECARD Ortak Ödeme Sayfasını kullanmanız gerekmektedir.
** Önemli : Üye İşyeri Ödeme Sayfasını kullanmak istiyorsanız PCI DSS Level 4 sertifikanızı başarılı bir şekilde alıp şirketimizle yüz yüze mülakatın olumlu sonuçlanması durumunda, ürünümüzün kullanımı için başvuruda bulunabilirsiniz.
20’den az ürününüz veya ürünlerini gruplayınca 20’den az ürün fiyatınız mı var? Ya da entegrasyon için yazılım geliştirme tarafında insan kaynağınız az mı?
Ödeme işlemi web siteniz veya uygulamanız tarafında mı başlayacak? Yoksa bir web sitesi ya da uygulama olmadan mı ödeme işlemi gerçekleştirmek istiyorsunuz?
Ödeme sayfası kendi tasarımınız olup, cep telefonu bilgisi sizin tarafınızdan alınmasını mı istiyorsunuz? Yoksa cep telefonu bilgileri WIRECARD tarafından alınıp mı ödeme gerçekleştirilsin istiyorsunuz?
20’den az ürününüz veya ürünlerini gruplayınca 20’den az ürün fiyatınız mı var? Ya da entegrasyon için yazılım geliştirme tarafında insan kaynağınız az mı?
Sistemde var olan ödeme abonelikleri listeleme, detaylarını çekebilme ve iptal etme işlemlerini yapmayı sağlayan entegrasyon servisleridir.
Sms Abonelik servislerinin tümü SOAP tabanlı servislerdir. Servis EndPoInt adresine servis alt başlıklarından ulaşabilirsiniz.
Abonelik işlemleri Entegrasyonu SOAP servisi olarak, https://www.wirecard.com.tr/services/SubscriberManagementService.asmx adresindeki web servisin metotları kullanılabilir. Bu metotlar ve işlevleri aşağıdaki gibidir.
"SelectSubscriber" metodu vasıtası ile üye iş yerine ait abonelikler listelenebilir. Metoda ait parametreler vasıtası ile filtreleme yapılabilir. Bir parametrenin değeri boş gönderilirse o parametre kriteri göz ardı edilecektir.
Token (Servislerin kullanımı için gereken üye iş yeri bilgileri. Bu bilgiler Wirecard tarafından üye iş yerine bildirilir)
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Açıklama
Token
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Input
Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Token Bilgileri
Parametre Adı
Veri Tipi
Açıklama
UserCode
String
Wirecard tarafından atanan üye iş yeri numarasıdır.
Pin
String
Wirecard tarafından atanan pin
Input Bilgileri
Parametre Adı
Veri Tipi
Açıklama
ProductId
Int
Aboneliğin hangi ürün üzerinden yapıldığını belirtir. ‘0’ değeri belirli bir ürün üzerinden abonelik yapılmadığını gösterir.
GSM
String
Aboneliğin hangi GSM numarasını tarafından yapıldığını belirtir.(5XXXXXXXXX formatında olmalı)
OrderChannelId
Int
Aboneliğin yapıldığı satış kanalını belirtir;
‘100’ Pro API
‘101’ Basic API
‘102’ SMS
‘103’ Direct API
‘104’ API Plus
Active
Int
Aboneliğin aktif/pasif bilgisini belirtir;
‘1’ Aktif
‘0’ Pasif
‘-1’ Hepsi
SubscriberType
Int
Abonelik türünü belirtir;
‘2’ Aylık Abonelik
‘3’ Haftalık Abonelik
StartDateMin
DateTime
Abonelik başlangıç tarihini belirtir.(alt sınır)
StartDateMax
DateTime
Abonelik başlangıç tarihini belirtir.(üst sınır)
LastSuccessfulPaymentDateMin
DateTime
Aboneliğe ait son başarılı ödeme tarihini belirtir.(alt sınır)
LastSuccessfulPaymentDateMax
DateTime
Aboneliğe ait son başarılı ödeme tarihini belirtir.(üst sınır)
Servis Çıktı Parametreleri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
Int
Sonuç kodu.
ErrorCode
String
Hata kodunu belirtir.
ErrorMessage
String
Hata kodu açıklamasını belirtir.
Subscribers
List
İlgili kriterlere göre dönen abonelik kayıtları. Bu Liste içerisinde "Subscriber" elemanı bulunmaktadır. "Subscriber" elemanı detayları aşağıdaki iç tabloda iç parametreleri anlatılmıştır.
//Request
Wirecard Tarafından Verilen DeğerWirecard Tarafından Verilen Değer0Sorgulanacak GSm numarası104-122018-01-012018-01-052018-01-012018-01-05
//Response
0587401ab-3c72-422b-9fcf-96cb55d0d732Cep telefon bilgisi2018-01-02T11:24:43.28410.0110Test ürünü104false2018-01-02T11:24:43.283439
Abonelik Detayı Görüntüleme
"SelectSubscriberDetail" metodu kullanılarak bir aboneliğin detayını getirir. Kullanılması için abonelik ID’sinin biliniyor olması gereklidir. Gerekli ID, SelectSubscriber metoduyla alınabilir.
Aşağıdaki parametreler XML formatında "SelectSubscriberDetail" metoduna iletilerek sorgulama işlemi yapılır.
Token (Servislerin kullanımı için gereken üye iş yeri bilgileri. Bu bilgiler Wirecard tarafından üye iş yerine bildirilir)
Servis Girdi Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Açıklama
Token
Token Sınıfı
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
SubscriberId
Guid
Abonelik Id'si
Token Bilgileri
Parametre Adı
Veri Tipi
Açıklama
UserCode
String
Wirecard tarafından atanan üye iş yeri numarası
Pin
String
Wirecard tarafından atanan pin
Servis Çıktı Parametreleri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
Int
Sonuç kodu.
ErrorCode
String
Hata kodunu belirtir.
ErrorMessage
String
Hata kodu açıklamasını belirtir.
Subscribers
List
İlgili kriterlere göre dönen abonelik kayıtları. Bu Liste içerisinde "Subscriber" elemanı bulunmaktadır. "Subscriber" elemanı detayları aşağıdaki iç tabloda iç parametreleri anlatılmıştır.
Subscriber Bilgileri
Parametre Adı
Veri Tipi
Açıklama
SubscriberId
Guid
Abonelik Id'si
GSM
String
Aboneliğin yapıldığı GSM numarası
StartDate
Datetime
Aboneliğin başlangıç tarihi
SubscriberTypeId
Int
Abonelik türü
PaymentCategoryId
Int
Abonelik kategorisi
BasePrice
Double
Abonelik bedeli
BaseUnitPrice
Double
Abonelik kontör bedeli
ProductId
Int
Aboneliğin ait olduğu ürün Id'si
ProductName
String
Aboneliğin ait olduğu ürün adı
OrderChannelId
Int
Aboneliğin yapıldığı satış kanalı
Active
bool
Aboneliğin aktiflik durumu
"True": Aktif
"False": Pasif
LastSuccessfulPaymentDate
Datetime
Aboneliğe ait son başarılı ödeme tarihi
GsmOperator
Int
Aboneliğin yapıldığı GSM numarasının ait olduğu operatör
1: Turkcell
3: Avea
7: Vodafone
Payments
-
Aboneliğe ait ödeme kayıtları
Payments Bilgileri aşağıdaki iç tabloda açıklanmıştır
Payments
Parametre Adı
Veri Tipi
Açıklama
PaymentDate
DateTime
Ödeme tarihini belirtir
IsPaid
bool
Ödemenin başarılı olup olmadığını belirtir
"True" Başarılı
"False" Başarısız
OrderObjectId
Guid
Ödemenin ait olduğu siparişin Id'sini belirtir
Örnek Servis Çağrı Kodları
//Request
_subscriberManagementService = new SubscriberManagementServiceSoapClient();
MAuthToken token = new MAuthToken();
token.UserCode = base.settings.UserCode;
token.Pin = base.settings.Pin;
var guid = new Guid(subscriberId.ToString());
var response = _subscriberManagementService.SelectSubscriberDetail(token, guid);
return View(response);
//Request
com._3pay.services.SubscriberManagementService service = new com._3pay.services.SubscriberManagementService();
com._3pay.services.SubscriberManagementServiceSoap port = service.getSubscriberManagementServiceSoap();
com._3pay.services.MAuthToken token = new com._3pay.services.MAuthToken();
token.setUserCode(settings.userCode);
token.setPin(settings.pin);
java.lang.String subscriberId = request.getParameter("subscriberId");
com._3pay.services.MSubscriberDetailOutput result = port.selectSubscriberDetail(token, subscriberId);
//Request
#region Token
token= Token.new
token.UserCode= @settings.UserCode
token.Pin=@settings.Pin
#endregion
req=Selectsubscriberdetail.new
subscriberdetail_result= req.execute(params[:subscriberId],token) # soap servis çağrısının başladığı kısmı temsil etmektedir.
"DeactivateSubscriber" metodu vasıtası ile yapılan bu işlem ilgili aboneliği pasif duruma getirir. Aboneliğin ödeme tarihi geldiğinde tahsilat yapılmaz. Pasif duruma çekilen abonelerin manuel olarak tekrar kayıt olması gerekmektedir.
Aşağıdaki parametreler XML formatında "DeactivateSubscriber" metoduna iletilerek abonelik iptal etme işlemi yapılır.
Token (Servislerin kullanımı için gereken üye iş yeri bilgileri. Bu bilgiler Wirecard tarafından üye iş yerine bildirilir)
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Veri Tipi
Açıklama
Token
Token Sınıfı
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
SubscriberId
Guid
Abonelik Id'si
Token Bilgileri
Parametre Adı
Veri Tipi
Açıklama
UserCode
String
Wirecard tarafından atanan üye iş yeri numarası
Pin
String
Wirecard tarafından atanan pin
Servis Çıktı Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
Int
Sonuç kodu. ‘0’ döndüğünde aboneliğin başarılı bir şekilde pasife çekildiğini belirtir.
ErrorCode
String
Abonelik pasife çekilememişse hata kodunu belirtir.
ErrorMessage
String
Hata kodu açıklamasını belirtir.
Örnek Servis Çağrı Kodları
//Request
_subscriberManagementService = new SubscriberManagementServiceSoapClient();
MAuthToken token = new MAuthToken();
token.UserCode = base.settings.UserCode;
token.Pin = base.settings.Pin;
var guid = new Guid(subscriberId.ToString());
var response = _subscriberManagementService.DeactivateSubscriber(token, guid);
return View(response);
//Request
com._3pay.services.SubscriberManagementService service = new com._3pay.services.SubscriberManagementService();
com._3pay.services.SubscriberManagementServiceSoap port = service.getSubscriberManagementServiceSoap();
com._3pay.services.MAuthToken token = new com._3pay.services.MAuthToken();
token.setUserCode(settings.userCode);
token.setPin(settings.pin);
java.lang.String subscriberId = request.getParameter("subscriberId");
com._3pay.services.MOperationOutput result = port.deactivateSubscriber(token, subscriberId);
//Request
#region Token
token= Token.new
token.UserCode= @settings.UserCode
token.Pin=@settings.Pin
#endregion
req=Deactivesubscriber.new
subscriberdeactive_result= req.execute(params[:subscriberId],token) # soap servis çağrısının başladığı kısmı temsil etmektedir.
//Request
SubScriberChangePriceRequest subScriberChangePrice = new SubScriberChangePriceRequest();
subScriberChangePrice.ServiceType = "SubscriberManagementService";
subScriberChangePrice.OperationType = "ChangePriceBySubscriber";
subScriberChangePrice.Description = "Odeme Guncelleme";
subScriberChangePrice.Price = request.getParameter("price");
subScriberChangePrice.SubscriberId = request.getParameter("subscriberId");
subScriberChangePrice.ValidFrom="20190703";
subScriberChangePrice.Token = new Token();
subScriberChangePrice.Token.UserCode = settings.userCode;
subScriberChangePrice.Token.Pin = settings.pin;
String subScriberChangePriceResponse = subScriberChangePrice.execute(subScriberChangePrice,settings); //"Abonelik ücreti güncelleme servisi başlatılması için gerekli servis çağırısını temsil eder."
//Request
$settings=new Settings();
$request = new SubscriberChangePriceRequest();
$request->ServiceType = "SubscriberManagementService";
$request->OperationType = "ChangePriceBySubscriber";
$request->Token= new Token();
$request->Token->UserCode=$settings->UserCode;
$request->Token->Pin=$settings->Pin;
$request->BaseUrl = $settings->BaseUrl;
$request->SubscriberId = $_POST["subscriberId"];
$request->Price = $_POST["price"];
$request->Description ="Odeme değiştirme";
$request->ValidFrom =$date;
$response = SubscriberChangePriceRequest::execute($request); // Ücret değişimi için gerekli olan servis çağrısının başlatılması için gerekli servis çağırısını temsil eder.
//Request
req=SubscriberChangePriceRequest()
req.ServiceType="SubscriberManagementService"
req.OperationType="ChangePriceBySubscriber"
req.SubscriberId=request.POST.get('subscriberId')
req.Price=request.POST.get('price')
req.Description="Abonelik ucreti degisimi"
req.ValidFrom=validFrom.strftime('%Y%m%d')
#region Token
req.Token=Token()
req.Token.UserCode=config.UserCode
req.Token.Pin=config.Pin
#endregion
message = req.execute(req,config) # Xml servis çağrısının başlatıldığı kısım
//Request
req= Subscriberchangeprice.new
req.ServiceType = "SubscriberManagementService"
req.OperationType = "ChangePriceBySubscriber"
req.Description = "Odeme Degistirme"
req.Price=params[:price]
req.SubscriberId=params[:subscriberId]
req.ValidFrom=validFrom
#region Token
req.Token = Token.new
req.Token.UserCode = @settings.UserCode
req.Token.Pin = @settings.Pin
#endregion
returnData= req.execute(req,@settings) # xml servis çağrısının başladığı kısım
Wirecard'a gelen SMS’ler, SMS-Keyword Yönlendirme kurgusunu kullanan şirketler için üye işyerine iletilmektedir.
Bu iletim, üye işyeri tarafından geliştirilecek bir web servis üzerinden yapılmaktadır. Söz konusu web servis, "ReceiveMOMessage" adlı bir metoda sahip olmalıdır.
Geliştirilen servisin formatı aşağıdaki URL’deki yapıda olmalıdır:
https://www.wirecard.com.tr/proxy/CReceiveMOMessageService.asmx?op=ReceiveMOMessage
Web servisin adresi tr.integration@wirecard.com adresine iletilerek Wirecard sisteminde tanımlanması sağlanır.
Wirecard tarafından ReceiveMOMessage metodu çağırılarak müşterinin 7979’a gönderdiği SMS içeriğine ilişkin veriler, üye işyerinin web servisine gönderilecektir.
Bu web servisteki ReceiveMOMessage metoduna aşağıdaki değerler XML formatında iletilir.
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Veri Tipi
Açıklama
Input
Input Sınıfı
Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Input Bilgileri
Parametre Adı
Veri Tipi
Açıklama
ReceivedSMSId
Guid
Müşteriden Wirecard'a iletilen SMS’in Id’si
SenderGSM
String
Gönderen GSM numarası
ReceiverGSM
String
Alıcı GSM numarası
OriginalContent
String
SMS içeriği
FixedContent
String
Güncellenmiş SMS içeriği. Asıl SMS içeriğinin Türkçe karakter bulundurmayan, büyük harfe çevrilmiş ve boşluklardan arındırılmış versiyonu.
DateReceived
DateTime
SMS tarihi
GsmOperator
Int
SMS’in gönderildiği GSM operatörü;
‘1’ Turkcell
‘7’ Vodafone
‘3’ AVEA
ReceiveMOMessage metodu, aşağıdaki gibi bir response değerini Wirecard'a dönmelidir:
CReceiveMOMessageOutput Bilgileri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
Int
İşlem Sonuç bilgisi iletim durumunu belirtir.
‘0’ gönderilirse İşlem Sonuç bilgisinin alındığını belirtir.
‘1’ gönderilirse İşlem Sonuç bilgisinin alınmadığını belirtir.
ErrorCode
String
İşlem Sonuç bilgisi iletiminde hata oluştuğu durumda "(StatusCode=1)" açıklayıcı bir değer gönderilir.
İşlem Sonuç bilgisi iletimi başarılı olduğunda boş gönderilir.
ErrorMessage
String
SMS bilgisi iletiminin açıklama mesajı;
SMS bilgisi iletimi başarılı ise ‘Message Received Successfully.’ şeklinde gönderilir.
SMS bilgisi iletimi başarısız ise ilgili exception içeriği veya açıklayıcı bir hata mesajı gönderilir.
Bilgi SMS’i Gönderim Servisi
Bilgi SMS’i Gönderim Servisi, müşteriye üye işyeri tarafından bir ödeme işemiyle ilgili 7979’dan ücretsiz bilgilendirme SMS’i gönderilmesini sağlar.
Bilgi Sms'i Entegrasyonu SOAP servisi olarak aşağıdaki adresleri kullanabilir:
Üye işyeri, bilgi gönderiminde 7979 numarasını kullanacaksa https://www.wirecard.com.tr/vas/msendsmsservice.asmx adresindeki web servis, projeye referans olarak eklenir.
Üye işyeri, kendine ait kısa numarayı kullanacaksa https://www.wirecard.com.tr/vas/MCustomSendSMSService.asmx adresindeki web servis, projeye referans olarak eklenir.
Bilgi SMS’i gönderim yetkisi için tr.integration@wirecard.com adresine yetki talebi iletilir.
Gönderilecek bilgi mesajı, web servisin SendSMS metoduna XML Formatında iletilir. Bu metodun parametreleri şöyledir:
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Açıklama
Token
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Input
Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Token Bilgileri
Parametre Adı
Veri Tipi
Açıklama
UserCode
String
Wirecard tarafından atanan üye iş yeri numarasıdır.
İşlem Sonuç Servisi, tüm kurgular için işlemlerin sonucunu Wirecard tarafından üye işyerine iletilmesini sağlar. Bu servisin kullanımı için üç yöntem mevcuttur:
Birinci yöntem, üye işyerine ait bir e-mail adresine işlem sonuçlarının, e-mail halinde gönderilmesidir.
İkinci yöntem, HTTP/GET ile işlem sonuçlarının iletileceği bir web sayfası hazırlanmasıdır. Wirecard sistemi tarafından bu sayfa çağırılarak, gerekli parametreler iletilir.
Üçüncü yöntem, üye işyeri tarafından bir web servis hazırlanmasıdır. Wirecard sistemi bu web servisin ilgili metodunu çağırarak işlem sonuçlarını iletir.
Tüm yöntemlerde ilgili e-mail adresi/sayfa adresi/web servis adresi tr.integration@wirecard.com adresine bildirilmelidir. İşlem Sonuç Servisi’ne bağlanacak IP’lerin güvenlik önlemi amacıyla kısıtlanması istenirse, Wirecard'ın kullanacağı IP adresleri aşağıdaki gibidir:
46.34.90.215
46.34.90.216
212.154.83.11
Email Yöntemi
Üye işyeri tarafından seçilecek olan bir e-mail adresi Wirecard yetkililerine iletilir. İşlem sonuçları bu adrese aşağıdaki formatta email olarak gönderilir:
Üye İşyeri
ÜYE_İŞYERİ_NO ÜYE_İŞYERİ_ADI
Gsm
5XXXXXXXXX (Operatör Adı)
İşlem Tarihi
GG.AA.YYYY SS:DD:SS
Fiyat
XX,XX TL
Durum
İşlem Başarılı/İşlem Başarısız
Satış Kanalı
Satış Kanalı İsmi
Satış Türü
Tekil Satış/Haftalık Abonelik/Aylık Abonelik
Satılan Ürün
Ürün İsmi
Pin
(Pin gönderiliyorsa, gönderilen pin)
Gelen SMS
Müşterinin Gönderdiği SMS İçeriği
Hata Kodu
1000
Hata Mesajı
Islem Basarili
Web Sayfası Yöntemi
Üye işyeri tarafından bir web sayfası hazırlanır. Sayfanın URL’si tr.integration@wirecard.com adresine iletilerek Wirecard sisteminde tanımlanması sağlanır.
Wirecard, bu sayfaya ilgili parametreler ile işlem sonucunu gönderir.
Bu sayfa, hem başarılı hem de başarısız işlemler için; parametreler başarıyla alınmışsa, içeriğinde sadece “OK” değerini barındırmalıdır. Parametrelerin alımı başarısızsa boş sayfa oluşmalıdır.
Üye İşyeri tarafından hazırlanan web sayfasının parametreleri aşağıdaki gibi olmalıdır:
Bu Http Parametrelerinin anlamları aşağıdaki gibidir.
state
Ödemenin sonucunu belirtir.
100 başarılı işlem sonucunu belirtir.
100’den büyük değerler işlemin başarısız olduğunu belirtir.
order
İşlemin ID’sini belirtir.
gsm
İşlemin yapıldığı GSM numarasını belirtir
status
Sipariş durum kodunu belirtir. ‘0’ dönerse siparişin başarılı bir şekilde oluşturulduğunu belirtir. Ödemenin başarılı olduğu anlamına gelmez.
date
İşlem tarihini bulundurmaktadır.
errorcode
Sipariş hata kodunu belirtir. Operatör tarafından gönderilir. Siparişe ait ödemenin hata kodudur.
errormsg
Sipariş hata açıklamasını belirtir. İlgili hata koduna ait açıklama. Siparişe ait ödemenin hata açıklamasıdır.
price
İşlemin toplam tutarı
sms
Gönderilen SMS’in içeriğini belirtir
category
Sipariş ile ilgili ürünün/servisin kategorisi
saletype
Ödeme yöntemi:
- ‘1’ Tek çekim
- ‘2’ Aylık abonelik (iletilen miktar her ay otomatik çekilir)
- ‘3’ Haftalık abonelik (iletilen miktar her hafta otomatik çekilir)
- ‘4’ 2 haftalık abonelik
- ‘5’ 3 aylık abonelik
- ‘6’ 6 aylık abonelik
- ‘7’ aylık denemeli (ilk ay ücretlendirme yapılmaz)
- ‘8’ haftalık denemeli (ilk hafta ücretlendirme yapılmaz)
- ‘9’ 2 haftalık denemeli (ilk 2 hafta ücretlendirme yapılmaz)
- ‘10’ 3 aylık denemeli
- ‘11’ 6 aylık denemeli
- ‘13’ 30 günlük
subscriber
Yapılan işlem bir abonelik işlemi ise, bu aboneliğin idsini belirtir. Aboneliğin tüm periyodik ödemelerinin işlemlerinde aynı SubscriberId gönderilir. Abonelikli olmayan işlemlerde ‘00000000-0000-0000-0000-000000000000’ gönderilir.
Yapılan işlem başlatılırken iletilen, üye işyeri tarafından tanımlanan Id. (abonelik işlemlerindeki dönemsel ödemelerde mpay gönderilmez.)
channel
Mobil Ödeme işleminin gerçekleştiği kanal:
- ‘100’ Pro API
- ‘101’ Basic API
- ‘102’ SMS
- ‘103’ Direct API
- ‘104’ API Plus
- ‘111’ Abonelik yenilemesi
Mobil Web Servis Yöntemi
İşlem sonuçlarının Wirecard tarafından gönderilmesi için üye işyeri tarafından bir web servis geliştirilmelidir. Bu web servis "ReceiveOrderResult" adlı bir metoda sahip olmalıdır.
Web Servis Formatı aşağıdaki URL'de belirtilen şekilde olmalıdır.
https://www.wirecard.com.tr/proxy/CReceiveOrderResultService.asmx
Web servisin URL’si tr.integration@wirecard.com adresine iletilerek Wirecard sisteminde tanımlanması sağlanır.
Bu servisteki "ReceiveOrderResult" metoduna aşağıdaki değerler xml formatında iletilmelidir.
Örnek .Net Servisine buradan , PHP servisine buradan, Java servisine buradan ulaşabilirsiniz.
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Veri Tipi
Açıklama
Input
Input Sınıfı
Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Input Bilgileri
Parametre Adı
Veri Tipi
Açıklama
OrderObjectId
Guid
İşlemin Id'sini belirtir.
GSM
string
İşlemin yapıldığı GSM numarasını belirtir.
MPAY
string
Yapılan işlem başlatılırken iletilen, üye işyeri tarafından tanımlanan Id. (abonelik işlemlerindeki dönemsel ödemelerde mpay gönderilmez)
SMSContent
string
Gönderilen SMS’in içeriğini belirtir.
TotalPrice
double
İşlemin toplam tutarı
TotalUnitPrice
double
İşlemin toplam kontör tutarı
State
int
İşlemin sonucunu belirtir.
100 başarılı işlem sonucunu belirtir.
100’den büyük değerler işlemin başarısız olduğunu belirtir.
StatusCode
int
Sipariş durum kodunu belirtir. ‘0’ dönerse siparişin başarılı bir şekilde oluşturulduğunu belirtir. Ödemenin başarılı olduğu anlamına gelmez.
ErrorCode
string
Sipariş hata kodunu belirtir. Operatör tarafından gönderilir. Siparişe ait ödemenin hata kodudur.
ErrorMessage
string
Sipariş hata açıklamasını belirtir. İlgili hata koduna ait açıklama. Siparişe ait ödemenin hata açıklamasıdır.
PaymentDateTime
DateTime
İşlem tarihini bulundurmaktadır.
GsmOperator
int
Siparişi oluşturan numaranın GSM operatörü
‘1’ Turkcell
‘7’ Vodafone
‘3’ AVEA
‘4’ Kredi Kartı
GsmType
int
Siparişi oluşturan numaranın GSM türü
‘0’ Bilinmiyor
‘1’ PostPaid
‘2’ PrePaid
SubscriberId
Guid
Yapılan işlem bir abonelik işlemi ise, bu aboneliğin idsini belirtir. Aboneliğin tüm periyodik ödemelerinin işlemlerinde aynı SubscriberId gönderilir.
Products
CSaleProduct
CSaleProduct Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
OrderChannelId
int
Mobil Ödeme işleminin gerçekleştiği kanal:
‘100’ Pro API
‘101’ Basic API
‘102’ SMS
‘103’ Direct API
‘104’ API Plus
‘111’ Subscription renewal
‘121’ Refund
‘123’ Product Payment
PaymentTypeId
int
Ödeme yöntemi:
‘1’ Tek çekim
‘2’ Aylık abonelik (iletilen miktar her ay otomatik çekilir)
‘3’ Haftalık abonelik (iletilen miktar her hafta otomatik çekilir)
‘4’ 2 haftalık abonelik
‘5’ 3 aylık abonelik
‘6’ 6 aylık abonelik
‘7’ aylık denemeli (ilk ay ücretlendirme yapılmaz)
‘8’ haftalık denemeli (ilk hafta ücretlendirme yapılmaz)
‘9’ 2 haftalık denemeli (ilk 2 hafta ücretlendirme yapılmaz)
‘10’ 3 aylık denemeli
‘11’ 6 aylık denemeli
‘13’ 30 günlük
‘18’ yıllık abonelik
PaymentCategoryId
int
Sipariş kategorisi:
‘1’ Fiziksel Ürün
‘2’ Oyun
‘3’ Dijital İçerik
‘4’ Servis
‘5’ Sosyal Ağ/Arkadaşlık
‘6’ Aidat/Otomat
‘7’ Bahis
‘8’ Sigorta
‘10’ Kamu - bilet - fastfood
‘11’ Cep Sigorta
‘12’ Kutu Oyun
‘14’ Mobil Uygulama / Mobil Market
‘15’ Eğitim
‘16’ Bağış
‘19’ Sağlık
‘20’ White Label Adult
"ReceiveOrderResult" metodu çağırıldığında, aşağıdaki gibi bir XML değerini Wirecard'a response olarak dönmelidir.
CReceiveOrderResultOutput Bilgileri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
int
İşlem Sonuç bilgisi iletim durumunu belirtir.
‘0’ gönderilirse İşlem Sonuç bilgisinin alındığını belirtir.
‘1’ gönderilirse İşlem Sonuç bilgisinin alınmadığını belirtir.
ErrorCode
string
İşlem Sonuç bilgisi iletiminde hata oluştuğu durumda(StatusCode=1) açıklayıcı bir değer gönderilir.
İşlem Sonuç bilgisi iletimi başarılı olduğunda boş gönderilir.
ErrorMessage
string
İşlem Sonuç bilgisi iletiminin açıklama mesajı,
İşlem Sonuç bilgisi iletimi başarılı ise ‘Message Received Successfully.’ şeklinde gönderilir.
İşlem Sonuç bilgisi iletimi başarısız ise ilgili exception içeriği
veya açıklayıcı bir hata mesajı gönderilir.
Kredi Kartı Sonuç Servisi
Kredi Kartı sonuç servisi, WIRECARD ile satıcı arasında bir bildirim köprüsü olarak kullanılır.
Kredi Kartı sonuç servisi, Wirecard'ın kredi kartı işlemlerinin birçoğuyla ilgili bilgileri SOAP tabanlı bir web servisi aracılığıyla üye işyeri ile paylaşmasına izin verir. Bu web servis Wirecard tarafından belirlenen standartlara göre satıcı tarafından hazırlanmalıdır.
Bu web servis "ReceiveTransactionResult " adlı bir metoda sahip olmalıdır.
Web Servis Formatı aşağıdaki URL'de belirtilen şekilde olmalıdır.
https://www.wirecard.com.tr/proxy/CreditCardPaymentResultService.asmx?op=ReceiveTransactionResult
Web servisin URL’si tr.integration@wirecard.com adresine iletilerek Wirecard sisteminde tanımlanması sağlanır.
Bu servisteki "ReceiveTransactionResult" metoduna aşağıdaki değerler xml formatında iletilmelidir.
Örnek .Net Servisine buradan , PHP servisine buradan, Java servisine buradan ulaşabilirsiniz.
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı
Veri Tipi
Açıklama
input
Input Sınıfı
Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Input Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
StatusCode
Int
Evet
İşlem Sonucu.
0 Başarılı İşlem
1 Başarısız İşlem
ResultCode
String
Hayır
Wirecard sonuç kodunun açıklaması
ResultMessage
String
Hayır
Wirecard işlem açıklaması
OrderId
String
Evet
Ödeme işleminin benzersiz numarası.
Bu değer wirecard servisleri tarafından otomatik olarak gönderilir.
MPAY
String
Hayır
Ödeme işleminde gönderilen değer aynen buraya tekrardan yansıyacaktır.
Price
Double
Evet
Tahsil Edilen Ücret.
Transaction Date
Datetime
Evet
Ödeme işleminin tarih ve saati
ServiceTypeCode
String
Hayır
İşlemin gerçekleştiği servisin türü. (Satıs ve iade servisleri için)
Örneğin: “CCProxy/Sale” türü için "CCProxy" olmalıdır.
Örneğin: “WDRefundService/ RefundPayment” türü icin ,“ WDRefundService “ olmalıdır.
TransactionTypeCode
String
Hayır
İşlemin gerçekleştiği servisin türü. (Satıs ve iade servisleri için)
Örneğin: “CCProxy/Sale” işlemi için "Sale" olmalıdır.
Örneğin: “WDRefundService/ RefundPayment” işlemi icin ,“RefundPayment“ olmalıdır.
ExtraParam
String
Hayır
İşlem ile ilgili ek parametreleri ifade eder.
Bu alan boş geçilebilir.
"ReceiveOrderResult" metodu çağırıldığında, aşağıdaki gibi bir XML değerini Wirecard'a response olarak dönmelidir.
ReceiveTransactionResultResult Bilgileri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
int
İşlem Sonuç bilgisi iletim durumunu belirtir.
‘0’ gönderilirse İşlem Sonuç bilgisinin alındığını belirtir.
‘1’ gönderilirse İşlem Sonuç bilgisinin alınmadığını belirtir.
ResultCode
string
Üye işyeri tarafından belirlenen isteğe bağlı sonuç kodu
ResultMessage
string
Üye işyeri tarafından belirlenen işlem sonuç mesajı
Abonelik iptal bildirimi için üye işyeri tarafından bir web sayfası hazırlanır. Sayfanın URL’si tr.integration@wirecard.com adresine iletilerek Wirecard sisteminde tanımlanması sağlanır.
Wirecard, bu sayfaya ilgili parametreler ile işlem sonucunu gönderir.
Bu sayfa, hem başarılı hem de başarısız işlemler için; parametreler başarıyla alınmışsa, içeriğinde sadece “OK” değerini barındırmalıdır. Parametrelerin alımı başarısızsa boş sayfa oluşmalıdır.
Üye İşyeri tarafından hazırlanan web sayfasının parametreleri aşağıdaki gibi olmalıdır:
Bu Http Parametrelerinin anlamları aşağıdaki gibidir.
gsmoperator
Aboneliğin ait olduğu operatör
Değerleri Turkcell, AVEA, VodafoneMobilePayment olmak zorundadır.
subscriptionid
Wirecard tarafında oluşturulan aboneliğin unique değeri
msisdn
Aboneliğin ait olduğu telefon numarası/kredi kartı
createdate
Aboneliğin oluşturulma tarihi
enddate
Aboneliğin sonlanma tarihi
productid
Eğer ürün bazlı bir abonelik kurgusu kullanıldıysa ilgili ürünün Wirecard tarafında tutulan unique değeri
price
Aboneliğin tutarı
İşlem Sorgulama
İşlem Sorgulama, Müşterilerin tek adımda sistemde yapılan işlemleri "Sipariş Numarası" veya "MPAY" ile sorgulamasına olanak sağlar.
İşlem Sorgulama "SOAP" tabanlı servislerdir. Servis EndPoint adreslerine servis alt başlıklarından ulaşabilirsiniz.
Sipariş Numarası ile İşlem Sorgulama
Sipariş Numarası ile işlem sorgulama, sisteminizde yapılan işlemlerin karşılığında Wirecard tarafından üretilen "Sipariş Numarası" ile işlem sorgulaması yapmanıza olanak sağlar.
https://www.wirecard.com.tr/services/saleservice.asmx adresindeki web servis, projeye referans olarak eklenir.
Web servis içerisinde bulunan GetSaleResult metoduna Token bilgileri ve OrderId değeri iletilerek sipariş sorgulanabilir.
Token (Servislerin kullanımı için gereken üye iş yeri bilgileri. Bu bilgiler Wirecard tarafından üye iş yerine bildirilir)
Servis Girdi Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
Token
Token Sınıfı
Evet
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
OrderId
Guid
Evet
Wirecard tarafından işlem için atanan unique değer.
Token Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
UserCode
String
Evet
Wirecard tarafından atanan üye iş yeri numarası
Pin
String
Evet
Wirecard tarafından atanan pin
Servis Çıktı Parametreleri
Parametre Adı
Veri Tipi
Açıklama
OrderObjectId
Guid
Sipariş Id'sini belirtir. İşlemin sonucunu sorgulamak için kullanılır.
Gsm
String
Ödemenin yapıldığı telefon numarasını belirtir(5XXXXXXXXX formatında)
GsmOperator
Int
Bu değer daima '0'dır. İşlem yapılan operatörü öğrenmek için bir sonraki maddeye bakınız.
GsmType
Int
Bu değer daima '0'dır. Hattın faturalı mı yoksa faturasız mı olduğunu öğrenmek için bir sonraki maddeye bakınız.
State
Int
İşlem durumunu belirtir. Bu değer nihai değildir. İşlem sonucunu öğrenmek için bir sonraki maddeye bakınız.
100’den küçük değerler ödemenin devam ettiğini belirtir.
100 ödemenin başarıyla sonuçlandığını belirtir.
100’den büyük değerler ödemenin başarısız olduğunu belirtir.
OrderChannelId
Int
‘100’ Pro API
‘101’ Basic API
‘102’ SMS
‘103’ Direct API
‘104’ API Plus
‘111’ Subscription renewal
‘121’ Refund
‘123’ Product Payment
Bu değer boş dönecektir. Yapılan işlem bir abonelik işlemi ise bir sonraki maddede anlatılan yöntemle abonelik idsi öğrenilebilir.
PIN
String
Bu değer boş dönecektir. Yapılan işlem pinli kurgu ise kullanıcıya gönderilen PIN değerini öğrenmek için bir sonraki maddedeki yöntem kullanılır.
MicroPaymentResults
List
İşlem sonuçlanmadığı için bu parametreler boş dönecektir. MMicroPaymentOutput elemanlarını barındıran listeyi temsil eder. MMicroPaymentOutput parametreleri aşağıdaki iç tabloda açıklanmıştır.
StatusCode
Int
Sipariş durum kodunu belirtir. ‘0’ dönerse siparişin başarılı bir şekilde başladığını belirtir. Ödemenin başarılı sonuçlandığı anlamına gelmez.
ErrorCode
String
Sipariş hata kodunu belirtir. Operatör tarafından gönderilir. Siparişe ait ödemenin hata kodudur.
ErrorMessage
String
Sipariş hata açıklamasını belirtir. İlgili hata koduna ait açıklama.
MMicroPaymentOutput Bilgileri
Parametre Adı
Veri Tipi
PaymentObjectId
Guid
StatusCode
Int
ErrorCode
String
ErrorMessage
String
ExtraData
String
Örnek Servis Çağrı Kodları
//Request
_getSaleResultOrderService = new SaleServiceSoapClient();
Core.ApiPlusAndProApiService.MAuthToken token = new Core.ApiPlusAndProApiService.MAuthToken();
#region Token
token.UserCode = base.settings.UserCode;
token.Pin = base.settings.Pin;
#endregion
var guid = new Guid(orderId.ToString());
var response = _getSaleResultOrderService.GetSaleResult(token, guid);
return View(response);
//Request
com._3pay.services.SaleService service = new com._3pay.services.SaleService();
com._3pay.services.SaleServiceSoap port = service.getSaleServiceSoap12();
com._3pay.services.MAuthToken token = new com._3pay.services.MAuthToken();
token.setUserCode(settings.userCode);
token.setPin(settings.pin);
java.lang.String orderId = request.getParameter("orderId");
com._3pay.services.MSaleOutput result = port.getSaleResult(token, orderId);
//Request
#region Token
token= Token.new
token.UserCode= @settings.UserCode
token.Pin=@settings.Pin
#endregion
req=Transactionrequestorder.new
transactionrequestorder_result= req.execute(params[:orderId],token) # soap servis çağrısının başladığı kısmı temsil etmektedir.
doc = REXML::Document.new transactionrequestorder_result # servis sonucunda oluşan cevabın ekranda gösterilmek üzere değişkene eklendiği kısımdır.
MPAY ile işlem sorgulama, sisteminizin ürettiği MPAY değeri kullanarak işlem sorgulaması yapmanıza olanak sağlar.
https://www.wirecard.com.tr/services/saleservice.asmx adresindeki web servis, projeye referans olarak eklenir.
Web servis içerisinde bulunan GetSaleResultMPAY metoduna Token bilgileri ve MPAY değeri iletilerek işlem sorgulanabilir.
Token (Servislerin kullanımı için gereken üye iş yeri bilgileri. Bu bilgiler Wirecard tarafından üye iş yerine bildirilir)
Servis Girdi Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
Token
Token Sınıfı
Evet
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
MPAY
String
Hayır
İşlem sırasında firma tarafından iletilen mpay değerini belirtir.
Token Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
UserCode
String
Evet
Wirecard tarafından atanan üye iş yeri numarası
Pin
String
Evet
Wirecard tarafından atanan pin
Servis Çıktı Parametreleri
Parametre Adı
Veri Tipi
Açıklama
OrderObjectId
Guid
Sipariş Id'sini belirtir. İşlemin sonucunu sorgulamak için kullanılır.
Gsm
String
Ödemenin yapıldığı telefon numarasını belirtir(5XXXXXXXXX formatında)
GsmOperator
Int
Bu değer daima '0'dır. İşlem yapılan operatörü öğrenmek için bir sonraki maddeye bakınız.
GsmType
Int
Bu değer daima '0'dır. Hattın faturalı mı yoksa faturasız mı olduğunu öğrenmek için bir sonraki maddeye bakınız.
State
Int
İşlem durumunu belirtir. Bu değer nihai değildir. İşlem sonucunu öğrenmek için bir sonraki maddeye bakınız.
100’den küçük değerler ödemenin devam ettiğini belirtir.
100 ödemenin başarıyla sonuçlandığını belirtir.
100’den büyük değerler ödemenin başarısız olduğunu belirtir.
Bu değer boş dönecektir. Yapılan işlem bir abonelik işlemi ise bir sonraki maddede anlatılan yöntemle abonelik idsi öğrenilebilir.
PIN
String
Bu değer boş dönecektir. Yapılan işlem pinli kurgu ise kullanıcıya gönderilen PIN değerini öğrenmek için bir sonraki maddedeki yöntem kullanılır.
MicroPaymentResults
List
İşlem sonuçlanmadığı için bu parametreler boş dönecektir. MMicroPaymentOutput elemanlarını barındıran listeyi temsil eder. MMicroPaymentOutput parametreleri aşağıdaki iç tabloda açıklanmıştır.
StatusCode
Int
Sipariş durum kodunu belirtir. ‘0’ dönerse siparişin başarılı bir şekilde başladığını belirtir. Ödemenin başarılı sonuçlandığı anlamına gelmez.
ErrorCode
String
Sipariş hata kodunu belirtir. Operatör tarafından gönderilir. Siparişe ait ödemenin hata kodudur.
ErrorMessage
String
Sipariş hata açıklamasını belirtir. İlgili hata koduna ait açıklama.
MMicroPaymentOutput Bilgileri
Parametre Adı
Veri Tipi
PaymentObjectId
Guid
StatusCode
Int
ErrorCode
String
ErrorMessage
String
ExtraData
String
Örnek Servis Çağrı Kodları
//Request
_getSaleResultMPAYService = new SaleServiceSoapClient();
Core.ApiPlusAndProApiService.MAuthToken token = new Core.ApiPlusAndProApiService.MAuthToken();
#region Token
token.UserCode = base.settings.UserCode;
token.Pin = base.settings.Pin;
#endregion
var response = _getSaleResultMPAYService.GetSaleResultMPAY(token, MPAY);
return View(response);
//Request
com._3pay.services.SaleService service = new com._3pay.services.SaleService();
com._3pay.services.SaleServiceSoap port = service.getSaleServiceSoap12();
com._3pay.services.MAuthToken token = new com._3pay.services.MAuthToken();
token.setUserCode(settings.userCode);
token.setPin(settings.pin);
java.lang.String mpay = request.getParameter("Mpay");
com._3pay.services.MSaleOutput result = port.getSaleResultMPAY(token, mpay);
//Request
#region Token
token= Token.new
token.UserCode= @settings.UserCode
token.Pin=@settings.Pin
#endregion
req=Transactionrequestbympay.new
transactionrequestbympay_result= req.execute(params[:mpay],token) # soap servis çağrısının başladığı kısmı temsil etmektedir.
Abonelik İşlem bildirimlerinin Wirecard tarafından gönderilmesi için üye işyeri tarafından bir web servis geliştirilmelidir. Bu web servis "SubscriptionDeactivation" adlı bir metoda sahip olmalıdır.
Web Servis Formatı aşağıdaki URL'de belirtilen şekilde olmalıdır.
https://www.wirecard.com.tr/proxy/CSubscriptionDeactivation.asmx
Web servisin URL’si tr.integration@wirecard.com adresine iletilerek Wirecard sisteminde tanımlanması sağlanır.
Bu servisteki "SubscriptionDeactivation" metoduna aşağıdaki değerler xml formatında iletilmelidir.
Örnek .Net Servisine buradan , PHP servisine buradan, Java servisine buradan ulaşabilirsiniz.
Servis Girdi Parametreleri
Servis içinde ileticek Girdi (Input) Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Açıklama
SubscriptionId
Guid
Wirecard tarafında oluşturulan aboneliğin unique değeri
GSM
string
Aboneliğin ait olduğu telefon numarası/kredi kartı
GSMOperator
string
Aboneliğin ait olduğu operatör
CreateDate
dateTime
Aboneliğin oluşturulma tarihi
EndDate
datetime
Aboneliğin sonlanma tarihi
ProductId
int
Eğer ürün bazlı bir abonelik kurgusu kullanıldıysa ilgili ürünün Wirecard tarafında tutulan unique değeri
Price
int
Aboneliğin tutarı
İade Servisi
İade servisi, Wirecard üzerinden tahsil edilen bir ödemenin geri iade edilmek istenildiği zaman kullanılacak servistir. İade isteği OrderObjectId veya MPAY değerleri kullanılarak iletilir. Eğer iki değer de dolu gönderilirse OrderObjectId önceliklendirilir.
Not:İade servisi asenkron calısan bir servistir.Bundan dolayı iade işleminin sonucunu “destek servisleri “ kısmından yararlanarak iadenin sonucunun basarılı olup olmadıgının durumunu sorgulayabilirsiniz.
Destek servisleri kısmına Destek Servisleri adresinden erisim sağlayabilirsiniz.
İade Servisi "RestFul" tabanlı servislerdir.
İade Servisi RESTful Servisi için gerekli bilgiler XML formatında hazırlanarak aşağıdaki adrese Post yöntemi ile iletilmelidir.
https://www.wirecard.com.tr/SGate/Gate
Servis Girdi Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Açıklama
ServiceType
string
Sabit değer: "WDRefundService"
OperationType
string
Sabit değer: "RefundPayment"
Token
Token Sınıfı
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
MPAY
string
Yapılan işlem başlatılırken iletilen, üye işyeri tarafından tanımlanan Id. Bu değer sistemde bulunan sipariş numarası veya müşteri numarası olabilir.
OrderObjectId
Guid
Ödemenin ait olduğu siparişin Id'sini belirtir. Bu değer işlem sonucunda cevap olarak tarafınıza iletilir.
Description
string
Geri İade işlemine ait açıklama metni. Bu alan boş olarak gönderilebilir.
Token Bilgileri
Parametre Adı
Veri Tipi
Açıklama
UserCode
String
Wirecard tarafından atanan üye iş yeri numarası
Pin
string
Wirecard tarafından atanan pin
Servis Çıktı Parametreleri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
Int
İşlem sonucu
0: İstek basarılı
1: İstek basarısız
ResultCode
String
Geri İade işlem sonucunun Wirecard tarafından belirlenmiş kodu
ResultMessage
String
Geri İade işlemi ResultCode değerinin açıklaması.
Örnek Servis Çağrı Kodları
//Request
WDRefundServiceRefundPaymentÜye işyeri tarafından belirlenen değer.İşlem sonucunda verilen benzersiz işlem id'si.İade Açıklaması
//Response
Kart Saklama Servisi
Kart saklama servisi, gönderilen Kredi Kartı bilgilerini şifreli halde saklamak için kullanılan servistir.
Kart saklama servisi "RestFul" tabanlı servislerdir.
Kart saklama servisi RESTful Servisi için gerekli bilgiler XML formatında hazırlanarak aşağıdaki adrese Post yöntemi ile iletilmelidir.
https://www.wirecard.com.tr/SGate/Gate
Url Yöntemi ile kart saklama metodu ile kredi kartı saklama işlemi servis çağrısı başlatılır ve bu çağrının cevabında son kullanıcıya yönlendirileceği bir Wirecard sayfası karşısına çıkar. Yönlendirilen Wirecard sayfasında kullanıcı Kredi kartı bilgilerini girerek kart saklama işlemini tamamlar.
Servis Girdi Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
ServiceType
string
Evet
Sabit değer: "WDTicket"
OperationType
string
Evet
Sabit değer: "TokenizeCCURL"
Token
Token Sınıfı
Evet
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
ErrorURL
string
Evet
Kredi kartı kayıt işlemi başarısız olduğunda son kullanıcının yönlendirileceği sayfa
SuccessURL
string
Evet
Kredi kartı kayıt işlemi başarılı olduğunda son kullanıcının yönlendirileceği sayfa
CustomerId
string
Hayır
Bu alan kredi kartıyla sizin istediğiniz degerler arasında iletisim kurulması için kullanılır. Kredi kartıyla fatura ödemesi, kredi kartıyla sipariş numarasında eşleşme için yada boş gönderilebilir.
Direk kart saklama yöntemi ile üye işyeri tarafından hazırlanan form yardımı ile Kredi kartı bilgileri girilerek, servis çağrısı başlatılır. Son kullanıcı herhangi bir sayfaya yönlendirilmez.
Servis Girdi Parametreleri
Input Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
ServiceType
string
Evet
Sabit değer: "TokenizeCC"
OperationType
string
Evet
Sabit değer: "TokenizeCC"
Token
Token Sınıfı
Evet
Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Kredi kartı isim soyisim. Kredi kartı isim soyisim formatı "John Doe" yada "JOHN DOE" şeklinde olabilir.
ExpiryDate
int
Evet
Kredi kartı son kullanım tarihi. Kredi kartı son kullanım tarihi formatı 11/2017
CVV
int
Evet
Kredi kartın cvvsi. Kredi kartının cvv değeri.
CustomerId
string
Hayır
Bu alan kredi kartıyla sizin istediğiniz degerler arasında iletisim kurulması için kullanılır. Kredi kartıyla fatura ödemesi, kredi kartıyla sipariş numarasında eşleşme için yada boş gönderilebilir.
IPAddress
string
Evet
İşlem sahibine ait IP adresi
ValidityPeriod
string
Evet
Tokenize edilen sifreli kartın geçerlilik suresi
Port
string
Evet
İşlem sahibine ait port değeri
Token Bilgileri
Parametre Adı
Veri Tipi
Zorunluluk
Açıklama
UserCode
String
Evet
Wirecard tarafından atanan üye iş yeri numarası
Pin
String
Evet
Wirecard tarafından atanan pin
Servis Çıktı Parametreleri
Parametre Adı
Veri Tipi
Açıklama
StatusCode
int
işlem sonucu
0: İşlem başarılı
1: İşlem başarısız
ResultCode
string
Wirecard sonuç kodu
ResultMessage
string
Wirecard sonuç açıklaması
TokenId
string
Wirecard tarafından işlem sonucunda gönderilen değer
Yukarıdaki verilen url’i kullanarak Wirecard tarafından mail aracılığıyla tarafınıza iletilen kullanıcı adı ve şifre ile giriş yapınız.
Ürün ekleyebilmek,ürünün içeriklerini güncelleyebilmek,ürünü silebilmek,ürün detayını görebilmek gibi işlemleri gerçekleştirebilmek için resimde görebileceğiniz üzere açılan panelde Bilgiler tablosunda Ürünler kısmına tıklamanız gerekmektedir.
Ürün eklemek istiyorsanız aşağıdaki işlemleri sırasıyla takip ediniz.Açılan pencerede sol tarafta görebileceğiniz üzere +Yeni Ekle butonuna tıklayınız.
Bahsedilen ürün için tek seferlik işlem yapılmasını istiyorsanız Satış Türü kısmında Tekil Ürün’ü seçmeniz gerekmektedir.Tekil ürünü seçtiğiniz takdirde WDServiceId değeri tekil satış türü için geçerli olan id’yi yazmanız gerekmektedir.
Bahsedilen ürün için abonelik işlemi yapılmasını istiyorsanız Satış Türü kısmında istediğiniz Abonelik değerlerini(aylık,haftalık vb gibi) seçmeniz gerekmektedir.Abonelik satış türünü seçtiğiniz takdirde WDServiceId değeri abonelik işlemler için geçerli olan id’yi yazmanız gerekmektedir.
Resimde görebileceğiniz üzere ürün bilgileri formunu,ürünün içeriğini görmek istediğiniz şekilde boş alanlara karşılık gelen kısımları doldurunuz.Burada dikkat edilmesi gereken önemli nokta ise Wirecard tarafından firmanız entegre aşamasındayken dökümantasyon paylaşılan mail ile tarafınıza iletilmiş olanTurkcellServiceID değerinin WDServiceId değeri olarak tanımlanmasıdır.
Tek seferlik işlemler ve abonelik işlemler için servis değeriniz farklıdır.Bu nedenle eğer servis değerlerinizi bilmiyorsanız Wirecard ile iletişime geçebilirsiniz.
Ürün bilgilerini düzenlemek istiyorsanız aşağıdaki işlemleri sırasıyla takip ediniz.
Yukarıdaki resimde de görebileceğiniz üzere,içeriğinin düzelmesini istediğiniz ürünün detayına girerek sol tarafta bulunan -Ürün Bilgilerini Düzenle kısmına tıklayarak ürünün içeriğini yeniden düzenleyebilirsiniz.Ürün ekleme kısmında belirtilen WDServiceId değeri bu kısımda da dikkat edilmesi gereken önemli bir husustur.
Örneğin:
Ürününüz daha önce tekil işlemlerde kullanılıyor ancak siz abonelik işlem için ayarlamak istiyorsanız veya ürününüz daha önce abonelik işlemlerde kullanılıyor ancak siz tekil işlem için ayarlamak istiyorsanız,Satış Türü alanını ve de WDServiceId değerini yeniden düzenlemeniz gerekmektedir.
Not:Abonelik işlem yapılması için tanımlanan bir ürünün tekil işlem yapılması istenirse o ürüne ait aboneliği bulunan kullanıcılar bir sonraki ay işlemleri için hata alırlar.Abonelik iptallerini sağlayabilirsiniz.
Ürünü silmek/kaldırmak istiyorsanız resimde de görebileceğiniz üzere sil ikonuna tıklayınız.
*Ürün ekleme,ürün bilgilerini düzenleme ve ürün silme aşamalarında işlemlerinizi gerçekleştirdiğiniz takdirde ürünlerdeki değişiklikler onay sürecinde olmaktadır.Onay sürecinden sonra ürünlerde yapılan değişiklikleri görebilirsiniz.
Hash Yapısı
Son kullanıcının yönlendirildiği success url ve error url’de aşağıdaki parametreleri post edebilecek bir hidden field yapısı ile sayfa hazırlanır.
Ardından bu sayfa üzerinden post metoduyla; token, maskeli kart bilgisi ve hash param ve dokumanda belirttiğimiz diğer parametler dönülür.
HashParam'ı belirtilen kurallar dahilinde kendi içinizde oluşturup, bizim hidden field’da döndüğümüz değer ile karşılaştırmalısınız. Eğer doğruysa işleme devam edebilir yanlış ise bu işlem güvensizdir ve wirecard’ın dışından gelmiş olabilir, bu postu kabul etmemeniz gerekmektedir.
Hash param oluşturulurken, belirli parametreler belirli sıra ile yan yana yazılmalı, partner'a özel tanımlı olan HashKey de bu sıralamaya eklenmeli, sha1 algoraitmasına göre base64 versiyonu ile kodlanmalıdır.
Hash parametreleri sırası ile şu şekildedir:
StatusCode+ LastTransactionDate+MPAY+OrderId+HashKey
İşlem başlatıldığında oluşan uniq id.
Eğer order oluşmadıysa , hasparam değeri dönemeyecektir.Wirecard tarafından order’in tüm harfleri küçük olmalıdır.
MPAY
String
Partner’ın ,işlem başlatılırken gönderdiği işlem idsi değeridir.
StatusCode
Int
Status code :0 oldugu zaman başarılıdır.
Eğer işlem sırasında approve payment metodu kullanılıyorsa status code 10 değeri işlem başarılıdır.Geri kalan durumların hepsinde başarısızdır.
ResultCode
String
Hata kodu
ResultMessage
String
Hata mesaji
ExtraParam
String
Extra alanı
TokenId
String
Kayıt edilen kartın token değeri
LastTransactionDate
Wirecard tarafından LastTransactionDate “yyyyMMddHHmmss”
formatinda dönülecektir.
MaskedCCNo
String
Maskeli kart bilgisi
SubscriberId
Guid
Abonelik işlem idsidir.
CCTokenId
Guid
İşlem sırasında kart ekleme işlemi yapıldığında ,cctoken id alanı dolu döner.
Hash Hesaplama Aracı
Bu araç sayesinde verilerinizi birbirine ekleyerek anında hash(token) oluşturabilir, success sayfanıza post edilen hash değerinin doğruluğunu kontrol edebilirsiniz.