3D ile Ödeme

3D Secure ile ödeme entegrasyon dokümanı

3D Başlatma

post
3D API servisi parametreleri

https://api.weepay.co/Payment/PaymentRequestThreeD
Gönderilecek parametreler Auth, Data, Customer, BillingAddress, ShippingAddress, Products array'leri altında gönderilmelidir. dönen sonuç için Response tabı kontrol edilmelidir. Örnek JSON ve örnek gönderim için aşağıdaki
Request
Response
Request
Path Parameters
Auth
required
array
Auth array altında bayiId, apiKey ve secretKey gönderilir.
bayiId
required
integer
weepay tarafıdan verilen bayiId
apiKey
required
string
weepay tarafından verilen apikey
secretKey
required
string
weepay tarafından verilen secretKey
Body Parameters
Data
required
string
Data array altında gönderilecek parametreler
orderId
required
string
Üye iş yeri sipariş id.
ipAddress
required
string
Alıcıya ait ip adresi.
paidPrice
required
number
Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 35.50)
currency
optional
string
Para birimi TL, USD, EUR, GBP
locale
optional
string
Geri dönüş dili tr,en
installmentNumber
optional
number
Taksit sayısı
preAuth
optional
number
Ön provizyon işlemi için 1 gönderilmelidir.
cardHolderName
required
string
Kredi kartı isim soyisim
cardNumber
required
number
Kredi kartı numarası
expireMonth
required
number
Kredi kartı son kullanım tarihi (ÖRN:12)
expireYear
required
number
Kredi kartı son kullanım yılı (ÖRN: 2024 için 24)
cvcNumber
required
number
Kredi kartı güvenlik numarası (ÖRN:555)
callBackUrl
required
string
İşlemin sonucunun dönüleceği URL adresiniz.
description
optional
string
Sipariş Açıklaması
Customer
required
array
Customer array'i altında gönderilecek bilgiler
customerId
required
string
Üye işyeri tarafındaki alıcıya ait id.
customerName
required
string
Üye işyeri tarafındaki alıcıya ait ad.
customerSurname
required
string
Üye işyeri tarafındaki alıcıya ait soyad.
gsmNumber
required
string
Üye işyeri tarafındaki alıcıya ait GSM numarası.
email
required
string
Üye işyeri tarafındaki alıcıya ait e-posta bilgisi. E-posta adresi alıcıya ait geçerli ve erişilebilir bir adres olmalıdır.
identityNumber
required
number
Üye işyeri tarafındaki alıcıya ait kimlik (TCKN) numarası.
city
required
string
Üye işyeri tarafındaki alıcıya ait şehir bilgisi.
country
required
string
Üye işyeri tarafındaki alıcıya ait ülke bilgisi.
BillingAddress
required
array
BillingAddress array'i altında gönderilecek bilgiler
contactName
required
string
Üye işyeri tarafındaki fatura adresi ad soyad bilgisi.
address
required
string
Üye işyeri tarafındaki fatura adresi.
city
required
string
Üye işyeri tarafındaki fatura adresi şehir bilgisi.
country
required
string
Üye işyeri tarafındaki fatura adresi ülke bilgisi.
district
optional
string
Üye işyeri tarafındaki fatura adresi bölge bilgisi.
zipCode
optional
string
Üye işyeri tarafındaki fatura adresi posta kodu.
ShippingAddress
required
array
SippingAddres array'i altında gönderilecek bilgiler
contactName
optional
array
Üye işyeri tarafındaki teslimat adresi, ad, soyad bilgisi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
address
optional
string
Üye işyeri tarafındaki teslimat adresi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
city
optional
string
Üye işyeri tarafındaki teslimat adresi şehir bilgisi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
country
optional
string
Üye işyeri tarafındaki teslimat adresi ülke bilgisi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
district
optional
string
Üye işyeri tarafındaki fatura adresi bölge bilgisi.
zipCode
optional
string
Üye işyeri tarafındaki teslimat adresi posta kodu.
Products
required
array
Products array'i atında gönderilecek bilgiler
productId
required
string
Üye işyeri tarafındaki ürüne ait id.
productName
required
string
Üye işyeri tarafındaki ürüne ait isim.
productPrice
required
number
Üye işyeri tarafındaki ürünlere ait tutar.tutarlar toplamı paidPrice alanına eşit olmalıdır.
itemType
required
string
Üye işyeri tarafındaki ürüne ait tip. Geçerli enum değerler: PHYSICAL ve VIRTUAL.
Response
200: OK
{
"status":"success",
"threeDSecureUrl":"",
"systemTime":"",
"locale":"tr",
}
400: Bad Request
{
"status":"failure",
"errorCode":"000",
"message":"000",
"error":array(),
"systemTime":"",
"locale":"tr",
}

API servis istek kodları

API servisi için örnek kodları inceleyebilirsiniz.

Örnek Kodlar

  • PHP

  • .NET

  • Java

  • Ruby

  • Phython

  • Node.js

JSON
PHP
Go
Perl
Ruby
Python
Java
Node.js
.NET
JSON
// Request JSON example;
{
"Auth": {
"bayiId":"22",
"apiKey": "XXXXXXXXX",
"secretKey": "XXXXXXXXXXXXXXXX"
},
"Data":{
"orderId":1,
"currency":"TL",
"locale":"tr",
"paidPrice":"0.16",
"ipAddress":"192.168.1.1",
"cardHolderName":"isim Soyisim",
"cardNumber":"555522223333444", // Kart Numarası
"expireMonth":"11", // Son Kullanım Ay
"expireYear":"24", // Son Kullanım Yıl
"cvcNumber":"556",// Kart CVC
"installmentNumber":1, // Uygulanacak Taksit Sayısı
"description":"Açıkalama", // Açıklama
"callBackUrl":"http://Sitem.com/callBack"// Response URL
},
"Customer":{
"customerId":"1", // alıcı müşteri Id
"customerName":"isim", //alıcı ismi
"customerSurname":"soyisim", // alıcı Soyismi
"gsmNumber":"50XXXXXXX",// alıcı cep telefonu
"email":"hello@weepay.co", // alıcı mail
"identityNumber":"112312312313132", // alıcı TC kimlik numarası
"city":"istanbul",// alıcı şehir
"country":"Turkey" // alıcı ülke
},
"BillingAddress": {
"contactName":"isim soyisim",
"address":"Abdurrahman Nafiz Gürman,Mh, G. Ali Rıza Gürcan Cd. No:27",
"city":"istanbul",
"country":"turkey",
"zipCode":34164
},
"ShippingAddress": {
"contactName":"isim soyisim",
"address":"Abdurrahman Nafiz Gürman,Mh, G. Ali Rıza Gürcan Cd. No:27",
"city":"istanbul",
"country":"turkey",
"zipCode":34164
},
"Products":
[
{"productId":"B104A", "name":"ürün bir","productPrice":2.3, "itemType":"PHYSICAL"},
{"productId":"C1087", "name":"ürün iki","productPrice":2.3, "itemType":"PHYSICAL" },
{"productId":"12233352", "name":"ürün üç","productPrice":2.3, "itemType":"PHYSICAL" }
]
}
PHP
//https://github.com/weepay/weepay-php PHP lib.
// composer or weepay initialize Bootstrap
// Auth
$options = new \weepay\Auth();
$options->setBayiID("xxxxxx");// weepay tarafıdan verilen bayiId
$options->setApiKey("xxxx-xxxx-xxx");// weepay tarafıdan verilen apiKey
$options->setSecretKey("xxxxxxx-xxxxxxxxx-xx-xx"); // weepay tarafıdan verilen secretKey
$options->setBaseUrl("https://api.weepay.co");
//Request
$request = new \weepay\Request\CreatePaymentRequestThreeD();
$request->setOrderId('1298');
$request->setIpAddress('192.168.2.1');
$request->setPrice(35.50);
$request->setCurrency(\weepay\Model\Currency::TL);
$request->setLocale(\weepay\Model\Locale::TR);
$request->setDescription('Açıklama Alanı');
$request->setCardHolderName("isim soyisim");
$request->setCardNumber("555555555555555");
$request->setEpireMonth("01");
$request->setExpireYear("22");
$request->setCvcNumber("233");
$request->setCallBackUrl("https://websitem.com/");
$request->setInstallmentNumber(1);
$request->setPaymentGroup(\weepay\Model\PaymentGroup::PRODUCT);
$request->setPaymentChannel(\weepay\Model\PaymentChannel::WEB);
//Customer
$customer = new \weepay\Model\Customer();
$customer->setCustomerId(1235); // Üye işyeri müşteri Id
$customer->setCustomerName("isim"); //Üye işyeri müşteri ismi
$customer->setCustomerSurname("soyisim"); //Üye işyeri müşteri Soyisim
$customer->setGsmNumber("50XXXXXX"); //Üye işyeri müşteri Cep Tel
$customer->setEmail("helo@weepay.co"); //Üye işyeri müşteri ismi
$customer->setIdentityNumber("00032222721"); //Üye işyeri müşteri TC numarası
$customer->setCity("istanbul"); //Üye işyeri müşteri il
$customer->setCountry("turkey");//Üye işyeri müşteri ülke
$request->setCustomer($customer);
//Adresler
// Fatura Adresi
$BillingAddress = new \weepay\Model\Address();
$BillingAddress->setContactName("isim soyisim");
$BillingAddress->setAddress("Abdurrahman Nafiz Gürman,Mh, G. Ali Rıza Gürcan Cd. No:27");
$BillingAddress->setCity("istanbul");
$BillingAddress->setCountry("turkey");
$BillingAddress->setZipCode("34164");
$request->setBillingAddress($BillingAddress);
//Kargo / Teslimat Adresi
$ShippingAddress = new \weepay\Model\Address();
$ShippingAddress->setContactName("isim soyisim");
$ShippingAddress->setAddress("Abdurrahman Nafiz Gürman,Mh, G. Ali Rıza Gürcan Cd. No:27");
$ShippingAddress->setCity("istanbul");
$ShippingAddress->setCountry("turkey");
$ShippingAddress->setZipCode("34164");
$request->setShippingAddress($ShippingAddress);
// Sipariş Ürünleri
$Products = array();
// Birinci Ürün
$firstProducts = new \weepay\Model\Product();
$firstProducts->setName("Ürün Bir");
$firstProducts->setProductId(12344);
$firstProducts->setProductPrice(0.10);
$firstProducts->setItemType(\weepay\Model\ProductType::PHYSICAL);
$Products[0] = $firstProducts;
// İkinci Ürün
$secondProducts = new \weepay\Model\Product();
$secondProducts->setName("Ürün İki");
$secondProducts->setProductId("C550A100");
$secondProducts->setProductPrice(0.10);
$secondProducts->setItemType(\weepay\Model\ProductType::PHYSICAL);
$Products[1] = $secondProducts;
// Üçüncü Ürün
$thirdProducts = new \weepay\Model\Product();
$thirdProducts->setName("Ürün Üç");
$thirdProducts->setProductId("1000");
$thirdProducts->setProductPrice("0.10");
$thirdProducts->setItemType(\weepay\Model\ProductType::PHYSICAL);
$Products[2] = $thirdProducts;
$request->setProducts($Products);
$createPaymentRequest = \weepay\Model\CreatePaymentRequestThreeDInitialize::create($request, $options);
echo "<pre>";
print_r($createPaymentRequest);
echo "</pre>";
Go
Perl
Ruby
Python
Java
Node.js
.NET

API Servisten Dönen Sonuç Örnekleri

Başarılı Sonuç Örneği

threeDSecureUrl alanı altında dönen 3D secure adresi. Kullanıcı, bankadan şifre talep edebilmesi ve SMS ile gelen şifreyi girerek kredi kartı doğrulaması yapabilmesi için bu linke yönlendirilmelidir.

{
"status":"success",
"threeDSecureUrl":"https://api.weepay.co/xxx/xxx",
"systemTime":"",
"locale":"tr",
}

Başarısız Sonuç Örneği

{
"status":"failure",
"errorCode":"000",
"message":"000",
"error":array(),
"systemTime":"",
"locale":"tr",
}

CallBackUrl parametreleri

3D Secure ekranında başarılı şekilde işlem gerçekleştirildiyse belirlemiş olduğunuz CallBackUrl adresinize örnekteki gibi bir POST gönderilmektedir.

Başarılı Sonuç Örneği

{
"paymentStatus":true,// işlemin başarılı olup olmadı true / false
"paymentId":"",//Ödemenin Idsi
"secretKey":"" //secretKey
}

Başarısız Sonuç Örneği

{
"paymentStatus":false,// işlemin başarılı olup olmadı true / false
"secretKey":"" //secretKey
"errorCode":"00",
"message":"ÖRN : 3D onayı alınamadı."
}