Cüzdan (Kart Saklama) Servisleri

Cüzdan servisleri, müşterilerinizin kredi kartlarını iPara üzerinde saklayarak daha sonra aynı müşterilerinizden tekrar kart bilgisi istemeye gerek kalmadan ödeme yaptırabilmeyi sağlayan servisler bütünüdür.

Genel senaryo, müşteriniz ilk alışverişini yaparken kartını kaydetmek isteyip istemediğini sorarak verilecek onay sonrası "Cüzdana Kart Ekleme" servisiyle ve kullanıcının sizin sisteminizdeki benzersiz ID'sini ve diğer bilgileri göndererek müşteriye ait kartı iPara sistemine ekleyebilirsiniz. Bu servis size kartı benzersiz kılan bir cardId dönecektir. Dönen bu ID'yi sisteminizde saklayabileceğiniz gibi istediğiniz anda sizin müşterinize ait kullanıcı ID'niz ile o kullanıcıya ait tüm kartları "Cüzdandaki Kartları Getir" servisiyle iPara üzerinden sorgulayıp ekranda gösterebilirsiniz. Herhangi bir müşterinizin kartını iPara sisteminden istediğiniz zaman "Cüzdandan Kart Sil" metoduyla silebilirsiniz.

Bu Bölümde, iPara Direkt Ödeme altyapısı üzerinde çalışan mağaza cüzdan servislerinin entegrasyonu, örnekler ve tanımlar ile anlatılmıştır. Bu bölümde Mağaza kullanıcısına ait kart kaydetme, kaydedilen kullanıcı kartlarını sorgulama ve kayıtlı kart silme işlemleri için entegrasyon bilgilerine erişeceksiniz.

Cüzdana Kart Ekleme Servisi

Kullanıcının bir kartı kaydetmek istediği zaman kullanabileceği servistir. Bir kayıtlı kart oluşturulmak istendiğinde kart oluşturma verilerini JSON formatında hazırlayarak, https://api.ipara.com/bankcard/create adresine gerekli güvenlik bilgilerini http header bilgisine ekleyerek post eder. iPara işlem sonucunu yine JSON formatında mağazaya döner.

İstek Güvenlik Bilgileri

iPara, güvenlik kontrolleri için, mağazadan bazı bilgileri HTTP Header alanında istemektedir. Aşağıda bu bilgilerin tanımları bulunmaktadır:

HttpHeader Güvenlik Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
transactionDate

İstek zamanı. "yyyy-MM-dd HH:mm:ss" formatındadır. İşlem zaman aşımına uğramış ise istek reddedilir. Örnek: "2014-08-12 23:59:59" İlgili kütüphane içindeki GetTransactionDate() fonksiyonundan elde edilebilir.

Zorunlu
version

Entegrasyon versiyon bilgisidir. "1.0" olarak gönderilmelidir.

Zorunlu
token

"publicKey:hash" bilgisidir. Hash bilgisi; ; "privateKey + userId + cardOwnerName + cardNumber + cardExpireMonth + cardExpireYear + clientIp + transactionDate" alanlarını birbirlerine, verilen sıra ile ekleyerek, SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda oluşur. Hash oluşturma fonksiyonu örnekleri burada anlatılmıştır.
token = public key + ‘:’ + base64[ sha1[("privateKey + userId + cardOwnerName + cardNumber + cardExpireMonth + cardExpireYear + clientIp + transactionDate")]]
token = "ASKJH98675ASDASDPO:jhsa/gd+89dfg0df6SA/dfg8967=="

Zorunlu

Servis Girdi Parametreleri

Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
userId

Mağaza kullanıcısını referans eden bilgi.

Zorunlu
cardOwnerName

Kart üzerindeki ad. Minimum Uzunluk: 4 - Maksimum Uzunluk: 100 karakter.

Zorunlu
cardNumber

Kart numarası. Minimum Uzunluk: 12 - Maksimum Uzunluk: 19 karakter.

Zorunlu
cardAlias

Kart rumuz bilgisi.

Zorunlu
cardExpireMonth

Kart son kullanma tarihi ay parametresi. Uzunluk: 2 karakter. Örnek; 05,11, vb.

Zorunlu
cardExpireYear

Kart son kullanma tarihi yıl parametresi. Uzunluk: 2 karakter. Örnek; 14,19, vb.

Zorunlu
clientIp

Müşteri istemci IP adresi.

Zorunlu

Servis Çıktı Parametreleri

Servis Çıktı (Output) Parametreleri
Parametre Adı Açıklama
result

İşlem sonucu
1 - İşlem Başarılı
0 - İşlem Başarısız

errorMessage Hata Mesajı
errorCode Hata Kodu
cardId Tanımlanmış karta ait iPara referans bilgisi. Bu bilgi ödeme tahsilatlarında kullanılacaktır.
maskNumber Kayıtlı kartın maskelenmiş numara bilgisi
alias Kayıtlı kartın rumuz bilgisi
bankId Banka id bilgisi. Tüm Türkiye de geçerli olan banka ID bilgisidir.
bankName Banka adı bilgisi
cardFamilyName Kart aile bilgisi
supportsInstallment

Taksit destekleme durumu
0 – Kart taksitli işlem desteklememektedir.
1 – Kart taksitli işlem desteklemektedir.

supportsInstallments

Desteklenen taksit dizisi. Bu alan değeri hem mağazanın taksit aktifliği hem de kartın taksit desteğine göre hesaplanmaktadır.

supportedInstallments Desteklenen taksit dizisi. Bu alan değeri hem mağazanın taksit aktifliği hem de ilgili bin numarasının taksit desteğine göre hesaplanmaktadır. Ek olarak eğer kart Ticari kart ise taksit bilgisi mağaza taksit aktifliğine bakılmaksızın hesaplanmaktadır.
type Kart tipi
0 – Kart tipi bilinmiyor
1 – Kredi Kartı
2 – Debit Kart
serviceProvider Servis sağlayıcısı
0 – Servis sağlayıcı bilinmiyor.
1 – Mastercard
2 – Visa
3 – Amex
4 - Troy
threeDSecureMandatory Kayıtlı kartın 3D güvenlik adımı zorunluluğu. Ödeme sırasında 3D secure işlem yapılması zorunluluğu, bu alan değeri hem mağazanın 3D Secure zorunluluğuna hem de kart ailesinin 3D Secure zorunluluğuna bağlı olarak zorunlu olabilir.
0 – 3D Secure zorunlu değil.
1 – 3D Secure zorunlu
cvcMandatory Kayıtlı kartın cvc zorunluluğu. Ödeme sırasında cvc bilgisinin gönderilmesi zorunluluğu, bu alan değeri hem mağazanın cvc zorunluluğuna hem de kart ailesinin cvc zorunluluğuna bağlı olarak zorunlu olabilir.
0 – CVC/CVV’siz ödeme kabulü yapılabilir.
1 – CVC/CVV gönderimi zorunludur.

Örnek Çağrılar


            //Request
          
            BankCardCreateRequest request = new BankCardCreateRequest();
            request.userId = "123456";
            request.cardOwnerName = "Fatih Ömeroğlu";
            request.cardNumber = "4921309175123221";
            request.cardAlias = "Adios";
            request.cardExpireMonth = "12";
            request.cardExpireYear = "23";
            request.clientIp = "127.0.0.1";
            BankCardCreateResponse response = BankCardCreateRequest.Execute(request, settings);
                

//request
            BankCardCreateRequest request = new BankCardCreateRequest();
            request.userId = "123456";
            request.cardOwnerName = "Fatih Coşkun";
            request.cardNumber = "4921309175175861";
            request.cardAlias = "Adios";
            request.cardExpireMonth = "12";
            request.cardExpireYear = "23";
            request.clientIp = "127.0.0.1";
            BankCardCreateResponse response = BankCardCreateRequest.Execute(request, settings);

//request
$request = new BankCardCreateRequest();
$request->userId = "123456";
$request->cardOwnerName = "Fatih Coşkun";
$request->cardNumber = "4921309175175861";
$request->cardAlias = "Adios";
$request->cardExpireMonth = "12";
$request->cardExpireYear = "23";
$request->clientIp=Helper::get_client_ip();
$response=BankCardCreateRequest::execute($request,$settings);

//Request
ipara.AddCardToWallet("23956", "Ahmet Yıldız", "1234123412341234", "Maaş Kartım", "12", "20", "31.145.116.98").then(requestResult => {
res.json(requestResult)
}).catch(err => {
console.log(err)
})


//Request
      req=Bankcardcreaterequest.new
      req.userId = params[:userId]
      req.cardOwnerName = params[:nameSurname]
      req.cardNumber = params[:cardNumber]
      req.cardAlias = params[:cardAlias]
      req.cardExpireMonth = params[:month]
      req.cardExpireYear = params[:year]
      req.clientIp = "127.0.0.1"
      @returnData= req.execute(req,@settings)



    //Request
        req = BankCardCreateRequest()
        req.userId = request.POST.get('userId')
        req.cardOwnerName = request.POST.get('nameSurname')
        req.cardNumber = request.POST.get('cardNumber')
        req.cardAlias = request.POST.get('cardAlias')
        req.cardExpireMonth = request.POST.get('month')
        req.cardExpireYear = request.POST.get('year')
        req.clientIp = "127.0.0.1"
        response = req.execute(req, config)
 
//Request 
    {
      "userId":"23956"
      "cardOwnerName":"Ahmet Yıldız",
      "cardNumber":"1234123412341234",
      "cardAlias":"Maaş Kartım",
      "cardExpireMonth":"12",
      "cardExpireYear ": "20",
      "clientIp ": "127.0.0.1"
    }
//Response
{
      "cardId":" 00179cLjXNFg0WL0J6mFqxbww=="
      "maskNumber":"454360******5659"
      "alias": "Maaş Kartım",
      "cardFamilyName ": "BONUS",
      "bankId ": "8",
      "bankName ": "GARANTİ",
      "supportsInstallment": "1",
      "supportedInstallments":[1,2,3,4,5,6,7,8,9,10,11,12],
      "type": "2"
      "serviceProvider":" VISA"
      "threeDSecureMandatory":"1"
      "cvcMandatory":"0"
    }

Cüzdandaki Kartları Getir Servisi

Mağazanın, kullanıcının bir kartını veya kayıtlı olan tüm kartlarını sorgulamak istediği zaman kullanabileceği servistir. Kart sorgulaması yapılmak istendiğinde kart sorgulama verileri JSON formatında hazırlanarak, https://api.ipara.com/bankcard/inquiry adresine gerekli güvenlik bilgileri http header bilgisine eklenerek post edilir. iPara işlem sonucunu yine JSON formatında mağazaya döner.

İstek Güvenlik Bilgileri

iPara, güvenlik kontrolleri için, mağazadan bazı bilgileri HTTP Header alanında istemektedir. Aşağıda bu bilgilerin tanımları bulunmaktadır:

HttpHeader Güvenlik Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
transactionDate

İstek zamanı. "yyyy-MM-dd HH:mm:ss" formatındadır. İşlem zaman aşımına uğramış ise istek reddedilir. Örnek: "2014-08-12 23:59:59" İlgili kütüphane içindeki GetTransactionDate() fonksiyonundan elde edilebilir.

Zorunlu
version

Entegrasyon versiyon bilgisidir. "1.0" olarak gönderilmelidir.

Zorunlu
token

"publicKey:hash" bilgisidir. Hash bilgisi; ; "privateKey + userId + (*)cardId + clientIp + transactionDate" alanlarını birbirlerine, verilen sıra ile ekleyerek, SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda oluşur. Hash oluşturma fonksiyonu örnekleri burada anlatılmıştır.
token = public key + ‘:’ + base64[ sha1[("privateKey + userId + (*)cardId + clientIp + transactionDate")]]
token = "ASKJH98675ASDASDPO:jhsa/gd+89dfg0df6SA/dfg8967=="

Zorunlu

Servis Girdi Parametreleri

Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
userId

Mağaza kullanıcısını referans eden bilgi.

Zorunlu
cardId

cardId Tanımlanmış karta ait iPara referans bilgisi. Bu bilgi ödeme tahsilatlarında kullanılacaktır.
- Alan dolu olarak gönderilir ise sadece ilgili karta ait veriler dönülecektir.
- Alan boş olarak gönderilir ise kullanıcının tüm kartları dönülecektir.

Opsyionel
clientIp

Müşteri istemci IP adresi.

Zorunlu

Servis Çıktı Parametreleri

Servis Çıktı (Output) Parametreleri
Parametre Adı Açıklama
result

İşlem sonucu
1 - İşlem Başarılı
0 - İşlem Başarısız

errorMessage Hata Mesajı
errorCode Hata Kodu
cards - Kayıtlı kart bilgileri dizisi
cardId Tanımlanmış karta ait iPara referans bilgisi. Bu bilgi ödeme tahsilatlarında kullanılacaktır.
maskNumber Kayıtlı kartın maskelenmiş numara bilgisi
alias Kayıtlı kartın rumuz bilgisi
bankId Banka id bilgisi. Tüm Türkiye de geçerli olan banka ID bilgisidir.
bankName Banka adı bilgisi
cardFamilyName Kart aile bilgisi
supportsInstallment

Taksit destekleme durumu
0 – Kart taksitli işlem desteklememektedir.
1 – Kart taksitli işlem desteklemektedir.

supportsInstallments

Desteklenen taksit dizisi. Bu alan değeri hem mağazanın taksit aktifliği hem de kartın taksit desteğine göre hesaplanmaktadır.

supportedInstallments Desteklenen taksit dizisi. Bu alan değeri hem mağazanın taksit aktifliği hem de ilgili bin numarasının taksit desteğine göre hesaplanmaktadır. Ek olarak eğer kart Ticari kart ise taksit bilgisi mağaza taksit aktifliğine bakılmaksızın hesaplanmaktadır.
type Kart tipi
0 – Kart tipi bilinmiyor
1 – Kredi Kartı
2 – Debit Kart
serviceProvider Servis sağlayıcısı
0 – Servis sağlayıcı bilinmiyor.
1 – Mastercard
2 – Visa
3 – Amex
4 - Troy
threeDSecureMandatory Kayıtlı kartın 3D güvenlik adımı zorunluluğu. Ödeme sırasında 3D secure işlem yapılması zorunluluğu, bu alan değeri hem mağazanın 3D Secure zorunluluğuna hem de kart ailesinin 3D Secure zorunluluğuna bağlı olarak zorunlu olabilir.
0 – 3D Secure zorunlu değil.
1 – 3D Secure zorunlu
cvcMandatory Kayıtlı kartın cvc zorunluluğu. Ödeme sırasında cvc bilgisinin gönderilmesi zorunluluğu, bu alan değeri hem mağazanın cvc zorunluluğuna hem de kart ailesinin cvc zorunluluğuna bağlı olarak zorunlu olabilir.
0 – CVC/CVV’siz ödeme kabulü yapılabilir.
1 – CVC/CVV gönderimi zorunludur.

Örnek Çağrılar


            //Request
          
            BankCardInquiryRequest request = new BankCardInquiryRequest();
            request.userId = userId;
            request.cardId = cardId;
            request.clientIp = "127.0.0.1";
            BankCardInquryResponse response = BankCardInquiryRequest.Execute(request, settings);
                

//request
            BankCardInquiryRequest request = new BankCardInquiryRequest();
            request.userId = "123456";
            request.cardId = "";
            request.clientIp = "127.0.0.1";
            BankCardInquryResponse response = BankCardInquiryRequest.Execute(request, settings);

//request
$request = new BankCardInquiryRequest();
$request->userId = "123456";
$request->cardId = "";
$request->clientIp=Helper::get_client_ip();
$response=BankCardInquiryRequest::execute($request,$settings);

//Request

ipara.BankCardInquiryRequest(userId, cardId, "127.0.0.1").then(requestResult => {
res.json(requestResult)
}).catch(err => {
console.log(err)
})
 


//Request
      req=Bankcardinquiryrequest.new
      req.userId = params[:userId]
      req.cardId = params[:cardId]
      req.clientIp = "127.0.0.1"
      @returnData= req.execute(req,@settings)


        //Request
        req = BankCardInquiryRequest()
        req.userId = request.POST.get('userId')
        req.cardId = request.POST.get('cardId')
        req.clientIp = "127.0.0.1"
        response = req.execute(req, config)
 
//Request 
    { 
  "clientIp": "127.0.0.1",
  "userId": "179123",
  "cardId": "00179cLjXNFg0WL0J6mFqxbww=="
}
//Response
{
  "result": "1",
  "cards": [
  {
      "cardId":" 00179cLjXNFg0WL0J6mFqxbww==","
      "maskNumber":" 454360******5659"
      "alias": "Maaş Kartım",
      "cardFamilyName ": "BONUS",
      "bankId ": "8",
      "bankName ": "GARANTİ",
      "supportsInstallment ": "1",
      "supportedInstallments":[1,2,3,4,5,6,7,8,9,10,11,12],
      "type ": "2"
      "serviceProvider":" VISA"
      "threeDSecureMandatory":"1"
      "cvcMandatory":" 0"
    },
    {
      "cardId":" 89652FaEQERYHcasdSW6mOpre134==","
      "maskNumber":" 665785******1345"
      "alias": "Ek Kartım",
      "cardFamilyName ": "BONUS",
      "bankId ": "8",
      "bankName ": "ŞEKERBANK",
      "supportsInstallment ": "1",
      "supportedInstallments":[1,2,3,4,5,6,7,8,9,10,11,12],
      "type": "2"
      "serviceProvider":" MASTERCARD"
      "threeDSecureMandatory":"1"
      "cvcMandatory":" 0"
    },
  ]
}

Cüzdandan Kart Sil Servisi

Mağazanın, kullanıcının bir kartını veya kayıtlı olan tüm kartlarını silmek istediği zaman kullanabileceği servistir. Kart silme işlemi yapılmak istendiğinde kart silme verileri JSON formatında hazırlanarak, https://api.ipara.com/bankcard/delete adresine gerekli güvenlik bilgileri http header bilgisine eklenerek post edilir. iPara işlem sonucunu yine JSON formatında mağazaya döner.

İstek Güvenlik Bilgileri

iPara, güvenlik kontrolleri için, mağazadan bazı bilgileri HTTP Header alanında istemektedir. Aşağıda bu bilgilerin tanımları bulunmaktadır:

HttpHeader Güvenlik Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
transactionDate

İstek zamanı. "yyyy-MM-dd HH:mm:ss" formatındadır. İşlem zaman aşımına uğramış ise istek reddedilir. Örnek: "2014-08-12 23:59:59" İlgili kütüphane içindeki GetTransactionDate() fonksiyonundan elde edilebilir.

Zorunlu
version

Entegrasyon versiyon bilgisidir. "1.0" olarak gönderilmelidir.

Zorunlu
token

"publicKey:hash" bilgisidir. Hash bilgisi; ; "privateKey + userId + (*)cardId + clientIp + transactionDate" alanlarını birbirlerine, verilen sıra ile ekleyerek, SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda oluşur. Hash oluşturma fonksiyonu örnekleri burada anlatılmıştır.
token = public key + ‘:’ + base64[ sha1[("privateKey + userId + (*)cardId + clientIp + transactionDate")]]
token = "ASKJH98675ASDASDPO:jhsa/gd+89dfg0df6SA/dfg8967=="

Zorunlu

Servis Girdi Parametreleri

Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
userId

Mağaza kullanıcısını referans eden bilgi.

Zorunlu
cardId

cardId Tanımlanmış karta ait iPara referans bilgisi. Bu bilgi ödeme tahsilatlarında kullanılacaktır.
- Alan dolu olarak gönderilir ise sadece ilgili karta ait veriler dönülecektir.
- Alan boş olarak gönderilir ise kullanıcının tüm kartları dönülecektir.

Opsyionel
clientIp

Müşteri istemci IP adresi.

Zorunlu

Servis Çıktı Parametreleri

Servis Çıktı (Output) Parametreleri
Parametre Adı Açıklama
result

İşlem sonucu
1 - İşlem Başarılı
0 - İşlem Başarısız

errorMessage Hata Mesajı
errorCode Hata Kodu
responseMessage Kullanıcıya gösterilecek mesaj
- Banka kartınız silinmiştir.
- Kullanıcı kartları silinmiştir.

Örnek Çağrılar


            //Request
          
            BankCardDeleteRequest request=new BankCardDeleteRequest();
            request.userId = userId;
            request.cardId = cardId;
            request.clientIp = "127.0.0.1";
            BankCardDeleteResponse response = BankCardDeleteRequest.Execute(request, settings); 
            

                                            //Request
          
            BankCardDeleteRequest request=new BankCardDeleteRequest();
            request.userId = userId;
            request.cardId = cardId;
            request.clientIp = "127.0.0.1";
            BankCardDeleteResponse response = BankCardDeleteRequest.Execute(request, settings); 

//request
$request = new BankCardDeleteRequest();
$request->userId = userId;
$request->cardId = "";
$request->clientIp=Helper::get_client_ip();
$response=BankCardDeleteRequest::execute($request,$settings);

//Request
ipara.BankCardDeleteRequest("179123", "00179cLjXNFg0WL0J6mFqxbww==", "127.0.0.1").then(requestResult => {
res.json(requestResult)
}).catch(err => {
console.log(err)
})
 


//Request
      req=Bankcarddeleterequest.new
      req.userId = params[:userId]
      req.cardId = params[:cardId]
      req.clientIp = "127.0.0.1"
      @returnData= req.execute(req,@settings)


//Request
        req = BankCardDeleteRequest()
        req.userId = request.POST.get('userId')
        req.cardId = request.POST.get('cardId')
        req.clientIp = "127.0.0.1"
        response = req.execute(req, config)

//Request 
   { 
  "clientIp": "127.0.0.1",
  "userId": "179123",
  "cardId": "00179cLjXNFg0WL0J6mFqxbww=="
}
//Response
{
  {
  "result": "1",
  "responseMessage": "Kullanıcı kartları silinmiştir."
}

Cüzdandaki Kart İle Ödeme

Normal ödeme servislerinde tarif edilen yapılara benzer olarak aynı yapıda çalışan ödeme şeklidir. Normal ödemelerden farklı olarak Kart Numarası, Adı Soyadı, CVC ve SKT gibi alanları "" göndererek ve onların yerine UserId ve CardId bilgisinin gönderilmesi ile yapılan ödeme çeşididir.

İstek Güvenlik Bilgileri

iPara, güvenlik kontrolleri için, mağazadan bazı bilgileri HTTP Header alanında istemektedir. Aşağıda bu bilgilerin tanımları bulunmaktadır:

HttpHeader Güvenlik Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
transactionDate

İstek zamanı. “yyyy-MM-dd HH:mm:ss“ formatındadır. İşlem zaman aşımına uğramış ise istek reddedilir. Örnek: “2014-08-12 23:59:59” İlgili kütüphane içindeki GetTransactionDate() fonksiyonundan elde edilebilir.

Zorunlu
version

Entegrasyon versiyon bilgisidir. “1.0” olarak gönderilmelidir.

Zorunlu
token

“publicKey:hash” bilgisidir. Hash bilgisi; "privateKey + orderId + amount + mode + (*)cardOwnerName + (*)cardNumber + (*)cardExpireMonth + (*)cardExpireYear + (*)cardCvc + (*)userId + (*)cardId + purchaser.name + purchaser.surname + purchaser.email + transactionDate" alanlarını birbirlerine, verilen sıra ile ekleyerek, SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda oluşur. Hash oluşturma fonksiyonu örnekleri burada anlatılmıştır.
token = public key + ‘:’ + base64[ sha1[("privateKey + orderId + amount + mode + (*)cardOwnerName + (*)cardNumber + (*)cardExpireMonth + (*)cardExpireYear + (*)cardCvc + (*)userId + (*)cardId + purchaser.name + purchaser.surname + purchaser.email + transactionDate")]]
token = “ASKJH98675ASDASDPO:jhsa/gd+89dfg0df6SA/dfg8967==”

Zorunlu

Servis Girdi Parametreleri

Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı Açıklama Opsiyonel/Zorunlu
mode

İstek modu. “P” veya “T” gönderilmelidir.
“P” - Gerçek Ödeme
“T” – Test Ödemesi
Entegrasyon işlemlerinizde mode alanını “T” olarak göndererek test işlemlerinizi gerçekleştirebilirsiniz.
ÖNEMLİ NOT: Test modunda iken ödemeler banka poslarından tahsil edilmez. Test işlemleriniz sonunda gerçek ödeme tahsilatı için mode alanını “P” olarak göndermeyi unutmayınız.

Zorunlu
threeD

3D Secure olmadan gerçekleştirilen ödeme işlemlerinde “false” olarak gönderilmelidir.

Zorunlu
orderId

Mağazanın ilgili sipariş ile ilişkilendirdiği her bir istek için benzersiz olan tekil sipariş kodu. Maksimum Uzunluk: 100 karakter.

Zorunlu
cardOwnerName

Kart üzerindeki ad. Minimum Uzunluk: 4 - Maksimum Uzunluk: 100 karakter.

*
cardNumber

Kart numarası. Minimum Uzunluk: 12 - Maksimum Uzunluk: 19 karakter.

*
cardExpireMonth

Kart son kullanma tarihi ay parametresi Uzunluk: 2 karakter. Örnek; 05,11, vb.

*
cardExpireYear

Kart son kullanma tarihi yıl parametresi. Uzunluk: 2 karakter. Örnek; 14,19, vb.

*
cardCvc

Kartın arkasındaki güvenlik kodu: Uzunluk: MasterCard ve Visa kartları için 3 karakter, Amex kartlar için 3 veya 4 karakter.

*
userId

Mağaza kullanıcısını referans eden bilgi. Maksimum uzunluk 255 karakter.
Cüzdan servisleri ile daha önceden kaydedilmiş olan kayıtlı kart ile tek tıkla ödeme işlemi gerçekleştirilmek istendiğinde gönderilmelidir.

*
cardId

Mağaza kullanıcısının kartını referans eden kart kaydetme işlemi sonucunda oluşan id bilgisi.
Cüzdan servisleri ile daha önceden kaydedilmiş olan kayıtlı kart ile tek tıkla ödeme işlemi gerçekleştirilmek istendiğinde gönderilmelidir.

*
installment

Taksit Sayısı. Minimum Uzunluk: 1 - Maksimum Uzunluk: 2 karakter.Desteklenen taksit sayıları: 1,2,3,4,5,6,7,8,9,10,11,12

Zorunlu
amount

Karttan çekilecek olan toplam sipariş tutarı. Sipariş tutarı kuruş ayracı olmadan gönderilmelidir. Örneğin; 1 TL 100, 12 1200, 130 13000, 1.05 105, 1.2 120 olarak gönderilmelidir.

Zorunlu
echo

Mağazaya istek sonucunda geri gönderilecek bilgi alanıdır. Maksimum Uzunluk: 255.

Opsiyonel
vendorId

iPara tarafından sağlanan altyapı sağlayıcı id bilgisi. Mağaza kendi yazılımını kullanıyor ise bu alan gönderilmemelidir.

Opsiyonel
purchaser

Müşteri Bilgileri. Aşağıdaki tabloda iç parametreleri anlatılmıştır.

Opsiyonel
products

Ürün Bilgileri. Aşağıdaki tabloda iç parametreleri anlatılmıştır.

Zorunlu
Müşteri Bilgileri (Purchaser)
Parametre Adı Açıklama Opsiyonel/Zorunlu
purchaserName

Müşteri isim bilgisi. Minimum Uzunluk: 3 - Maksimum Uzunluk: 50. Zorunlu

Zorunlu
purchaserSurname Müşteri soyisim bilgisi. Minimum Uzunluk: 3 - Maksimum Uzunluk: 50. Zorunlu
purchaserEmail Müşteri e-posta bilgisi. E-posta adresi geçerli bir e-posta adresi olmalıdır. Minimum Uzunluk: 3 - Maksimum Uzunluk: 100. Zorunlu
clientIp Müşteri istemci IP adresi Zorunlu
birthDate Müşteri doğum tarihi bilgisi. “yyyy-MM-dd” formatında olmalıdır. Opsiyonel
gsmNumber Müşteri cep telefonu bilgisi. Opsiyonel
tcCertificate Müşteri T.C. Kimlik Numarası bilgisi. 11 haneli olmalıdır. Opsiyonel
invoiceAddress Fatura adresi bilgileri. Aşağıdaki tabloda iç parametreleri anlatılmıştır. Opsiyonel
shippingAddress Kargo adresi bilgileri.Aşağıdaki tabloda iç parametreleri anlatılmıştır. Opsiyonel
Müşteri Fatura Adresi Bilgileri (invoiceAddress)
Parametre Adı Açıklama Opsiyonel/Zorunlu
name İsim bilgisi. Opsiyonel
surname Soyisim bilgisi. Opsiyonel
address Adres bilgisi. Opsiyonel
zipcode Posta kodu bilgisi. Opsiyonel
city Şehir bilgisi. Opsiyonel
country Ülke bilgisi. ISO 3166-1 alpha-2 standardındaki ülke kodu. Türkiye için “TR”. Opsiyonel
tcCertificate T.C. Kimlik numarası bilgisi. Opsiyonel
taxNumber Vergi numarası bilgisi Opsiyonel
taxOffice Vergi dairesi bilgisi Opsiyonel
companyName Şirket ismi bilgisi Opsiyonel
phoneNumber Telefon bilgisi Opsiyonel
Müşteri Kargo Adresi Bilgileri (shippingAddress)
Parametre Adı Açıklama Opsiyonel/Zorunlu
name İsim bilgisi. Opsiyonel
surname Soyisim bilgisi. Opsiyonel
address Adres bilgisi. Opsiyonel
zipcode Posta kodu bilgisi. Opsiyonel
city Şehir bilgisi. Opsiyonel
country Ülke bilgisi. ISO 3166-1 alpha-2 standardındaki ülke kodu. Türkiye için “TR”. Opsiyonel
phoneNumber Telefon bilgisi Opsiyonel
Ürün Bilgileri (products)
Parametre Adı Açıklama Opsiyonel/Zorunlu
productCode Ürün kodu bilgisi. Opsiyonel
productName Ürün isim bilgisi. Opsiyonel
quantity Ürün adet bilgisi. Opsiyonel
price Ürün birim fiyat bilgisi. Opsiyonel
Önemli NOT: En az bir adet ürün (product) bilgisi gönderimi zorunludur.


Servis Çıktı Parametreleri

Servis Çıktı (Output) Parametreleri
Parametre Adı Açıklama
result

İşlem sonucu
1 - İşlem Başarılı
0 - İşlem Başarısız

errorMessage Hata Mesajı
errorCode Hata Kodu
publicKey Mağaza açık anahtar bilgisi.
echo Mağazanın istek bilgisinde iletmiş olduğu echo verisi.
transactionDate Hash hesaplamasında kullanılacak zaman bilgisi. “yyyy-MM-dd HH:mm:ss“ formatındadır.
mode

İstek modu.
“P” - Gerçek Ödeme
“T” – Test Ödemesi

orderId Mağaza sipariş Id
amount Sipariş toplam tutar bilgisi.
hash “orderId + result + amount + mode + errorCode + errorMessage + transactionDate + publicKey + privateKey” alanlarını birbirlerine, verilen sıra ile ekleyerek, SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda bu değer oluşur.
Not 1: İşlem sonucunda sizlere gönderilen hash bilgisini tarafınıza gelen parametreler ile tekrar hesaplayıp bu alandaki bilgi ile karşılaştırılması gerekmektedir. Eğer aynı hash değeri oluşmuyor ise işlemi reddetmelisiniz. Aksi durumda cevap bilgisi iletiminde üçüncü kişilerin araya girerek sahtekarlık yapabilme olasılığı ortaya çıkacaktır.
Not 2: Hash bilgisi hesaplamasında null olan veriler, String “” olarak hesaplanmıştır.
Not 3: İstek bilgileri içerisinde mağazanın tanımamasından kaynaklı olarak mağaza bilgileri yoksa cevap bilgisinde hash ve transactionDate alanları gönderilmeyecektir.

Örnek Çağrılar


            //Request
            var request = new ApiPaymentRequest();
            request.OrderId = Guid.NewGuid().ToString();
            request.Echo = "Echo";
            request.Mode = settings.Mode;
            request.Amount = "10000"; // 100 tL
            request.CardOwnerName = "";
            request.CardNumber = "";
            request.CardExpireMonth = "";
            request.CardExpireYear = "";
            request.Installment = "1";
            request.Cvc = "";
            request.UserId="123456"; //Kullanıcın sizin sistemdeki ID'si
            request.CardId="0017Wg1W2SZQdDHRD9c5FT3u+SCQ/KuT33lRmpncD2zSaU="; //Kaydedilen Kartın ID'si
            request.ThreeD = "false";
            #region Sipariş veren bilgileri
            request.Purchaser = new Purchaser();
            request.Purchaser.Name = "Murat";
            request.Purchaser.SurName = "Kaya";
            request.Purchaser.BirthDate = "1986-07-11";
            request.Purchaser.Email = "murat@kaya.com";
            request.Purchaser.GsmPhone = "5881231212";
            request.Purchaser.IdentityNumber = "1234567890";
            request.Purchaser.ClientIp = "127.0.0.1";
            #endregion
            #region Fatura bilgileri
            request.Purchaser.InvoiceAddress = new PurchaserAddress();
            request.Purchaser.InvoiceAddress.Name = "Murat";
            request.Purchaser.InvoiceAddress.SurName = "Kaya";
            request.Purchaser.InvoiceAddress.Address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli";
            request.Purchaser.InvoiceAddress.ZipCode = "34782";
            request.Purchaser.InvoiceAddress.CityCode = "34";
            request.Purchaser.InvoiceAddress.IdentityNumber = "1234567890";
            request.Purchaser.InvoiceAddress.CountryCode = "TR";
            request.Purchaser.InvoiceAddress.TaxNumber = "123456";
            request.Purchaser.InvoiceAddress.TaxOffice = "Kozyatağı";
            request.Purchaser.InvoiceAddress.CompanyName = "iPara";
            request.Purchaser.InvoiceAddress.PhoneNumber = "2122222222";
            #endregion
            #region Kargo Adresi bilgileri
            request.Purchaser.ShippingAddress = new PurchaserAddress();
            request.Purchaser.ShippingAddress.Name = "Murat";
            request.Purchaser.ShippingAddress.SurName = "Kaya";
            request.Purchaser.ShippingAddress.Address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli";
            request.Purchaser.ShippingAddress.ZipCode = "34782";
            request.Purchaser.ShippingAddress.CityCode = "34";
            request.Purchaser.ShippingAddress.IdentityNumber = "1234567890";
            request.Purchaser.ShippingAddress.CountryCode = "TR";
            request.Purchaser.ShippingAddress.PhoneNumber = "2122222222";
            #endregion
            #region Ürün bilgileri
            request.Products = new List();
            Product p = new Product();
            p.Title = "Telefon";
            p.Code = "TLF0001";
            p.Price = "5000";
            p.Quantity = 1;
            request.Products.Add(p);
            p = new Product();
            p.Title = "Bilgisayar";
            p.Code = "BLG0001";
            p.Price = "5000";
            p.Quantity = 1;
            request.Products.Add(p);
            #endregion
            ApiPaymentResponse response = ApiPaymentRequest.Execute(request, settings);
                

//request
            ApiPaymentRequest request = new ApiPaymentRequest();
            UUID uuid = UUID.randomUUID();
            request.OrderId = uuid.toString();
            request.echo = "Echo";
            request.mode = settings.Mode;
            request.Amount = "10000"; // 100 tL
            request.CardOwnerName = "";
            request.CardNumber = "";
            request.CardExpireMonth = "";
            request.CardExpireYear = "";
            request.Installment = "1";
            request.Cvc = "";
            request.ThreeD = "false";
            request.UserId="123456"; //Kullanıcın sizin sistemdeki ID'si
            request.CardId="0017Wg1W2SZQdDHRD9c5FT3u+SCQ/KuT33lRmpncD2zSaU="; //Kaydedilen Kartın ID'si
            request.Purchaser = new Purchaser();
            request.Purchaser.Name = "Murat";
            request.Purchaser.SurName = "Kaya";
            request.Purchaser.BirthDate = "1986-07-11";
            request.Purchaser.Email = "murat@kaya.com";
            request.Purchaser.GsmPhone = "5881231212";
            request.Purchaser.IdentityNumber = "1234567890";
            request.Purchaser.ClientIp = "127.0.0.1";
          
            request.Purchaser.InvoiceAddress = new PurchaserAddress();
            request.Purchaser.InvoiceAddress.Name = "Murat";
            request.Purchaser.InvoiceAddress.SurName = "Kaya";
            request.Purchaser.InvoiceAddress.Address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli";
            request.Purchaser.InvoiceAddress.ZipCode = "34782";
            request.Purchaser.InvoiceAddress.CityCode = "34";
            request.Purchaser.InvoiceAddress.IdentityNumber = "1234567890";
            request.Purchaser.InvoiceAddress.CountryCode = "TR";
            request.Purchaser.InvoiceAddress.TaxNumber = "123456";
            request.Purchaser.InvoiceAddress.TaxOffice = "Kozyatağı";
            request.Purchaser.InvoiceAddress.CompanyName = "iPara";
            request.Purchaser.InvoiceAddress.PhoneNumber = "2122222222";
         
            request.Purchaser.ShippingAddress = new PurchaserAddress();
            request.Purchaser.ShippingAddress.Name = "Murat";
            request.Purchaser.ShippingAddress.SurName = "Kaya";
            request.Purchaser.ShippingAddress.Address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli";
            request.Purchaser.ShippingAddress.ZipCode = "34782";
            request.Purchaser.ShippingAddress.CityCode = "34";
            request.Purchaser.ShippingAddress.IdentityNumber = "1234567890";
            request.Purchaser.ShippingAddress.CountryCode = "TR";
            request.Purchaser.ShippingAddress.PhoneNumber = "2122222222";
         
            request.product = new ArrayList();
            Product p = new Product();
            p.Title = "Telefon";
            p.Code = "TLF0001";
            p.Price = "5000";
            p.Quantity = "1";
            request.product.add(p);
            p = new Product();
            p.Title = "Bilgisayar";
            p.Code = "BLG0001";
            p.Price = "5000";
            p.Quantity = "1";
            request.product.add(p);
            ApiPaymentResponse response = ApiPaymentRequest.Execute(request, settings);

                //request
$request = new ApiPaymentRequest();
$request->OrderId = Helper::Guid();
$request->Echo = "Echo";
$request->Mode = $settings->Mode;
$request->Amount = "10000"; // 100 tL
$request->CardOwnerName = "";
$request->CardNumber = "";
$request->CardExpireMonth = "";
$request->CardExpireYear = "";
$request->Installment = "1";
$request->Cvc = "";
$request->UserId="123456"; //Kullanıcın sizin sistemdeki ID'si
$request->CardId="0017Wg1W2SZQdDHRD9c5FT3u+SCQ/KuT33lRmpncD2zSaU="; //Kaydedilen Kartın ID'si
$request->ThreeD = "false";
#region Sipariş veren bilgileri
$request->Purchaser = new Purchaser();
$request->Purchaser->Name = "Murat";
$request->Purchaser->SurName = "Kaya";
$request->Purchaser->BirthDate = "1986-07-11";
$request->Purchaser->Email = "murat@kaya.com";
$request->Purchaser->GsmPhone = "5881231212";
$request->Purchaser->IdentityNumber = "1234567890";
$request->Purchaser->ClientIp = Helper::get_client_ip();
#endregion
#region Fatura bilgileri
$request->Purchaser->InvoiceAddress = new PurchaserAddress();
$request->Purchaser->InvoiceAddress->Name = "Murat";
$request->Purchaser->InvoiceAddress->SurName = "Kaya";
$request->Purchaser->InvoiceAddress->Address = "Mevlüt Pehlivan Mah-> Multinet Plaza Şişli";
$request->Purchaser->InvoiceAddress->ZipCode = "34782";
$request->Purchaser->InvoiceAddress->CityCode = "34";
$request->Purchaser->InvoiceAddress->IdentityNumber = "1234567890";
$request->Purchaser->InvoiceAddress->CountryCode = "TR";
$request->Purchaser->InvoiceAddress->TaxNumber = "123456";
$request->Purchaser->InvoiceAddress->TaxOffice = "Kozyatağı";
$request->Purchaser->InvoiceAddress->CompanyName = "iPara";
$request->Purchaser->InvoiceAddress->PhoneNumber = "2122222222";
#endregion
#region Kargo Adresi bilgileri
$request->Purchaser->ShippingAddress = new PurchaserAddress();
$request->Purchaser->ShippingAddress->Name = "Murat";
$request->Purchaser->ShippingAddress->SurName = "Kaya";
$request->Purchaser->ShippingAddress->Address = "Mevlüt Pehlivan Mah-> Multinet Plaza Şişli";
$request->Purchaser->ShippingAddress->ZipCode = "34782";
$request->Purchaser->ShippingAddress->CityCode = "34";
$request->Purchaser->ShippingAddress->IdentityNumber = "1234567890";
$request->Purchaser->ShippingAddress->CountryCode = "TR";
$request->Purchaser->ShippingAddress->PhoneNumber = "2122222222";
#endregion
#region Ürün bilgileri
$request->Products =  array();
$p = new Product();
$p->Title = "Telefon";
$p->Code = "TLF0001";
$p->Price = "5000";
$p->Quantity = 1;
$request->Products[0]=$p;
$p = new Product();
$p->Title = "Bilgisayar";
$p->Code = "BLG0001";
$p->Price = "5000";
$p->Quantity = 1;
$request->Products[1]=$p;
#endregion
$response=ApiPaymentRequest::execute($request,$settings);   
                
                

//Request

const obj = {
    echo: "",
    amount: "10000",
    publicKey: settings.publicKey,
    orderId: Guid.raw(),
    mode: settings.mode,
    threeD: "false",
    cardId: "0017Wg1W2SZQdDHRD9c5FT3u+SCQ/KuT33lRmpncD2zSaU=",
    userId: "123456",
    cardOwnerName : "",
    cardNumber : "",
    cardExpireMonth : "",
    cardExpireYear : "",
    cardCvc : "",
    installment : "1",
    products: [{
    productName: "Telefon",
    productCode: "TLF0001",
    quantity: "1",
    price: "5000"
    },
    {
    productName: "Bilgisayar",
    productCode: "BIL0002",
    quantity: "1",
    price: "5000"
    }
    ],
    purchaser: {
    birthDate: "1986-07-11",
    gsmNumber: "5881231212",
    tcCertificate: "1234567890",
    name : "Murat",
    surname : "Kaya",
    email : "murat@kaya.com",
    clientIp : "123.58.7.4",
    invoiceAddress: {
    name: "Murat",
    surname: "Kaya",
    address: "Mevlüt Pehlivan Mah. Multinet Plaza Şişli",
    zipcode: "34782",
    city: "34",
    tcCertificate: "12345678901",
    country: "tr",
    taxNumber: "123456890",
    taxOffice: "Şişli",
    companyName: "iPara",
    phoneNumber: "2123886600"
    },
    shippingAddress: {
    name: "Murat",
    surname: "Kaya",
    address: "Mevlüt Pehlivan Mah. Multinet Plaza Şişli",
    zipcode: "34782",
    city: "34",
    country: "tr",
    phoneNumber: "2123886600"
    }
    }
}
 
ipara.ApiPaymentWithWallet(obj).then(results => {
parseString(results, function (err, result) {
if (err) throw new Error(err);
res.json(result)
});
}).catch(err=>{
console.log(err)
})



//Request
    req=Apipaymentrequest.new
    
    req.OrderId = SecureRandom.uuid
    req.Echo = "Echo"
    req.Mode =  @settings.Mode
    req.Amount = "10000" # 100 tL
    req.CardOwnerName =""
    req.CardNumber =""
    req.CardExpireMonth = ""
    req.CardExpireYear = ""
    req.Installment = ""
    req.Cvc = ""
    req.ThreeD = "false"
    req.UserId=params[:userId]
    req.CardId=params[:cardId]
    
    #region Sipariş veren bilgileri
    req.Purchaser = Purchaser.new 
    req.Purchaser.Name = "Murat"
    req.Purchaser.SurName = "Kaya"
    req.Purchaser.BirthDate = "1986-07-11"
    req.Purchaser.Email = "murat@kaya.com"
    req.Purchaser.GsmPhone = "5881231212"
    req.Purchaser.IdentityNumber = "1234567890"
    req.Purchaser.ClientIp = "127.0.0.1"
    #endregion
    #region Fatura bilgileri
    req.Purchaser.Invoiceaddress = Purchaseraddress.new 
    req.Purchaser.Invoiceaddress.Name = "Murat"
    req.Purchaser.Invoiceaddress.SurName = "Kaya"
    req.Purchaser.Invoiceaddress.Address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli"
    req.Purchaser.Invoiceaddress.ZipCode = "34782"
    req.Purchaser.Invoiceaddress.CityCode = "34"
    req.Purchaser.Invoiceaddress.IdentityNumber = "1234567890"
    req.Purchaser.Invoiceaddress.CountryCode = "TR"
    req.Purchaser.Invoiceaddress.TaxNumber = "123456"
    req.Purchaser.Invoiceaddress.TaxOffice = "Kozyatağı"
    req.Purchaser.Invoiceaddress.CompanyName = "iPara"
    req.Purchaser.Invoiceaddress.PhoneNumber = "2122222222"
    #endregion
    #region Kargo Adresi bilgileri
    req.Purchaser.Shippingaddress = Purchaseraddress.new 
    req.Purchaser.Shippingaddress.Name = "Murat"
    req.Purchaser.Shippingaddress.SurName = "Kaya"
    req.Purchaser.Shippingaddress.Address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli"
    req.Purchaser.Shippingaddress.ZipCode = "34782"
    req.Purchaser.Shippingaddress.CityCode = "34"
    req.Purchaser.Shippingaddress.IdentityNumber = "1234567890"
    req.Purchaser.Shippingaddress.CountryCode = "TR"
    req.Purchaser.Shippingaddress.PhoneNumber = "2122222222"
    #endregion
    #region Ürün bilgileri
    req.Products = Array.new()
    p =Product.new 
    p.Title = "Telefon"
    p.Code = "TLF0001"
    p.Price = "5000"
    p.Quantity = 1
    req.Products << p
    p =Product.new 
    p.Title = "Bilgisayar"
    p.Code = "BLG0001"
    p.Price = "5000"
    p.Quantity = 1
    req.Products << p
    #endregion
    @returnData= req.execute(req,@settings)


//Request
        req = ApiPaymentRequest()
        req.OrderId = str(randint(1, 10000))
        req.Echo = "Echo"
        req.Mode = config.Mode
        req.Amount = "10000" #100TL
        req.CardOwnerName = ""
        req.CardNumber = ""
        req.CardExpireMonth = ""
        req.CardExpireYear = ""
        req.Installment = "1"
        req.Cvc = ""
        req.ThreeD = "false"
        req.UserId = request.POST.get('userId') #Kullanıcın sizin sistemdeki ID'si
        req.CardId = request.POST.get('cardId') #Kaydedilen Kartın ID'si
        # Sipariş veren bilgileri
        req.Purchaser = req.PurchaserClass()
        req.Purchaser.name = "Murat"
        req.Purchaser.surname = "Kaya"
        req.Purchaser.birthDate = "1986-07-11"
        req.Purchaser.email = "murat@kaya.com"
        req.Purchaser.gsmPhone = "5889541011"
        req.Purchaser.tcCertificate = "1234567890"
        req.Purchaser.clientIp = "127.0.0.1"
        # Fatura bilgileri
        req.Purchaser.invoiceAddress = req.PurchaserAddress()
        req.Purchaser.invoiceAddress.name = "Murat"
        req.Purchaser.invoiceAddress.surname = "Kaya"
        req.Purchaser.invoiceAddress.address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli"
        req.Purchaser.invoiceAddress.zipCode = "34782"
        req.Purchaser.invoiceAddress.cityCode = "34"
        req.Purchaser.invoiceAddress.tcCertificate = "1234567890"
        req.Purchaser.invoiceAddress.country = "TR"
        req.Purchaser.invoiceAddress.phoneNumber = "2122222222"
        # Kargo adresi bilgileri
        req.Purchaser.shippingAddress = req.PurchaserAddress()
        req.Purchaser.shippingAddress.name = "Murat"
        req.Purchaser.shippingAddress.surname = "Kaya"
        req.Purchaser.shippingAddress.address = "Mevlüt Pehlivan Mah. Multinet Plaza Şişli"
        req.Purchaser.shippingAddress.zipCode = "34782"
        req.Purchaser.shippingAddress.cityCode = "34"
        req.Purchaser.shippingAddress.tcCertificate = "1234567890"
        req.Purchaser.shippingAddress.country = "TR"
        req.Purchaser.shippingAddress.phoneNumber = "2122222222"
        # Ürün Bilgileri
        req.Products = []
        product1 = req.Product()
        product1.title = "Telefon"
        product1.code = "TLF0001"
        product1.price = "5000"
        product1.quantity = "1"
        req.Products.append(product1)
        product2 = req.Product()
        product2.title = "Bilgisayar"
        product2.code = "BLG0001"
        product2.price = "5000"
        product2.quantity = "1"
        req.Products.append(product2)
        # Cüzdandaki kart ile ödeme yapma API çağrısının yapıldığı kısımdır.
        message = req.execute(req, config)

 
            
     //Request 
            <?xml version="1.0" encoding="UTF-8" ?>
<auth>
            <cardOwnerName></cardOwnerName>
            <cardNumber></cardNumber>
            <cardExpireMonth></cardExpireMonth>
            <cardExpireYear></cardExpireYear>
            <cardCvc></cardCvc>
            <cardId>0017Wg1W2SZQdDHRD9c5FT3u+SCQ/KuT33lRmpncD2zSaU=</cardId>
            <userId>123456</userId>        
            <installment>1</installment>
            <threeD>false</threeD>
            <orderId>b3091d88-6320-4446-be6c-7a1f8e6e73c7</orderId>
            <echo>Echo Bilgisi</echo>
            <amount>2500</amount>
            <mode>T</mode>
            <products>
            <product>
            <productCode>Product Code 1</productCode>
            <productName>Product Name 1</productName>
            <quantity>1</quantity>
            <price>1500</price>
                    </product>
            <product>
            <productCode>Product Code 2</productCode>
            <productName>Product Name 2</productName>
            <quantity>1</quantity>
            <price>1000</price>
                     </product>
               </products>
            <purchaser>
            <name>Murat</name>
            <surname>Kaya</surname>
            <email>murat@kaya.com</email>
            <clientIp>123.58.7.4</clientIp>
            <birthDate>1976-07-11</birthDate>
            <gsmNumber>5881231212</gsmNumber>
            <tcCertificate>1234567890</tcCertificate>
            <invoiceAddress>
            <name>Murat</name>
            <surname>Kaya</surname>
            <address>Mevlüt Pehlivan Mah. Multinet Plaza Şişli</address>
            <zipcode>34782</zipcode>
            <city>34</city>
            <tcCertificate>12345678901</tcCertificate>
            <country>tr</country>
            <taxNumber>123456890</taxNumber>
            <taxOffice>Şişli</taxOffice>
            <companyName>iPara</companyName>
            <phoneNumber>2123886600</phoneNumber>
                    </invoiceAddress>
            <shippingAddress>
            <name>Murat</name>
            <surname>Kaya</surname>
            <address>Mevlüt Pehlivan Mah. Multinet Plaza Şişli</address>
            <zipcode>34782</zipcode>
            <city>34</city>
            <country>tr</country>
            <phoneNumber>2123886600</phoneNumber>
                    </shippingAddress>
                </purchaser>
</auth>
//Response
            <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<authResponse>
            <amount>2500</amount>
            <echo>Echo Bilgisi</echo>
            <hash>yO5ACnF9FpsiV2/WBRRsDEBDRt8=</hash>
            <mode>T</mode>
            <orderId>b3091d88-6320-4446-be6c-7a1f8e6e73c7</orderId>
            <publicKey>ABVQ03C77WPTODQN</publicKey>
            <result>1</result>
            <transactionDate>2014-01-03 21:08:51</transactionDate>
</authResponse>