Üye İşyeri Ödeme Sayfası

Ödeme Servisi, Müşterilerin tek adımda kredi kartı ile ödeme yapmalarına olanak veren servistir. Bu servis sayesinde hazırlayacak olduğunuz ödeme formu aracılığı ile müşterilerinizden kredi kartı ile ödeme alabileceksiniz. Bu entegrasyonda Ödeme Formu sizin tarafınızdan oluşturulacaktır.

Son kullanıcıların hizmet alamama durumunu engellemek adına işlem sonuç servisini sisteminize entegre etmeniz gerekmektedir.
Başarılı ve başarısız sonuç sayfaları kullanıcılara bilgi vermek adına oluşturulmuş sayfalardır. Sistemden kaynaklanan herhangi bir hata olması olması durumunda son kullanıcının başarılı veya başarısız sayfasına erişemediği durumların olmaması için işlem sonuç servislerinin kullanımı zorunludur.
Kendinize en uygun olan işlem sonuç servisine burayı tıklayarak ulaşabilirsiniz.

3D Secure İle Ödeme

3D Secure ile ödeme metodu, bankalara ait "3DSEC" doğrulama sayfası aracılığı kredi kartı ödeme işlemlerinin tamamlanması amacıyla kullanılan bir işlemdir.
Son kullanıcı response mesajı aracılığı ile iletilen URL’ye 3DSEC adımını tamamlamak için yönlendirilmelidir.

3D Secure ile Ödeme Entegrasyonu Restful Servisi için gerekli input bilgileri 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 Zorunluluk Açıklama
ServiceType String Evet

Sabit değer: "CCProxy"

OperationType String Evet

Sabit değer: "Sale3DSEC"

Token Token Sınıfı Evet

Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

CreditCardInfo CreditCardInfo Sınıfı Evet CreditCardInfo Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
CardTokenization CardTokenization Sınıfı Evet CardTokenization Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Kredi kartı işlemi sırasında, işlemi gerçekleştiren kartın Wirecard sisteminde kaydedilmesi isteniyorsa, veya daha önce kaydedilmiş bir kart ile işlem yapılmak isteniyorsa bu sınıf altındaki değerler dolu durumda gönderilir.
MPAY String Hayır

Serbest değer
Üye firma tarafından işlem için atanan benzersiz değer bu parametre aracılığı ile iletilebilir.

Port String Hayır

Ödeme işlemini gerçekleştiren son kullanıcıya ait port bilgisi

IPAddress String Evet

Ödeme işlemini gerçekleştiren son kullanıcıya ait IP adresi bilgisi

PaymentContent String Evet

Ödemesi yapılan işlemin içeriği

InstallmentCount Int Evet

Taksit sayısı:
0: Tek çekim
3: 3 taksit
6: 6 taksit
9: 9 taksit

Error URL String Evet

Başarısız işlem sonrasında son kullanıcın yönlendirileceği URL Son kullanıcı "3DSEC" doğrulama adımı sonrasında bu sayfaya yönlendirilecektir

SuccessURL String Evet

Başarılı işlem sonrasında son kullanıcın yönlendirileceği URL Son kullanıcı "3DSEC" doğrulama adımı sonrasında bu sayfaya yönlendirilecektir

Description String Hayır

Ödemesi yapılan işlemin açıklaması

ExtraParam String Hayır

Metot içerisinde ek opsiyonları tetiklemek için kullanılacak parametre değeri
Bu işlem için boş bırakılmalıdır.

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

CreditCardInfo Bilgileri
Parametre Adı Veri Tipi Zorunluluk Açıklama
CreditCardNo String Evet

Ödeme işlemi için kullanılacak kredi kartı numarası
‘5400XXXXXXXXXXXX’ formatında iletilmelidir

OwnerName String Evet

Kredi kartı üzerinde yer alan Ad-Soyad bilgisi
‘John Doe’ veya ‘JOHN DOE’ formatında iletilmelidir

ExpireYear Int Evet

Kredi kartı gerçerlilik tarihine ait yıl değeri
‘2017’ formatında iletilmelidir

ExpireMonth Int Evet

Kredi kartı gerçerlilik tarihine ait ay değeri
‘1,7,10,12, vb’ formatında iletilmelidir

Cvv String Evet

Kredi kartının arka yüzünde yer alan CVV değeri

Price Int Evet

Ödeme işleminin tutarı
Ödenecek tutar 100 ile çarpıldıktan sonra iletilmelidir. Ondalıklı değerler iletilmelidir. Örneğin, 1,10 TL olan bir ödeme tutarı 110 olarak iletilmelidir.

CardTokenization Bilgileri
Parametre Adı Veri Tipi Zorunluluk Açıklama
RequestType Int Evet

0 veya 1 olarak iletilebilir.
0: hiçbir aksiyon alınmaz.
1: Ödeme işlemi ve kart kayıt işlemi gerçekleştirir

CustomerId String Evet

Ödeme işlemi sırasında kart kaydedilmesi isteniyorsa bu değer “1” olarak iletilmelidir. Aynı durum için bu değerin gönderilmesi zorunludur.

ValidityPeriod int Evet

Kredi kartı token kaydı geçerlilik süresi. 0 olarak gönderilmelidir. İşlem yapılan kredi kartı kaydedilmek isteniyorsa bu alan zorunludur.

CCTokenId Guid Evet

Daha önce oluşturulmuş bir kart için Wirecard tarafından atanmış token değeri. Eğer bu değer dolu gelirse, kredi kartı bilgilerinin girilmesine gerek yoktur.

Servis Çıktı Parametreleri

Parametre Adı Veri Tipi Açıklama
StatusCode Int

İşlem sonucu
0: İşlem başarılı
1: İşlem başarısız

ResultCode String

İşlem sonucunun Wirecard tarafından belirlenmiş kodu

ResultMessage String

ResultCode değerinin açıklaması.

OrderObjectId Guid

İşleme ait benzersiz id değeri
Bu değer Wirecard servisleri tarafından otomatik olarak atanır

LastTransactionDate String

Ödeme işleminin tarihi

MaskedCreditCardNumber String

Ödeme işlemi sırasında kullanılan kredi kartı numarasının maskeli hali
‘XXXX YY** **** TTTT’ formatında iletilir

MPAY String

Eğer işlem sırasında MPAY değeri dolu gönderildiyse, aynı değer dönecektir

RedirectUrl String

Kredi kartı bilgilerinin girilmesi için son kullanıcının yönlendirileceği URL
Kredi kartı bilgilerinin alınabilmesi için son kullanıcı bu URL’ye yönlendirilmelidir

Örnek Servis Çağrı Kodları


//Request
            var request = new CCProxySale3DRequest();
            request.ServiceType = "CCProxy";
            request.OperationType = "Sale3DSEC";
            request.MPAY = "001";
            request.Port = "001";
            request.IPAddress = "127.0.0.1";
            request.PaymentContent = "Bilgisayar";
            request.InstallmentCount = installmentCount;
            request.Description = "Bilgisayar Ödemesi";
            request.ExtraParam = "";
            request.ErrorURL = "http://localhost:7597/Home/Fail";
            request.SuccessURL = "http://localhost:7597/Home/Success";
            #region Token
            request.Token = new Token();
            request.Token.UserCode = settings.UserCode;
            request.Token.Pin = settings.Pin;
            #endregion
            #region CreditCardInfo
            request.CreditCardInfo = new CreditCardInfo();
            request.CreditCardInfo.CreditCardNo = creditCardNo;
            request.CreditCardInfo.OwnerName = ownerName;
            request.CreditCardInfo.ExpireMonth = expireMonth;
            request.CreditCardInfo.ExpireYear = expireYear;
            request.CreditCardInfo.Cvv = cvv;
            request.CreditCardInfo.Price = 1;//0,01 TL
            #endregion
            #region CardTokenization
            request.CardTokenization = new CardTokenization();
            request.CardTokenization.RequestType = 0;
            request.CardTokenization.CustomerId = Guid.NewGuid().ToString();
            request.CardTokenization.ValidityPeriod = 0;
            request.CardTokenization.CCTokenId = Guid.NewGuid();
            #endregion
            var response = CCProxySale3DRequest.Execute(request, settings);
            ServicesXmlResponse responseMessage = new ServicesXmlResponse();
            responseMessage.XmlResponse = response;
            return View(responseMessage);

//Request              
            CCProxySale3DRequest ccProxySale3dRequest = new CCProxySale3DRequest();
            ccProxySale3dRequest.ServiceType = "CCProxy";
            ccProxySale3dRequest.OperationType = "Sale3DSEC";
            ccProxySale3dRequest.MPAY = "";
            ccProxySale3dRequest.IPAddress = "127.0.0.8";
            ccProxySale3dRequest.PaymentContent = "BLGSYR01";
            ccProxySale3dRequest.Description = "Bilgisayar";
            ccProxySale3dRequest.InstallmentCount =Integer.parseInt(request.getParameter("installmentCount"));
            ccProxySale3dRequest.ExtraParam = "";
            ccProxySale3dRequest.Port = "123";
            ccProxySale3dRequest.ErrorURL = "http://localhost:8084/wirecard-java/error.htm";
            ccProxySale3dRequest.SuccessURL = "http://localhost:8084/wirecard-java/success.htm";
            ccProxySale3dRequest.Token = new Token();
            ccProxySale3dRequest.Token.UserCode = settings.userCode;
            ccProxySale3dRequest.Token.Pin = settings.pin;
               
            ccProxySale3dRequest.CreditCardInfo = new CreditCardInfo();
            ccProxySale3dRequest.CreditCardInfo.CreditCardNo =request.getParameter("creditCardNo");
            ccProxySale3dRequest.CreditCardInfo.OwnerName =request.getParameter("ownerName");
            ccProxySale3dRequest.CreditCardInfo.ExpireYear =Integer.parseInt(request.getParameter("expireYear"));
            ccProxySale3dRequest.CreditCardInfo.ExpireMonth =Integer.parseInt(request.getParameter("expireMonth"));
            ccProxySale3dRequest.CreditCardInfo.Cvv =request.getParameter("cvv");
            ccProxySale3dRequest.CreditCardInfo.Price = 1;//0,01 TL
                
            ccProxySale3dRequest.CardTokenization = new CardTokenization();
            ccProxySale3dRequest.CardTokenization.RequestType=0;
            ccProxySale3dRequest.CardTokenization.CustomerId="01";
            ccProxySale3dRequest.CardTokenization.ValidityPeriod=0;
            ccProxySale3dRequest.CardTokenization.CCTokenId=uuid.toString();
		    String ccProxySale3dResponse = ccProxySale3dRequest.execute(ccProxySale3dRequest,settings); //"Ödeme Formu ödeme servisi başlatılması için gerekli servis çağırısını temsil eder."

//Request
            $request->Token= new Token();
            $request->Token->UserCode=$settings->UserCode;
            $request->Token->Pin=$settings->Pin;
            $request->ErrorURL = "http://localhost:5000/fail.php";
            $request->SuccessURL = "http://localhost:5000/success.php";
            $request->MPAY = "";
            $request->IPAddress = helper::get_client_ip();  
            $request->PaymentContent = "Bilgisayar";
            $request->InstallmentCount = $_POST["installmentCount"];
            $request->Description = "BLGSYR01";
            $request->ExtraParam = "";
            $request->Port = "123";
            $request->CreditCardInfo= new CreditCardInfo();
            $request->CreditCardInfo->CreditCardNo=$_POST["creditCardNo"];
            $request->CreditCardInfo->OwnerName=$_POST["ownerName"];
            $request->CreditCardInfo->ExpireYear=$_POST["expireYear"];
            $request->CreditCardInfo->ExpireMonth=$_POST["expireMonth"];
            $request->CreditCardInfo->Cvv=$_POST["cvv"];
            $request->CreditCardInfo->Price=1;//0.01 TL
            $request->CardTokenization= new CardTokenization();
            $request->CardTokenization->RequestType="0";
            $request->CardTokenization->CustomerId="01";
            $request->CardTokenization->ValidityPeriod="0";
            $request->CardTokenization->CCTokenId=Helper::Guid ();
            $response = CCProxySale3DSecureRequest::execute($request);  // CCProxySale3dSecure servisi başlatılması için gerekli servis çağırısını temsil eder.

//Request
            req=CCProxySale3DRequest()
            req.ServiceType = "CCProxy"
            req.OperationType = "Sale3DSEC"
            req.MPAY = ""
            req.IPAddress = "127.0.0.1"
            req.PaymentContent = "BLGSYR01"
            req.Description = "Bilgisayar"
            req.InstallmentCount =request.POST.get('installmentCount')
            req.ExtraParam = ""
            req.ErrorURL = "http://127.0.0.1:8000/fail"
            req.SuccessURL = "http://127.0.0.1:8000/home/success"
            req.Port = "123"
       
            #region Token
            req.Token=Token()
            req.Token.UserCode=config.UserCode
            req.Token.Pin=config.Pin
            #endregion
            #region CreditCardInfo
            req.CreditCardInfo = CreditCardInfo()
            req.CreditCardInfo.CreditCardNo =request.POST.get('creditCardNo')
            req.CreditCardInfo.OwnerName =request.POST.get('ownerName')
            req.CreditCardInfo.ExpireYear =request.POST.get('expireYear')
            req.CreditCardInfo.ExpireMonth =request.POST.get('expireMonth')
            req.CreditCardInfo.Cvv =request.POST.get('cvv')
            req.CreditCardInfo.Price = "1";#0,01 TL
            #endregion
            #region CardTokenization
            req.CardTokenization = CardTokenization()
            req.CardTokenization.RequestType="0"
            req.CardTokenization.CustomerId="01"
            req.CardTokenization.ValidityPeriod="0"
            req.CardTokenization.CCTokenId=str(uuid.uuid4())
            #endregion
            message = req.execute(req,config) # Xml servis çağrısın

//Request
            req= Ccproxysale3dequest.new
            req.ServiceType = "CCProxy"
            req.OperationType = "Sale3DSEC"
            req.MPAY = ""
            req.IPAddress = "127.0.0.1";
            req.PaymentContent = "BLGSYR01"
            req.InstallmentCount =params[:installmentCount] 
            req.Description = "Bilgisayar"
            req.ExtraParam = ""
            req.Port = "123"
            req.ErrorURL = "http://localhost:3000/home/fail"
            req.SuccessURL = "http://localhost:3000/home/success"
            #region Token
            req.Token = Token.new
            req.Token.UserCode = @settings.UserCode
            req.Token.Pin = @settings.Pin 
            #endregion
            #region CreditCardInfo
            req.Creditcardinfo = Creditcardinfo.new
            req.Creditcardinfo.CreditCardNo = params[:creditCardNo]
            req.Creditcardinfo.OwnerName =params[:ownerName] 
            req.Creditcardinfo.ExpireYear =params[:expireYear] 
            req.Creditcardinfo.ExpireMonth =params[:expireMonth] 
            req.Creditcardinfo.Cvv =params[:cvv] 
            req.Creditcardinfo.Price = "1";#0,01 TL
            #endregion
            #region CardTokenization
            req.Cardtokenization = Cardtokenization.new
            req.Cardtokenization.RequestType ="0"
            req.Cardtokenization.CustomerId ="01"
            req.Cardtokenization.ValidityPeriod ="0"
            req.Cardtokenization.CCTokenId =SecureRandom.uuid
         
            #endregion 
            returnData= req.execute(req,@settings) # xml servis çağrısının başladığı kısım
                   
//Request
        const data={
            "ServiceType": request.ServiceType,
            "OperationType": request.OperationType,
            "Token": {
                "UserCode":settings.userCode,
                "Pin": settings.pin
        },
        "CreditCardInfo": {
            "CreditCardNo": request.CreditCardInfoCreditCardNo,
            "OwnerName": request.CreditCardInfoOwnerName,
            "ExpireYear": request.CreditCardInfoExpireYear,
            "ExpireMonth": request.CreditCardInfoExpireMonth,
            "Cvv": request.CreditCardInfoCvv,
            "Price": request.CreditCardInfoPrice,
        },
        "CardTokenization": {
            "RequestType": request.CardTokenizationRequestType,
            "CustomerId": request.CardTokenizationCustomerId,
            "ValidityPeriod": request.CardTokenizationValidityPeriod,
            "CCTokenId": Guid.raw(),
        },
            "MPAY": request.MPAY,
            "Port": request.Port,
            "ErrorURL": request.ErrorURL,
            "SuccessURL": request.SuccessURL,
            "ExtraParam": request.ExtraParam,
            "Description":request.Description,
            "IPAddress": request.IPAddress,
            "InstallmentCount": request.InstallmentCount,
            "PaymentContent": request.PaymentContent
        }
                 
        wirecard.CCProxySale3D(data).then(requestResult => {
            res.json(requestResult)
        }).catch(err => {
            console.log(err)
        })
 

//Request 
        <?xml version="1.0" encoding="utf-8" ?>
        <WIRECARD>
            <ServiceType>CCProxy</ServiceType>
            <OperationType>Sale3DSEC</OperationType>
            <Token>
                <UserCode></UserCode>
                <Pin></Pin>
            </Token>
            <CreditCardInfo>
                <CreditCardNo></CreditCardNo>
                <OwnerName></OwnerName>
                <ExpireYear></ExpireYear>
                <ExpireMonth></ExpireMonth>
                <Cvv></Cvv>
                <Price>100</Price>
            </CreditCardInfo>
            <MPAY></MPAY>
            <IPAddress></IPAddress>
            <PaymentContent>Bilgisayar Odemesi</PaymentContent>
            <InstallmentCount>0</InstallmentCount>
            <ErrorURL></ErrorURL>
            <SuccessURL></SuccessURL>
            <Description>Bilgisayar</Description>
            <ExtraParam></ExtraParam>
        </WIRECARD>
//Response
        <?xml version="1.0" encoding="UTF-8" ?>
        <Result>
            <Item Key="StatusCode" Value="" />
            <Item Key="ResultCode" Value=" " />
            <Item Key="ResultMessage" Value=" " />
            <Item Key="OrderObjectId" Value=" " />
            <Item Key="LastTransactionDate" Value="" />
            <Item Key="MaskedCreditCardNumber" Value="" />
            <Item Key="MPAY" Value="" />
            <Item Key="RedirectUrl" Value=""/>
        </Result>
                    

3D Secure Olmadan Ödeme

3D Secure olmadan ödeme metodu, tek adımda kredi kartı ödeme işlemlerinin tamamlanması amacıyla kullanılan bir metottur. Bu metot bankalar tarafından yönetilen "3DSEC" adımını kullanmamaktadır.

3D Secure olmadan Ödeme Entegrasyonu "Restful" Servisi için gerekli input bilgileri 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 Zorunluluk Açıklama
ServiceType String Evet

Sabit değer: "CCProxy"

OperationType String Evet

Sabit değer: "Sale"

Token Token Sınıfı Evet

Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

CreditCardInfo CreditCardInfo Sınıfı Evet CreditCardInfo Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
CardTokenization CardTokenization Sınıfı Evet CardTokenization Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.
Kredi kartı işlemi sırasında, işlemi gerçekleştiren kartın Wirecard sisteminde kaydedilmesi isteniyorsa, veya daha önce kaydedilmiş bir kart ile işlem yapılmak isteniyorsa bu sınıf altındaki değerler dolu durumda gönderilir.
MPAY String Hayır

Serbest değer
Üye firma tarafından işlem için atanan benzersiz değer bu parametre aracılığı ile iletilebilir.

Port String Hayır

Ödeme işlemini gerçekleştiren son kullanıcıya ait port bilgisi

IPAddress String Evet

Ödeme işlemini gerçekleştiren son kullanıcıya ait IP adresi bilgisi

PaymentContent String Evet

Ödemesi yapılan işlemin içeriği

InstallmentCount Int Evet

Taksit sayısı:
0: Tek çekim
3: 3 taksit
6: 6 taksit
9: 9 taksit

Description String Hayır

Ödemesi yapılan işlemin açıklaması

ExtraParam String Hayır

Metot içerisinde ek opsiyonları tetiklemek için kullanılacak parametre değeri
Bu işlem için boş bırakılmalıdır.

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

CreditCardInfo Bilgileri
Parametre Adı Veri Tipi Zorunluluk Açıklama
CreditCardNo String Evet

Ödeme işlemi için kullanılacak kredi kartı numarası
‘5400XXXXXXXXXXXX’ formatında iletilmelidir

OwnerName String Evet

Kredi kartı üzerinde yer alan Ad-Soyad bilgisi
‘John Doe’ veya ‘JOHN DOE’ formatında iletilmelidir

ExpireYear Int Evet

Kredi kartı gerçerlilik tarihine ait yıl değeri
‘2017’ formatında iletilmelidir

ExpireMonth Int Evet

Kredi kartı gerçerlilik tarihine ait ay değeri
‘1,7,10,12, vb’ formatında iletilmelidir

Cvv String Evet

Kredi kartının arka yüzünde yer alan CVV değeri

Price Int Evet

Ödeme işleminin tutarı
Ödenecek tutar 100 ile çarpıldıktan sonra iletilmelidir. Ondalıklı değerler iletilmelidir. Örneğin, 1,10 TL olan bir ödeme tutarı 110 olarak iletilmelidir.

CardTokenization Bilgileri
Parametre Adı Veri Tipi Zorunluluk Açıklama
RequestType Int Evet

0 veya 1 olarak iletilebilir.
0: hiçbir aksiyon alınmaz.
1: Ödeme işlemi ve kart kayıt işlemi gerçekleştirir

CustomerId String Evet

Ödeme işlemi sırasında kart kaydedilmesi isteniyorsa bu değer “1” olarak iletilmelidir. Aynı durum için bu değerin gönderilmesi zorunludur.

ValidityPeriod int Evet

Kredi kartı token kaydı geçerlilik süresi. 0 olarak gönderilmelidir. İşlem yapılan kredi kartı kaydedilmek isteniyorsa bu alan zorunludur.

CCTokenId Guid Evet

Daha önce oluşturulmuş bir kart için Wirecard tarafından atanmış token değeri. Eğer bu değer dolu gelirse, kredi kartı bilgilerinin girilmesine gerek yoktur.

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

işlem sonucunun Wirecard tarafından belirlenmiş kodu

ResultMessage String

ResultCode değerinin açıklaması.

OrderObjectId Guid

İşleme ait benzersiz id değeri
Bu değer Wirecard servisleri tarafından otomatik olarak atanır

LastTransactionDate String

Ödeme işleminin tarihi

MaskedCreditCardNumber String

Ödeme işlemi sırasında kullanılan kredi kartı numarasının maskeli hali
‘XXXX YY** **** TTTT’ formatında iletilir

MPAY String

Eğer işlem sırasında MPAY değeri dolu gönderildiyse, aynı değer dönecektir

Örnek Servis Çağrı Kodları


//Request
            var request= new CCProxySaleRequest();
            request.ServiceType = "CCProxy";
            request.OperationType = "Sale";
            request.MPAY = "001";
            request.Port = "001";
            request.IPAddress = "127.0.0.1";
            request.PaymentContent = "Bilgisayar";
            request.InstallmentCount = installmentCount;
            request.Description = "Bilgisayar Ödemesi";
            request.ExtraParam = "";
            #region Token
            request.Token= new Token();
            request.Token.UserCode = settings.UserCode;
            request.Token.Pin = settings.Pin;
            #endregion
            #region CreditCardInfo
            request.CreditCardInfo= new CreditCardInfo();
            request.CreditCardInfo.CreditCardNo = creditCardNo;
            request.CreditCardInfo.OwnerName = ownerName;
            request.CreditCardInfo.ExpireMonth = expireMonth;
            request.CreditCardInfo.ExpireYear = expireYear;
            request.CreditCardInfo.Cvv = cvv;
            request.CreditCardInfo.Price = 1;//0,01 TL
            #endregion
            #region CardTokenization
            request.CardTokenization = new CardTokenization();
            request.CardTokenization.RequestType = 0;
            request.CardTokenization.CustomerId = Guid.NewGuid().ToString();
            request.CardTokenization.ValidityPeriod = 0;
            request.CardTokenization.CCTokenId = Guid.NewGuid();
            #endregion
            var response = CCProxySaleRequest.Execute(request, settings);
            return View(responseMessage);

//Request               
            CCProxySaleRequest ccProxySaleRequest = new CCProxySaleRequest();
            ccProxySaleRequest.ServiceType = "CCProxy";
            ccProxySaleRequest.OperationType = "Sale";
            ccProxySaleRequest.MPAY = "";
            ccProxySaleRequest.IPAddress = "127.0.0.8";
            ccProxySaleRequest.PaymentContent = "BLGSYR01";
            ccProxySaleRequest.Description = "Bilgisayar";
            ccProxySaleRequest.InstallmentCount =Integer.parseInt(request.getParameter("installmentCount"));
            ccProxySaleRequest.ExtraParam = "";
            ccProxySaleRequest.Port = "123";
            ccProxySaleRequest.Token = new Token();
            ccProxySaleRequest.Token.UserCode = settings.userCode;
            ccProxySaleRequest.Token.Pin = settings.pin;
                
            ccProxySaleRequest.CreditCardInfo = new CreditCardInfo();
            ccProxySaleRequest.CreditCardInfo.CreditCardNo =request.getParameter("creditCardNo");
            ccProxySaleRequest.CreditCardInfo.OwnerName =request.getParameter("ownerName");
            ccProxySaleRequest.CreditCardInfo.ExpireYear =Integer.parseInt(request.getParameter("expireYear"));
            ccProxySaleRequest.CreditCardInfo.ExpireMonth =Integer.parseInt(request.getParameter("expireMonth"));
            ccProxySaleRequest.CreditCardInfo.Cvv =request.getParameter("cvv");
            ccProxySaleRequest.CreditCardInfo.Price = 1;//0,01 TL
                
            ccProxySaleRequest.CardTokenization = new CardTokenization();
            ccProxySaleRequest.CardTokenization.RequestType=0;
            ccProxySaleRequest.CardTokenization.CustomerId="01";
            ccProxySaleRequest.CardTokenization.ValidityPeriod=0;
            ccProxySaleRequest.CardTokenization.CCTokenId=uuid.toString();
		
		    String ccProxySaleResponse = ccProxySaleRequest.execute(ccProxySaleRequest,settings); //"Ödeme Formu ödeme servisi başlatılması için gerekli servis çağırısını temsil eder."
	

//Request
            $request->Token= new Token();
            $request->Token->UserCode=$settings->UserCode;
            $request->Token->Pin=$settings->Pin;
            $request->MPAY = "";
            $request->Port = "123";
            $request->IPAddress = helper::get_client_ip();  
            $request->PaymentContent = "Bilgisayar";
            $request->InstallmentCount = $_POST["installmentCount"];
            $request->Description = "BLGSYR01";
            $request->ExtraParam = "";
            $request->CreditCardInfo= new CreditCardInfo();
            $request->CreditCardInfo->CreditCardNo=$_POST["creditCardNo"];
            $request->CreditCardInfo->OwnerName=$_POST["ownerName"];
            $request->CreditCardInfo->ExpireYear=$_POST["expireYear"];
            $request->CreditCardInfo->ExpireMonth=$_POST["expireMonth"];
            $request->CreditCardInfo->Cvv=$_POST["cvv"];
            $request->CreditCardInfo->Price=1;//0.01 TL
            $request->CardTokenization= new CardTokenization();
            $request->CardTokenization->RequestType="0";
            $request->CardTokenization->CustomerId="01";
            $request->CardTokenization->ValidityPeriod="0";
            $request->CardTokenization->CCTokenId=Helper::Guid ();
            $response = CCProxySaleRequest::execute($request); // CCProxySale servisi başlatılması için gerekli servis çağırısını temsil eder.

//Request
            req=CCProxySaleRequest()
            req.ServiceType = "CCProxy"
            req.OperationType = "Sale"
            req.MPAY = ""
            req.IPAddress = "127.0.0.1"
            req.PaymentContent = "BLGSYR01"
            req.Description = "Bilgisayar"
            req.InstallmentCount =request.POST.get('installmentCount')
            req.ExtraParam = ""
            req.Port = "123"
            #region Token
            req.Token=Token()
            req.Token.UserCode=config.UserCode
            req.Token.Pin=config.Pin
            #endregion
            #region CreditCardInfo
            req.CreditCardInfo = CreditCardInfo()
            req.CreditCardInfo.CreditCardNo =request.POST.get('creditCardNo')
            req.CreditCardInfo.OwnerName =request.POST.get('ownerName')
            req.CreditCardInfo.ExpireYear =request.POST.get('expireYear')
            req.CreditCardInfo.ExpireMonth =request.POST.get('expireMonth')
            req.CreditCardInfo.Cvv =request.POST.get('cvv')
            req.CreditCardInfo.Price = "1";#0,01 TL
            #endregion
            #region CardTokenization
            req.CardTokenization = CardTokenization()
            req.CardTokenization.RequestType="0"
            req.CardTokenization.CustomerId="01"
            req.CardTokenization.ValidityPeriod="0"
            req.CardTokenization.CCTokenId=str(uuid.uuid4())
            #endregion
            message = req.execute(req,config) # Xml servis çağrısının başlatıldığı kısım


//Request
            req= Ccproxysalerequest.new
            req.ServiceType = "CCProxy"
            req.OperationType = "Sale"
            req.MPAY = ""
            req.IPAddress = "127.0.0.1";
            req.PaymentContent = "BLGSYR01"
            req.InstallmentCount =params[:installmentCount] 
            req.Description = "Bilgisayar"
            req.ExtraParam = ""
            #region Token
            req.Token = Token.new
            req.Token.UserCode = @settings.UserCode
            req.Token.Pin = @settings.Pin 
            #endregion
            #region CreditCardInfo
            req.Creditcardinfo = Creditcardinfo.new
            req.Creditcardinfo.CreditCardNo = params[:creditCardNo]
            req.Creditcardinfo.OwnerName =params[:ownerName] 
            req.Creditcardinfo.ExpireYear =params[:expireYear] 
            req.Creditcardinfo.ExpireMonth =params[:expireMonth] 
            req.Creditcardinfo.Cvv =params[:cvv] 
            req.Creditcardinfo.Price = "1";#0,01 TL
            #endregion
            returnData= req.execute(req,@settings) # xml servis çağrısının başladığı kısım
                   
//Request
            const data={
                "ServiceType": request.ServiceType,
                "OperationType": request.OperationType,
                "Token": {
                    "UserCode":settings.userCode,
                    "Pin": settings.pin
                    },
                "CreditCardInfo": {
                    "CreditCardNo": request.CreditCardInfoCreditCardNo,
                    "OwnerName": request.CreditCardInfoOwnerName,
                    "ExpireYear": request.CreditCardInfoExpireYear,
                    "ExpireMonth": request.CreditCardInfoExpireMonth,
                    "Cvv": request.CreditCardInfoCvv,
                    "Price": request.CreditCardInfoPrice,
                    },
                    "CardTokenization": {
                    "RequestType": request.CardTokenizationRequestType,
                    "CustomerId": request.CardTokenizationCustomerId,
                    "ValidityPeriod": request.CardTokenizationValidityPeriod,
                    "CCTokenId": Guid.raw(),
                    },
                    "Port": request.Port,
                    "MPAY": request.MPAY,
                    "ExtraParam": request.ExtraParam,
                    "Description":request.Description,
                    "IPAddress": request.IPAddress,
                    "InstallmentCount": request.InstallmentCount,
                    "PaymentContent": request.PaymentContent
            }
                    
            wirecard.CCProxySale(data).then(requestResult => {
                res.json(requestResult)
            }).catch(err => {
                console.log(err)
            })
 

//Request 
            <?xml version="1.0" encoding="utf-8" ?>
            <WIRECARD>
                <ServiceType>CCProxy</ServiceType>
                <OperationType>Sale</OperationType>
                <Token>
                    <UserCode></UserCode>
                    <Pin></Pin>
	            </Token>
                <CreditCardInfo>
                    <CreditCardNo></CreditCardNo>
                    <OwnerName></OwnerName>
                    <ExpireYear></ExpireYear>
                    <ExpireMonth></ExpireMonth>
                    <Cvv></Cvv>
                    <Price>100</Price>
                </CreditCardInfo>
                <MPAY></MPAY>
                <IPAddress></IPAddress>
                <PaymentContent>Bilgisayar Odemesi</PaymentContent>
                <InstallmentCount>0</InstallmentCount>
                <Description>Bilgisayar</Description>
                <ExtraParam></ExtraParam>
            </WIRECARD>
//Response
            <?xml version="1.0" encoding="UTF-8" ?>
            <Result>
                <Item Key="StatusCode" Value="" />
                <Item Key="ResultCode" Value=" " />
                <Item Key="ResultMessage" Value=" " />
                <Item Key="OrderObjectId" Value=" " />
                <Item Key="LastTransactionDate" Value="" />
                <Item Key="MaskedCreditCardNumber" Value="" />
                <Item Key="MPAY" Value="" />
            </Result>
                    

Wirecard Ortak Ödeme Sayfası

İşletmeniz için en hızlı şekilde ödeme almaya başlamak isterseniz, Wirecard Ortak ödeme sayfasını kullanabilirsiniz. Wirecard ortak ödeme sayfasını kullanarak, hızlı ve kolay bir biçimde entegrasyon işlemleriniz tanımlanır.
Bu servis, Wirecard Ortak Ödeme sayfası üzerinden kredi kartı ödeme işlemlerinin gerçekleşmesine imkan sağlar.

WIRECARD Statik Ortak Ödeme Sayfası

Az ve sabit sayıda ürünü olan, ürün fiyatları sık değişmeyen, detaylı sistem entegrasyonu yapmak istemeyen, satışları bir web sitesi üzerinden yapan kuruluşlar için uygun bir çözümdür.
Kredi kartına ek olarak mobil ödeme yapılması da mümkündür.

Bu kurguda kuruluşun yetkilisi tarafından Wirecard panelinde bir ürün tanımlanır ve panelde ürün için sunulan sabit link, satış yapılacak web sitesinde ürünün satış sayfasına eklenir. Bu link, müşteriyi Wirecard ortak ödeme sayfasına yönlendirerek ödeme yapılmasını sağlar ve işlem sonunda siteye geri yönlendirir.

Her yeni ürün için üye işyeri yetkilisi tarafından ayrı bir ürün oluşturulmalı, ürünlerin fiyatları her değiştiğinde panelden bu fiyatlar güncellenmelidir.

WIRECARD Statik Ortak Ödeme Sayfası Entegrasyonları için aşağıdaki adımları takip edebilirsiniz;

  1. https://www.wirecard.com.tr adresinden üye işyeri kullanıcı adı ve şifresiyle giriş yapılır.
  2. Bilgiler bölümündeki Ürünler linkine tıklanır.
  3. Soldaki Yeni Ekle linkine tıklanır.
  4. Ürüne ilişkin bilgiler doldurularak Ekle butonuna tıklanır.
  5. Oluşturulan ürüne Wirecard tarafından onay verilmesi sağlanır (bd@3pay.com adresine talep iletilerek).
  6. Panelde Ürünler linkine tıklanır, ilgili ürünün ürün detayı ikonuna tıklanır.
  7. Açılan sayfada Web Satış Kanalı kutusundaki Satış Adresi linki üye iş yerinin web sitesinde satış için kullanılır.
    • Örnek satış adresi şu şekildedir:
    • Üye işyeri tarafından tercihe bağlı olarak her işlem için unique bir ID eklenebilir. Bunun için adresin sonuna mpay parametresi ile değer eklenmelidir: Bu mpay değeri ile sorgulama yapmanız veya kendi işlem numaranız ile tahsilat numarasını eşleştirmeniz mümkün olacaktır.
  8. Müşteri ödemeyi başarıyla tamamladıktan sonra aşağıdaki tabloda Başarılı URL ile açıklanan adrese geri yönlendirilir. Bu URL’de aşağıdaki parametreler Wirecard Ödeme tarafından adrese eklenir:
    pid İşlem numarası(Eski Format)
    mpy Üye işyeri tarafından tanımlanan ve işlem sırasında gönderilen, işlem takibi için kullanılabilecek değer. (parametre “mpay” değildir!)
    sid Abonelik numarası (Abonelik dışındaki işlemlerde bu değer boş döner) (eski format)
    order Sipariş numarası(Yeni Format)
    subscriber Abonelik numarası(Yeni Format)
    Örnek sonuç URL’i şu şekildedir: Ürün bilgileri doldurulurken gereken alanların açıklaması aşağıdaki gibidir:
    SMS Şirket Adı Müşteri tarafından görülecek firma adıdır. Not: Ortak ödeme sayfasında ve onay SMS’inde bu ad görüneceği için dikkatle seçilmesi gereklidir.
    Ürün Adı Müşteri tarafından görünecek ürün adıdır. (Örnek: Wordpress Teması Satışı, Deneme.com 1 Aylık Abonelik) Not: Ortak ödeme sayfasında bu ad görüneceği için dikkatle seçilmesi gereklidir.
    Ürün Kategorisi Wirecard ile satılan hizmetler/ürünler kategorilere ayrılmıştır. Her bir kategorinin komisyon oranının farklı olmasından dolayı, doğru kategorinin seçilmesi önemlidir. Hatalı kategori seçilerek işlem yapılması durumunda sözleşme gereği cezalar uygulanmaktadır. Güncel oranlar için web sitemizi ziyaret edebilirsiniz.
    Satış Türü Satış türü Tekil Ürün Satışı ve Abonelik olarak ikiye ayrılmıştır. Tekil Ürün Satışı seçildiğinde sistem belirlenen ücreti sadece 1 defa çekmektedir. Abonelik seçildiğinde ise aylık veya haftalık olarak aynı tutar düzenli bir şekilde, tekrar bir onay istenmeden tahsil edilmektedir.
    Açıklama Ürünün içeriğini anlatan bilgilendirmedir. Müşteri memnuniyeti için bunun çok önemli olduğunu hatırlatırız.
    Ürün Fiyatı Wirecard ile satışını yapacağınız ürünün/hizmetin fiyatıdır. İlk olarak Lira kısmı daha sonra kuruş kısmı yazılır.
    Müşteri Hizmetleri E-Posta Müşteriler için destek verilecek ödeme ve siparişlerle ilgilenen birimin mail adresidir.
    Web Adresi Ürünü yayınlayacağınız web sitesinin adresidir. Ürünü ekledikten sonra Wirecard tarafından web sitesi kontrol edilecektir.
    Başarılı URL Ödeme başarıyla tamamlandığında müşterinin yönlendirileceği Internet adresidir. (Örnek: http://www.deneme.com/odemebasarili.aspx)
    Başarısız URL Ödeme başarısız olduğunda müşterinin yönlendirileceği Internet adresidir. (Örnek: http://www.deneme.com/basarisiz.aspx)

WIRECARD Dinamik Ortak Ödeme Sayfası

Dinamik ortak ödeme sayfasında, ödeme formu WIRECARD tarafından sağlanır. Üye işyeri herhangi bir ödeme formu oluşturmasına gerek kalmaz. Wirecard ortak ödeme sayfasını kullanarak, hızlı ve kolay bir biçimde entegrasyon işlemleriniz tamamlanır.

3D Secure İle Ödeme

3D Secure ile ödeme metodu, bankalara ait "3DSEC" doğrulama sayfası aracılığı kredi kartı ödeme işlemlerinin tamamlanması amacıyla kullanılan bir işlemdir.
Son kullanıcı response mesajı aracılığı ile iletilen URL’ye 3DSEC adımını tamamlamak için yönlendirilmelidir.

3D Secure ile Ödeme Entegrasyonu Restful Servisi için gerekli input bilgileri 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 Zorunluluk Açıklama
ServiceType String Evet

Sabit değer: "WDTicket"

OperationType String Evet

Sabit değer: "Sale3DSURLProxy"

Token Token Sınıfı Evet

Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

Price Int Evet

Ödeme İşleminin Tutarı
Ödenecek tutar 100 ile çarpıldıktan sonra iletilmelidir. Ondalıklı değerler iletilmelidir. Örneğin, 1,10 TL olan bir ödeme tutarı 110 olarak iletilmelidir.

MPAY String Hayır

Üye firma tarafından işlem için atanan benzersiz değer bu parametre aracılığı ile iletilebilir.

Description String Evet

Ödemesi yapılan işlemin açıklaması

ErrorURL String Evet

Başarısız işlem sonrasında son kullanıcın yönlendirileceği URL
Son kullanıcı 3DSEC doğrulama adımı sonrasında bu sayfaya yönlendirilecektir

SuccessURL String Evet

Başarılı işlem sonrasında son kullanıcın yönlendirileceği URL
Son kullanıcı 3DSEC doğrulama adımı sonrasında bu sayfaya yönlendirilecektir

ExtraParam String Hayır

Metot içerisinde ek opsiyonları tetiklemek için kullanılacak parametre değeri
3D ödemeleri için boş bırakılmalıdır.

PaymentContent String Evet

Ödemesi yapılacak işlemin içeriği

PaymentTypeId Int Hayır

Ödeme işleminin tipi
1: Tek Çekim
2: Aylık Abonelik
3: Haftalık Abonelik

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

3D ile ödeme işlem sonucu
0: İşlem başarılı
1: İşlem başarısız

ResultCode String

3D ile ödeme işlem sonucunun Wirecard tarafından belirlenmiş kodu

ResultMessage String

ResultCode değerinin açıklaması.
Bu açıklama son kullanıcı ile paylaşılabilir

RedirectUrl String

Kredi kartı bilgilerinin girilmesi için son kullanıcının yönlendirileceği URL
Kredi kartı bilgilerinin alınabilmesi için son kullanıcı bu URL’ye yönlendirilmelidir

Parametre Adı Açıklama
OrderId

Ödemesi tamamlanan sipariş Id bilgisi

MPAY

Ödeme işlemi başlatılırken Wirecard tarafına gönderilen Mpay değeri aynen geri dönderilir.

Statuscode

Ödeme işlemi sonucu.

ResultCode

3D ile ödeme işlem sonucunun Wirecard tarafından belirlenmiş kodu

ResultMessage

ResultCode değerinin açıklaması.

LastTransactionDate

Son İşlem Tarihi

MaskedCCNo

Ödeme işlemi yapılan kredi kartı numarasının maskelenmiş olarak gösterilen formatı

CCTokenId

Ödeme işlemi için Wirecard tarafından oluşturulmuş benzersiz işlem Idsi

ExtraParam

Ödeme işlemine ait ekstra bilgiler

Örnek Servis Çağrı Kodları


//Request
            WDTicketPaymentFormRequest request = new WDTicketPaymentFormRequest();
            request.ServiceType = "WDTicket";
            request.OperationType = "Sale3DSURLProxy";
            request.Price = 1;//0,01 TL
            request.MPAY = "";
            request.Description = "BLGSYR01";
            request.ErrorURL = "http://localhost:7597/Home/Fail";
            request.SuccessURL = "http://localhost:7597/Home/Success";
            request.ExtraParam = "";
            request.PaymentContent = "Bilgisayar";
            request.PaymentTypeId = 1;
            #region Token
            request.Token=new Token();
            request.Token.Pin = base.settings.Pin;
            request.Token.UserCode = base.settings.UserCode;
            #end region
            var response = WDTicketPaymentFormRequest.Execute(request, settings);
            return View(response);

//Request          
            WDTicketPaymentFormRequest wDTicketPaymentFormRequest = new WDTicketPaymentFormRequest();  
                
            wDTicketPaymentFormRequest.ServiceType = "WDTicket";
            wDTicketPaymentFormRequest.OperationType = "Sale3DSURLProxy";
            wDTicketPaymentFormRequest.MPAY = "";
            wDTicketPaymentFormRequest.Price=1;
            wDTicketPaymentFormRequest.ErrorURL="http://localhost:8084/wirecard-java/fail.htm";
            wDTicketPaymentFormRequest.SuccessURL="http://localhost:8084/wirecard-java/success.htm";
            wDTicketPaymentFormRequest.ExtraParam="";
            wDTicketPaymentFormRequest.PaymentContent="Bilgisayar";
            wDTicketPaymentFormRequest.Description="BLGSYR01";
            wDTicketPaymentFormRequest.PaymentTypeId=1;
                
            wDTicketPaymentFormRequest.Token = new Token();
            wDTicketPaymentFormRequest.Token.UserCode = settings.userCode;
            wDTicketPaymentFormRequest.Token.Pin = settings.pin;
  
		    String wDTicketPaymentFormResponse = wDTicketPaymentFormRequest.execute(wDTicketPaymentFormRequest,settings); //"WDTicket 3d Secure olmadan ödeme servis başlatılması için gerekli servis çağırısını temsil eder."		

//Request
            $request = new WDTicketPaymentFormRequest();
	        $request->ServiceType = "WDTicket";
            $request->OperationType = "Sale3DSURLProxy";
            $request->Token= new Token();
            $request->Token->UserCode=$settings->UserCode;
            $request->Token->Pin=$settings->Pin;
            $request->Price = 1;
            $request->MPAY = "";
            $request->ErrorURL = "http://localhost:5000/fail.php";
            $request->SuccessURL = "http://localhost:5000/success.php";
            $request->ExtraParam = "";
            $request->PaymentContent = "Bilgisayar";
            $request->Description = "BLGSYR01";
            $request->PaymentTypeId = 1;
            $response = WDTicketPaymentFormRequest::execute($request);

//Request
            req=WDTicketSale3DURLOrSaleUrlProxyRequest()
            req.ServiceType="WDTicket"
            req.OperationType="Sale3DSURLProxy"
            req.Price = "1"; #0,01 TL
            req.MPAY = ""
            req.ErrorURL = "http://127.0.0.1:8000/Fail"
            req.SuccessURL = "http://127.0.0.1:8000/Success"
            req.ExtraParam = ""
            req.PaymentContent = "Bilgisayar"
            req.Description = "BLGSYR01"
            #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= Wdticketsale3durlproxy.new
            req.ServiceType = "WDTicket";
            req.OperationType = "Sale3DSURLProxy";
            req.Price = "1"; #0,01 TL
            req.MPAY = "";
            req.ErrorURL = "http://localhost:3000/home/Fail";
            req.SuccessURL = "http://localhost:3000/home/Success";
            req.ExtraParam = "";
            req.PaymentContent = "Bilgisayar";
            req.Description = "BLGSYR01";
            #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

//Request                
            const data={
                "ServiceType": request.ServiceType,
                "OperationType": request.OperationType,
                "Token": {
                    "UserCode":settings.userCode,
                    "Pin": settings.pin
                },
                "Price":request.Price,  
                "MPAY": request.MPAY,
                "ErrorURL":request.ErrorURL,
                "SuccessURL":request.SuccessURL,
                "ExtraParam": request.ExtraParam,
                "Description":request.Description,
                "PaymentContent": request.PaymentContent
            }
                
            wirecard.WDTicketSale3DURLProxy(data).then(requestResult => {
                res.json(requestResult)
            }).catch(err => {
                console.log(err)
            })
 

//Request 
            <?xml version="1.0" encoding="UTF-8" ?>
            <WIRECARD>
               <ServiceType>WDTicket</ServiceType>
               <OperationType>Sale3DSURLProxy</OperationType>
               <Token>
                   <UserCode></UserCode>
                   <Pin></Pin>
               </Token>
               <Price>0.01</Price>
               <MPAY></MPAY>
               <ErrorURL>http://localhost:7597/Home/Fail</ErrorURL>
               <SuccessURL>http://localhost:7597/Home/Success</SuccessURL>
               <ExtraParam></ExtraParam>
               <Description>BLGSYR01</Description>
               <PaymentContent>Bilgisayar</PaymentContent>
           </WIRECARD>
//Response
           <?xml version="1.0" encoding="UTF-8" ?>
           <Result>
               <Item Key="StatusCode" Value="" />
               <Item Key="ResultCode" Value=" " />
               <Item Key="ResultMessage" Value=" " />
               <Item Key="RedirectUrl" Value="" />
            </Result>
                    

3D Secure Olmadan Ödeme

3D Secure olmadan ödeme metodu, tek adımda kredi kartı ödeme işlemlerinin tamamlanması amacıyla kullanılan bir metottur. Bu metot bankalar tarafından yönetilen "3DSEC" adımını kullanmamaktadır.

3D Secure olmadan Ödeme Entegrasyonu "Restful" Servisi için gerekli input bilgileri 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 Zorunluluk Açıklama
ServiceType String Evet

Sabit değer: "WDTicket"

OperationType String Evet

Sabit değer: "SaleURLProxy"

Token Token Sınıfı Evet

Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

Price Int Evet

Ödeme İşleminin Tutarı
Ödenecek tutar 100 ile çarpıldıktan sonra iletilmelidir. Ondalıklı değerler iletilmelidir. Örneğin, 1,10 TL olan bir ödeme tutarı 110 olarak iletilmelidir.

MPAY String Hayır

Üye firma tarafından işlem için atanan benzersiz değer bu parametre aracılığı ile iletilebilir.

Description String Evet

Ödemesi yapılan işlemin açıklaması

ErrorURL String Evet

Başarısız işlem sonrasında son kullanıcın yönlendirileceği URL
Son kullanıcı "3DSEC" doğrulama adımı sonrasında bu sayfaya yönlendirilecektir

SuccessURL String Evet

Başarılı işlem sonrasında son kullanıcın yönlendirileceği URL
Son kullanıcı "3DSEC" doğrulama adımı sonrasında bu sayfaya yönlendirilecektir

ExtraParam String Hayır

Metot içerisinde ek opsiyonları tetiklemek için kullanılacak parametre değeri
3D ödemeleri için boş bırakılmalıdır.

PaymentContent String Evet

Ödemesi yapılacak işlemin içeriği

PaymentTypeId Int Hayır

Ödeme işleminin tipi
1: Tek Çekim
2: Aylık Abonelik
3: Haftalık Abonelik

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

3D olmadan ödeme işlem sonucu
0: İşlem başarılı
1: İşlem başarısız

ResultCode String

3D ile ödeme işlem sonucunun Wirecard tarafından belirlenmiş kodu

ResultMessage String

ResultCode değerinin açıklaması.
Bu açıklama son kullanıcı ile paylaşılabilir

RedirectUrl String

Kredi kartı bilgilerinin girilmesi için son kullanıcının yönlendirileceği URL
Kredi kartı bilgilerinin alınabilmesi için son kullanıcı bu URL’ye yönlendirilmelidir

Parametre Adı Açıklama
OrderId

Ödemesi tamamlanan sipariş Id bilgisi

MPAY

Ödeme işlemi başlatılırken Wirecard tarafına gönderilen Mpay değeri aynen geri dönderilir.

Statuscode

Ödeme işlemi sonucu.

ResultCode

3D ile ödeme işlem sonucunun Wirecard tarafından belirlenmiş kodu

ResultMessage

ResultCode değerinin açıklaması.

LastTransactionDate

Son İşlem Tarihi

MaskedCCNo

Ödeme işlemi yapılan kredi kartı numarasının maskelenmiş olarak gösterilen formatı

CCTokenId

Ödeme işlemi için Wirecard tarafından oluşturulmuş benzersiz işlem Idsi

ExtraParam

Ödeme işlemine ait ekstra bilgiler

Örnek Servis Çağrı Kodları


//Request
            WDTicketPaymentFormRequest request = new WDTicketPaymentFormRequest();
            request.ServiceType = "WDTicket";
            request.OperationType = "SaleURLProxy";
            request.Price = 1;//0,01 TL
            request.MPAY = "";
            request.Description = "BLGSYR01";
            request.ErrorURL = "http://localhost:7597/Home/Fail";
            request.SuccessURL = "http://localhost:7597/Home/Success";
            request.ExtraParam = "";
            request.PaymentContent = "Bilgisayar";
            request.PaymentTypeId = 1;
            #region Token
            request.Token=new Token();
            request.Token.Pin = base.settings.Pin;
            request.Token.UserCode = base.settings.UserCode;
            #end region
            var response = WDTicketPaymentFormRequest.Execute(request, settings);
            return View(response);

//Request    
            WDTicketPaymentFormRequest wDTicketPaymentFormRequest = new WDTicketPaymentFormRequest();  
                
            wDTicketPaymentFormRequest.ServiceType = "WDTicket";
            wDTicketPaymentFormRequest.OperationType = "SaleURLProxy";
            wDTicketPaymentFormRequest.MPAY = "";
            wDTicketPaymentFormRequest.Price=1;
            wDTicketPaymentFormRequest.ErrorURL="http://localhost:8084/wirecard-java/fail.htm";
            wDTicketPaymentFormRequest.SuccessURL="http://localhost:8084/wirecard-java/success.htm";
            wDTicketPaymentFormRequest.ExtraParam="";
            wDTicketPaymentFormRequest.PaymentContent="Bilgisayar";
            wDTicketPaymentFormRequest.Description="BLGSYR01";
            wDTicketPaymentFormRequest.PaymentTypeId=1;
                
            wDTicketPaymentFormRequest.Token = new Token();
            wDTicketPaymentFormRequest.Token.UserCode = settings.userCode;
            wDTicketPaymentFormRequest.Token.Pin = settings.pin;
  
		    String wDTicketPaymentFormResponse = wDTicketPaymentFormRequest.execute(wDTicketPaymentFormRequest,settings); //"WDTicket 3d Secure olmadan ödeme servis başlatılması için gerekli servis çağırısını temsil eder."

//Request
            $request = new WDTicketPaymentFormRequest();
	        $request->ServiceType = "WDTicket";
            $request->OperationType = "SaleURLProxy";
            $request->Token= new Token();
            $request->Token->UserCode=$settings->UserCode;
            $request->Token->Pin=$settings->Pin;
    
            $request->Price = 1; //0.01 TL
            $request->MPAY = "";
            $request->ErrorURL = "http://localhost:5000/fail.php";
            $request->SuccessURL = "http://localhost:5000/success.php";
            $request->ExtraParam = "";
            $request->PaymentContent = "Bilgisayar";
            $request->Description = "BLGSYR01";
            $request->PaymentTypeId = 1;
            $response = WDTicketPaymentFormRequest::execute($request);

//Request
            req=WDTicketSale3DURLOrSaleUrlProxyRequest()
            req.ServiceType="WDTicket"
            req.OperationType="SaleURLProxy"
            req.Price = "1"; #0,01 TL
            req.MPAY = ""
            req.ErrorURL = "http://127.0.0.1:8000/Fail"
            req.SuccessURL = "http://127.0.0.1:8000/Success"
            req.ExtraParam = ""
            req.PaymentContent = "Bilgisayar"
            req.Description = "BLGSYR01"
            #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= Wdticketsale3durlproxy.new
            req.ServiceType = "WDTicket";
            req.OperationType = "SaleURLProxy";
            req.Price = "1"; #0,01 TL
            req.MPAY = "";
            req.ErrorURL = "http://localhost:3000/home/Fail";
            req.SuccessURL = "http://localhost:3000/home/Success";
            req.ExtraParam = "";
            req.PaymentContent = "Bilgisayar";
            req.Description = "BLGSYR01";
            #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

//Request            
            const data={
                "ServiceType": request.ServiceType,
                "OperationType": request.OperationType,
                "Token": {
                    "UserCode":settings.userCode,
                    "Pin": settings.pin
            },

                "Price":request.Price,  
                "MPAY": request.MPAY,
                "ErrorURL":request.ErrorURL,
                "SuccessURL":request.SuccessURL,
                "ExtraParam": request.ExtraParam,
                "Description":request.Description,
                "PaymentContent": request.PaymentContent
            }
                
            wirecard.WDTicketSaleURLProxy(data).then(requestResult => {
                res.json(requestResult)
            }).catch(err => {
                console.log(err)
            })
 

//Request 
            <?xml version="1.0" encoding="UTF-8" ?>
            <WIRECARD>
                <ServiceType>WDTicket</ServiceType>
                <OperationType>SaleURLProxy</OperationType>
                <Token>
                    <UserCode></UserCode>
                    <Pin></Pin>
                </Token>
                <Price>0.01</Price>
                <MPAY></MPAY>
                <ErrorURL>http://localhost:7597/Home/Fail</ErrorURL>
                <SuccessURL>http://localhost:7597/Home/Success</SuccessURL>
                <ExtraParam></ExtraParam>
                <Description>BLGSYR01</Description>
                <PaymentContent>Bilgisayar</PaymentContent>
            </WIRECARD>
//Response
            <?xml version="1.0" encoding="UTF-8" ?>
            <Result>
                <Item Key="StatusCode" Value="" />
                <Item Key="ResultCode" Value=" " />
                <Item Key="ResultMessage" Value=" " />
                <Item Key="RedirectUrl" Value="" />
            </Result>