# weepay'a Hoşgeldiniz

weepay API dokümantasyonu.

## Başlarken

**weepay** API' internet üzerinden ödeme almanızı sağlayacak şekilde Restful servis odaklı bir mimaride geliştirilmiştir.

{% hint style="info" %}
Sandbox(test) **<https://testapi.weepay.co>** sorgu adresi(baseUrl) ile çalışmaktadır..
{% endhint %}

{% hint style="success" %}
weepay hesabınız yok ise  bu [adresten](https://weepay.co/Account/HesapOlustur) kayıt olabilirsiniz.
{% endhint %}

## Ödeme Formu

[**Ödeme Formu**](/api/odeme-formu-olusturma) hızlı ve kolay bir şekilde ödeme almak için Ödeme formumuzu tercih edebilirsiniz.\
Ödeme formu sizelere bir çok kolaylık sağlar. Kredi kartı bilgileri doğrulama, BIN sorgulama, Taksit Sorgulama, 3D Secure ile ödeme gibi işlemler için ekstra sorgu yapmaya gerek kalmadan tek bir entegrasyon ile işlemler tamamlanır. Taksit seçeneklerinizi weepay panelinden ayarlayabilir ve ödeme sayfanız ile ilgili başlıca istatistikleri edinmiş olursunuz. Web sitenizi tasarımına göre **Popup** veya **Responsive** olarak 2 farklı şekilde kullanabilir veya Ortak ödeme sayfası iframe veya direk yönlendirilerek ödeme alabilirsiniz.

### Kendi Formunuz

**weepay** ile ödeme almak için oluşturduğunuz formunuz üzerinden ödeme ve 3Ds ödeme şeklinde ödeme işlemlerinizi gerçekleştirebilirsiniz formunuz için gerekli standartlar **API** detay sayfasında belirtilmiştir.


# weeLink

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}


# weeClick

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}


# Ödeme Formu Oluşturma

Ödeme Formunuzu kolayca oluşturabilirsiniz.

## Ödeme Formu Başlatma

* [API servisine gönderilmesi gereken parametreler](/api/odeme-formu-olusturma#oedeme-olusturma)
* [Örnek kodlar](/api/odeme-formu-olusturma#api-servisi-istek-oernek-kodlar)
* [API servisinden geri dönen parametreler](/api/odeme-formu-olusturma#api-servisinden-doenen-sonuc-oernekleri)
* [Ödeme servisi kullanım çeşitleri](/api/odeme-formu-olusturma#oedeme-servisi-kullanim-cesitleri)
* [3D dönüşündeki(CallBack) parametreleri](/api/odeme-formu-olusturma#3d-secure-callback-parametreleri)

## Ödeme Oluşturma

<mark style="color:green;">`POST`</mark> `https://api.weepay.co/Payment/PaymentCreate`

Ödeme servisi için gerekli parametreler.

#### Path Parameters

| Name      | Type    | Description                                                |
| --------- | ------- | ---------------------------------------------------------- |
| Auth      | array   | Auth array altında bayiId, apiKey ve secretKey gönderilir. |
| bayiId    | integer | weepay tarafından verilerin bayi id.                       |
| apiKey    | string  | weepay tarafından apiKey.                                  |
| secretKey | string  | weepay tarafından verilen secretKey                        |

#### Request Body

| Name            | Type   | Description                                                                                                                                      |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data            | string | Data array altında gönderilecek parametreler                                                                                                     |
| orderId         | string | Üye iş yeri sipariş id.                                                                                                                          |
| ipAddress       | string | Alıcıya ait ip adresi.                                                                                                                           |
| locale          | string | Geri dönüş dili                                                                                                                                  |
| paidPrice       | number | Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 35.50)                                                                                         |
| currency        | string | Para birimi TL, USD, EUR, GBP                                                                                                                    |
| callBackUrl     | string | İşlemin sonucunun dönüleceği URL adresiniz.                                                                                                      |
| description     | string | Sipariş açıklaması                                                                                                                               |
| Customer        | array  | Customer array altında gönderilecek parametreler                                                                                                 |
| customerId      | string | Üye işyeri tarafındaki alıcıya ait id.                                                                                                           |
| customerName    | string | Üye işyeri tarafındaki alıcıya ait isim bilgisi.                                                                                                 |
| customerSurname | string | Üye işyeri tarafındaki alıcıya ait soyisim bilgisi.                                                                                              |
| gsmNumber       | number | Üye işyeri tarafındaki alıcıya ait gsm bilgisi.                                                                                                  |
| email           | string | Üye işyeri tarafındaki alıcıya ait email bilgisi.                                                                                                |
| identityNumber  | number | Üye işyeri tarafındaki alıcıya ait TCKN.                                                                                                         |
| city            | string | Üye işyeri tarafındaki alıcıya ait şehir bilgisi.                                                                                                |
| country         | string | Üye işyeri tarafındaki alıcıya ait ülke bilgisi.                                                                                                 |
| BillingAddress  | string | BillingAddress array altında gönderilecek parametreler                                                                                           |
| contactName     | string | Üye işyeri tarafındaki fatura adresi ad soyad bilgisi.                                                                                           |
| address         | string | Üye işyeri tarafındaki fatura adresi adres bilgisi.                                                                                              |
| city            | string | Üye işyeri tarafındaki fatura adresi şehir bilgisi.                                                                                              |
| country         | string | Üye işyeri tarafındaki fatura adresi ülke bilgisi.                                                                                               |
| district        | string | Üye işyeri tarafındaki fatura adresi bölge bilgisi.                                                                                              |
| zipCode         | number | Üye işyeri tarafındaki fatura adresi posta kodu.                                                                                                 |
| ShippingAddress | string | SippingAddres array'i altında gönderilecek bilgiler                                                                                              |
| contactName     | string | Ü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         | string | Üye işyeri tarafındaki teslimat adresi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.                    |
| city            | 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         | 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        | number | Üye işyeri tarafındaki fatura adresi bölge bilgisi.                                                                                              |
| zipCode         | string | Üye işyeri tarafındaki teslimat adresi posta kodu.                                                                                               |
| Products        | string | Products array altında gönderilecek parametreler                                                                                                 |
| productId       | string | Üye işyeri tarafındaki ürüne ait id.                                                                                                             |
| name            | string | Üye işyeri tarafındaki ürüne ait isim bilgisi.                                                                                                   |
| productPrice    | number | Üye işyeri tarafındaki ürünlere ait tutar.tutarlar toplamı paidPrice alanına eşit olmalıdır.                                                     |
| itemType        | string | Üye işyeri tarafındaki ürüne ait tip. Geçerli enum değerler: **PHYSICAL** ve **VIRTUAL**.                                                        |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## API servisi istek örnek kodlar

{% tabs %}
{% tab title="Json" %}

```javascript
// 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", 
 "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" }
   ]
}
```

{% endtab %}

{% tab title="PHP" %}

```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\FormInitializeRequest();
$request->setOrderId('11');
$request->setIpAddress('192.168.2.1');
$request->setPrice(0.10);
$request->setCurrency(\weepay\Model\Currency::TL);
$request->setLocale(\weepay\Model\Locale::TR);
$request->setDescription('Açıklama Alanı');
$request->setCallBackUrl('https://websitem.com/callback');
$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);

$checkoutFormInitialize = \weepay\Model\CheckoutFormInitialize::create($request, $options);

echo "<div id='weePay-checkout-form' class='popup'>";
print_r($checkoutFormInitialize);








```

{% endtab %}

{% tab title="Node" %}

```javascript
// https://github.com/weepay/weepay-nodejs node.js SDK.
// npm install weepay-nodejs or Add dependency 'weepay-nodejs' 
// in your package.json file
// check sdk in samples folder CreatePaymentForm.js samples 
// Node.js v12.0.0 or later

const  weepay = require('weepay-nodejs');

weepay.configure({
    bayiId: "bayiId",
    apiKey: "apiKey",
    secretKey: "secretKey",
    baseUrl: "https://test-api.weepay.co"
});

const request = {
    data: {
        orderId: 1,
        ipAddress: "192.168.2.1",
        paidPrice: 0.10,
        currency: Currency.TL,
        locale: Locale.TR,
        description: "Açıklama Alanı",
        callBackUrl: "https://websitem.com/callback",
        paymentGroup: PaymentGroup.PRODUCT,
        paymentChannel: PaymentChannel.WEB
    },
    customer: {
        customerId: 1234,
        customerName: "isim",
        customerSurname: "soyisim",
        gsmNumber: "50XXXXXX",
        email: "helo@weepay.co",
        identityNumber: "00032222721",
        city: "istanbul",
        country: "turkey"
    },
    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: [
        {
            name: "first product",
            productPrice: "30.00",
            itemType: ProductType.PHYSICAL,
            productId: "1234"
        },
        {
            name: "first product",
            productPrice: "30.00",
            itemType: ProductType.PHYSICAL,
            productId: "1234"
        },
    ]
}

weepay.formInitialize(request).then(function (res) {
    if (res.status == "success") {
        console.log(res.CheckoutFormData);
    } else {
        console.log(res.message)
    }
});


```

{% endtab %}

{% tab title="Javascript" %}

```javascript
// check sample :  https://github.com/weepay/weepay-javascript/blob/main/samples/createpayment.html
// import weepay javascript library
var weepay = new weepayInit();

        weepay.configure({
            bayiId: "bayiId",
            apiKey: "apiKey",
            secretKey: "secretKey",
            baseUrl: "https://api.weepay.co"
        })

var request = {
            data: {
                orderId: 1,
                ipAddress: "192.168.2.1",
                paidPrice: 0.10,
                currency: Constants.Currency.TL,
                locale: Constants.Locale.TR,
                description: "Açıklama Alanı",
                cardHolderName: "isim soyisim",
                cardNumber: "555555555555555",
                expireMonth: "01",
                expireYear: "22",
                cvcNumber: "233",
                installmentNumber: 1,
                paymentGroup: Constants.PaymentGroup.PRODUCT,
                paymentChannel: Constants.PaymentChannel.WEB
            },
            customer: {
                customerId: 1234,
                customerName: "isim",
                customerSurname: "soyisim",
                gsmNumber: "50XXXXXX",
                email: "helo@weepay.co",
                identityNumber: "00032222721",
                city: "istanbul",
                country: "turkey"
            },
            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: [
                {
                    name: "first product",
                    productPrice: "30.00",
                    itemType: Constants.ProductType.PHYSICAL,
                    productId: "1234"
                },
                {
                    name: "first product",
                    productPrice: "30.00",
                    itemType: Constants.ProductType.PHYSICAL,
                    productId: "1234"
                },
            ]
        }

weepay.createPayment(request, function (response) {
            if (response.status == "failure") {
                console.log(response.message);
            } else {
                console.log(response)
            }
        });
```

{% endtab %}

{% tab title="Java" %}

```java
// https://github.com/weepay/weepay-java java SDK.
// if you use maven, if not check github page others installation
//<dependency>
// <groupId>co.weepay</groupId>
// <artifactId>weepay-java</artifactId>
// <version>1.0.0</version>
//</dependency>
// check sdk in samples folder CreatePaymentForm.txt samples 
// java  1.7 or later

    //Auth
    Auth options = new Auth();

    options.setBayiId(bayiId);
    options.setApiKey("apiKey");
    options.setSecretKey("secretKey");
    options.setBaseUrl("https://api.weepay.co");

    // Request
    FormInitializeRequest request = new FormInitializeRequest();
    request.setOptions(options);
    request.setOrderId("1");
    request.setIpAddress("192.168.1.2");
    request.setPrice(35.50);
    request.setCurrency(Currency.TL.name());
    request.setLocale(Locale.TR.getValue());
    request.setDescription("Açıklama Alanı");
    request.setCallBackUrl("https://websitem.com/callback");
    request.setInstallmentNumber(1);
    request.setPaymentGroup(PaymentGroup.PRODUCT.name());
    request.setPaymentChannel(PaymentChannel.WEB.name());

    // Customer
    Customer customer = new Customer();
    customer.setCustomerId(1);
    customer.setCustomerName("isim");
    customer.setCustomerSurname("soyisim");
    customer.setGsmNumber("50XXXXXX");
    customer.setEmail("hello@weepay.co");
    customer.setIdentityNumber("00032222721");
    customer.setCity("istanbul");
    customer.setCountry("turkey");
    request.setCustomer(customer);

    // Address
    // Billing Address
    Address billingAddress = new Address();
    billingAddress.setContactName("isim soyisim");
    billingAddress.setAddress("address");
    billingAddress.setCity("city");
    billingAddress.setCountry("turkey");
    billingAddress.setZipCode("34164");
    request.setBillingAddress(billingAddress);

    // Address
    // Shipping Address
    Address shippingAddress = new Address();
    shippingAddress.setContactName("isim soyisim");
    shippingAddress.setAddress("address");
    shippingAddress.setCity("city");
    shippingAddress.setCountry("turkey");
    shippingAddress.setZipCode("34164");
    request.setShippingAddress(shippingAddress);

    // Products
    // First Product
    List<Product> products = new ArrayList<Product>();
    Product firstProduct = new Product();
    firstProduct.setName("Ürün bir");
    firstProduct.setProductId(1234);
    firstProduct.setProductPrice(0.10);
    firstProduct.setItemType(ProductType.PHYSICAL.name());
    products.add(firstProduct);

    // Second Product
    Product secondProduct = new Product();
    secondProduct.setName("Ürün iki");
    secondProduct.setProductId(4567);
    secondProduct.setProductPrice(0.10);
    secondProduct.setItemType(ProductType.PHYSICAL.name());
    products.add(secondProduct);
    request.setProducts(products);

    CheckoutFormInitialize payment = CheckoutFormInitialize.create(request, options);
    System.out.println(payment.getCheckoutFormData());
```

{% endtab %}
{% endtabs %}

## API Servisinden Dönen Sonuç Örnekleri

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

```javascript
{
"CheckoutFormData":"html data",
"status":"success",
"paymentPageUrl":"Ortak Ödeme Sayfası linki"
}
```

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

```javascript
{
"status":"failure",
"errorCode":"030",
"error":"array()",
"message":"Hata Mesajı" 
}
```

## Ödeme Servisi Kullanım Çeşitleri

* Ödeme Formu Popup
* Ödeme Formu Responsive
* Ödeme Sayfası
* Ödeme Sayfası iFrame

### Ödeme Formu Kullanım Şekilleri

{% code title="Response" %}

```markup
Response olarak dönen CheckOutFormData nesnesi 2 farklı şekilde kullanılır.
<div id='weePay-checkout-form' class='popup'> // Popup Form
<div id='weePay-checkout-form' class='responsive'> // Responsive Form



```

{% endcode %}

### Ortak Ödeme Sayfası Kullanım Şekilleri

```markup
// Ortak Ödeme Sayfası

// Ödeme response ile gelen paymentPageUrl 
// alanındaki adrese Yönlendirme yapabilirinz
// Örnek Adres 
# https://api.weepay.co/GuvenliOdeme/Payment/xxxx-xxx-xxx-xxxxxx
```

### iframe Ortak Ödeme Sayfası&#x20;

```markup
// iframe ortak ödeme sayfası için
// Ödeme response ile gelen paymentPageUrl ortak ödeme URL'nin sonuna 
// get parametresi olarak iframe değeri true olarak gönderilir.
// Script tagları içerisine iframe resizer kullanarak iframe sorunsuz olarak kullanılır.

<iframe src="https://api.weepay.co/GuvenliOdeme/Payment/xxxx-xxx-xxx-xxxxxx?iframe=true"
id="weepayiframe" style="width: 100%;" frameborder="0" scrolling="no"></iframe>
<script src="https://service.weepay.co/assets/js/iframe-resizer.js"></script>
```

## 3D Secure (CallBack) Parametreleri

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

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

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

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

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

CallBack URL POST olarak işlem sonucu gönderilir. İşlem sonucu başarılı ise [Ödeme Detay](https://developer.weepay.co/api/oedeme-detayi) servisimizi kullanarak ödemenin başarılı olup olmadığını tekrar kontrol ediniz.


# Ödeme Servis API (Kendi Formunuz)

3D secure ile ödeme için üye işyeri kendi ödeme formunu kullanır. Bu form üzerindeki kontrolleri ve kuralları uygulaması gerekir.

## Uyulması Gereken Kurallar

* Kredi kartı bilgileri luhn algoritmasına göre gönderilmelidir.
* Kart sahibinin adı soyadı alınmalıdır.
* API hizmetimiz amex kredi kartı desteklemektedir.
* Kendi formunuz için taksit sorgulama yapılabilmektedir.

{% hint style="info" %}
Tüm **TROY**, **MASTERCARD**, **VISA**, **AMEX**, **MAESTRO** logolu kartlarla işlem yapabilirsiniz!
{% endhint %}

{% hint style="info" %}
**Axess, Bonus, World, Maximum, Paraf, CardFinans, Combo**  taksit programlarına dahil kartlar için **12** taksit seçenekleri kullanılabilir.
{% endhint %}

{% content-ref url="/pages/-M2DuzhB2V-BEpHK9wEs" %}
[3D ile Ödeme](/api/odeme-servisi-kendi-formunuz/3d-ile-odeme)
{% endcontent-ref %}


# 3D ile Ödeme

3D Secure ile ödeme entegrasyon dokümanı

## 3D Başlatma

* [API Servisine gönderilmesi gereken parametreler](/api/odeme-servisi-kendi-formunuz/3d-ile-odeme#3d-api-servisi-parametreleri)
* [Örnek Kodlar](/api/odeme-servisi-kendi-formunuz/3d-ile-odeme#api-servis-istek-kodlari)
* [API Servisinden geri dönen parametreler](/api/odeme-servisi-kendi-formunuz/3d-ile-odeme#api-servisten-doenen-sonuc-oernekleri)
* [3D dönüşündeki(CallBack) parametreler](/api/odeme-servisi-kendi-formunuz/3d-ile-odeme#callbackurl-parametreleri)

## 3D API servisi parametreleri

<mark style="color:green;">`POST`</mark> `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&#x20;

#### Path Parameters

| Name      | Type    | Description                                                |
| --------- | ------- | ---------------------------------------------------------- |
| Auth      | array   | Auth array altında bayiId, apiKey ve secretKey gönderilir. |
| bayiId    | integer | weepay tarafıdan verilen bayiId                            |
| apiKey    | string  | weepay tarafından verilen apikey                           |
| secretKey | string  | weepay tarafından verilen secretKey                        |

#### Request Body

| Name              | Type   | Description                                                                                                                                      |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data              | string | Data array altında gönderilecek parametreler                                                                                                     |
| orderId           | string | Üye iş yeri sipariş id.                                                                                                                          |
| ipAddress         | string | Alıcıya ait ip adresi.                                                                                                                           |
| paidPrice         | number | Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 35.50)                                                                                         |
| currency          | string | Para birimi TL, USD, EUR, GBP                                                                                                                    |
| locale            | string | Geri dönüş dili tr,en                                                                                                                            |
| installmentNumber | number | Taksit sayısı                                                                                                                                    |
| preAuth           | number | Ön provizyon işlemi için 1 gönderilmelidir.                                                                                                      |
| cardHolderName    | string | Kredi kartı isim soyisim                                                                                                                         |
| cardNumber        | number | Kredi kartı  numarası                                                                                                                            |
| expireMonth       | number | Kredi kartı son kullanım tarihi (ÖRN:12)                                                                                                         |
| expireYear        | number | Kredi kartı son kullanım yılı (ÖRN: 2024 için 24)                                                                                                |
| cvcNumber         | number | Kredi kartı güvenlik numarası (ÖRN:555)                                                                                                          |
| callBackUrl       | string | İşlemin sonucunun dönüleceği URL adresiniz.                                                                                                      |
| description       | string | Sipariş Açıklaması                                                                                                                               |
| Customer          | array  | Customer array'i altında gönderilecek bilgiler                                                                                                   |
| customerId        | string | Üye işyeri tarafındaki alıcıya ait id.                                                                                                           |
| customerName      | string | Üye işyeri tarafındaki alıcıya ait ad.                                                                                                           |
| customerSurname   | string | Üye işyeri tarafındaki alıcıya ait soyad.                                                                                                        |
| gsmNumber         | string | Üye işyeri tarafındaki alıcıya ait GSM numarası.                                                                                                 |
| email             | 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    | number | Üye işyeri tarafındaki alıcıya ait kimlik (TCKN) numarası.                                                                                       |
| city              | string | Üye işyeri tarafındaki alıcıya ait şehir bilgisi.                                                                                                |
| country           | string | Üye işyeri tarafındaki alıcıya ait ülke bilgisi.                                                                                                 |
| BillingAddress    | array  | BillingAddress array'i altında gönderilecek bilgiler                                                                                             |
| contactName       | string | Üye işyeri tarafındaki fatura adresi ad soyad bilgisi.                                                                                           |
| address           | string | Üye işyeri tarafındaki fatura adresi.                                                                                                            |
| city              | string | Üye işyeri tarafındaki fatura adresi şehir bilgisi.                                                                                              |
| country           | string | Üye işyeri tarafındaki fatura adresi ülke bilgisi.                                                                                               |
| district          | string | Üye işyeri tarafındaki fatura adresi bölge bilgisi.                                                                                              |
| zipCode           | string | Üye işyeri tarafındaki fatura adresi posta kodu.                                                                                                 |
| ShippingAddress   | array  | SippingAddres array'i altında gönderilecek bilgiler                                                                                              |
| contactName       | 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           | string | Üye işyeri tarafındaki teslimat adresi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.                    |
| city              | 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           | 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          | string | Üye işyeri tarafındaki fatura adresi bölge bilgisi.                                                                                              |
| zipCode           | string | Üye işyeri tarafındaki teslimat adresi posta kodu.                                                                                               |
| Products          | array  | Products array'i atında gönderilecek bilgiler                                                                                                    |
| productId         | string | Üye işyeri tarafındaki ürüne ait id.                                                                                                             |
| name              | string | Üye işyeri tarafındaki ürüne ait isim.                                                                                                           |
| productPrice      | number | Üye işyeri tarafındaki ürünlere ait tutar.tutarlar toplamı paidPrice alanına eşit olmalıdır.                                                     |
| itemType          | string | Üye işyeri tarafındaki ürüne ait tip. Geçerli enum değerler: **PHYSICAL** ve **VIRTUAL**.                                                        |

{% tabs %}
{% tab title="200 " %}

```javascript
{
"status":"success",
"threeDSecureUrl":"",
"systemTime":"",
"locale":"tr",
}
```

{% endtab %}

{% tab title="400 " %}

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

{% endtab %}
{% endtabs %}

### API servis istek kodları

API servisi için örnek kodları inceleyebilirsiniz.

#### Örnek Kodlar

* PHP
* .NET
* Java
* Ruby
* Phython
* Node.js

{% tabs %}
{% tab title="JSON" %}

```javascript
// 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" }
   ]
}
```

{% endtab %}

{% tab title="PHP" %}

```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>";



```

{% endtab %}

{% tab title="Node" %}

```javascript
// https://github.com/weepay/weepay-nodejs node.js SDK.
// npm install weepay-nodejs or Add dependency 'weepay-nodejs' 
// in your package.json file
// check sdk in samples folder CreatePaymentForm.js samples 
// Node.js v12.0.0 or later

const  weepay = require('weepay-nodejs');

weepay.configure({
    bayiId: "bayi-id",
    apiKey: "apiKey",
    secretKey: "secretKey",
    baseUrl: "https://test-api.weepay.co"
});

const request = {
    data: {
        orderId: 1,
        ipAddress: "192.168.2.1",
        paidPrice: 0.10,
        currency: Currency.TL,
        locale: Locale.TR,
        description: "Açıklama Alanı",
        cardHolderName: "isim soyisim",
        cardNumber: "555555555555555",
        expireMonth: "01",
        expireYear: "22",
        cvcNumber: "233",
        callBackUrl: "https://websitem.com/callback",
        installmentNumber: 1,
        paymentGroup: PaymentGroup.PRODUCT,
        paymentChannel: PaymentChannel.WEB
    },
    customer: {
        customerId: 1234,
        customerName: "isim",
        customerSurname: "soyisim",
        gsmNumber: "50XXXXXX",
        email: "helo@weepay.co",
        identityNumber: "00032222721",
        city: "istanbul",
        country: "turkey"
    },
    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: [
        {
            name: "first product",
            productPrice: "30.00",
            itemType: ProductType.PHYSICAL,
            productId: "1234"
        },
        {
            name: "first product",
            productPrice: "30.00",
            itemType: ProductType.PHYSICAL,
            productId: "1234"
        },
    ]
}

weepay.createPayment3d(request).then(function (res) {
    if (res.status == "success") {
        console.log(res.threeDSecureUrl);
    } else {
        console.log(res.message)
    }
});
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
 //import weepay javascript library
 // check sample: https://github.com/weepay/weepay-javascript/blob/main/samples/createpayment3d.html
 var weepay = new weepayInit();

        weepay.configure({
            bayiId: "bayi-id",
            apiKey: "apiKey",
            secretKey: "secretKey",
            baseUrl: "https://api.weepay.co"
        })

var request = {
            data: {
                orderId: 1,
                ipAddress: "192.168.2.1",
                paidPrice: 0.10,
                currency: Constants.Currency.TL,
                locale: Constants.Locale.TR,
                description: "Açıklama Alanı",
                cardHolderName: "isim soyisim",
                cardNumber: "555555555555555",
                expireMonth: "01",
                expireYear: "22",
                cvcNumber: "233",
                callBackUrl: "https://websitem.com/callback",
                installmentNumber: 1,
                paymentGroup: Constants.PaymentGroup.PRODUCT,
                paymentChannel: Constants.PaymentChannel.WEB
            },
            customer: {
                customerId: 1234,
                customerName: "isim",
                customerSurname: "soyisim",
                gsmNumber: "50XXXXXX",
                email: "helo@weepay.co",
                identityNumber: "00032222721",
                city: "istanbul",
                country: "turkey"
            },
            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: [
                {
                    name: "first product",
                    productPrice: "30.00",
                    itemType: Constants.ProductType.PHYSICAL,
                    productId: "1234"
                },
                {
                    name: "first product",
                    productPrice: "30.00",
                    itemType: Constants.ProductType.PHYSICAL,
                    productId: "1234"
                },
            ]
        }

weepay.createPayment3d(request, function (response) {
            if (response.status == "failure") {
                console.log(response.message);
            } else {
                console.log(response.threeDSecureUrl)
                window.location.href = response.threeDSecureUrl;
            }
        });
```

{% endtab %}

{% tab title="Java" %}

```java
// https://github.com/weepay/weepay-java java SDK.
// if you use maven, if not check github page others installation
//<dependency>
// <groupId>co.weepay</groupId>
// <artifactId>weepay-java</artifactId>
// <version>1.0.0</version>
//</dependency>
// check sdk in samples folder CreatePayment3d.txt samples 
// java  1.7 or later

    //Auth
    Auth options = new Auth();

    options.setBayiId(bayiId);
    options.setApiKey("apiKey");
    options.setSecretKey("secretKey");
    options.setBaseUrl("https://api.weepay.co");

    // Request
    CreatePaymentRequestThreeD request = new CreatePaymentRequestThreeD();
    request.setOptions(options);
    request.setOrderId("1");
    request.setIpAddress("192.168.1.2");
    request.setPrice(35.50);
    request.setCurrency(Currency.TL.name());
    request.setLocale(Locale.TR.getValue());
    request.setDescription("Açıklama Alanı");
    request.setCardHolderName("isim soyisim");
    request.setCardNumber("555555555555555");
    request.setExpireMonth("01");
    request.setExpireYear("22");
    request.setCvcNumber("223");
    request.setCallBackUrl("https://websitem.com/callback");
    request.setInstallmentNumber(1);
    request.setPaymentGroup(PaymentGroup.PRODUCT.name());
    request.setPaymentChannel(PaymentChannel.WEB.name());

    // Customer
    Customer customer = new Customer();
    customer.setCustomerId(1);
    customer.setCustomerName("isim");
    customer.setCustomerSurname("soyisim");
    customer.setGsmNumber("50XXXXXX");
    customer.setEmail("hello@weepay.co");
    customer.setIdentityNumber("00032222721");
    customer.setCity("istanbul");
    customer.setCountry("turkey");
    request.setCustomer(customer);

    // Address
    // Billing Address
    Address billingAddress = new Address();
    billingAddress.setContactName("isim soyisim");
    billingAddress.setAddress("address");
    billingAddress.setCity("city");
    billingAddress.setCountry("turkey");
    billingAddress.setZipCode("34164");
    request.setBillingAddress(billingAddress);

    // Address
    // Shipping Address
    Address shippingAddress = new Address();
    shippingAddress.setContactName("isim soyisim");
    shippingAddress.setAddress("address");
    shippingAddress.setCity("city");
    shippingAddress.setCountry("turkey");
    shippingAddress.setZipCode("34164");
    request.setShippingAddress(shippingAddress);

    // Products
    // First Product
    List<Product> products = new ArrayList<Product>();
    Product firstProduct = new Product();
    firstProduct.setName("Ürün bir");
    firstProduct.setProductId(1234);
    firstProduct.setProductPrice(0.10);
    firstProduct.setItemType(ProductType.PHYSICAL.name());
    products.add(firstProduct);

    // Second Product
    Product secondProduct = new Product();
    secondProduct.setName("Ürün iki");
    secondProduct.setProductId(4567);
    secondProduct.setProductPrice(0.10);
    secondProduct.setItemType(ProductType.PHYSICAL.name());
    products.add(secondProduct);
    request.setProducts(products);

    CreatePaymentRequestThreeDInitialize payment = CreatePaymentRequestThreeDInitialize.create(request, options);
    System.out.println(payment.getThreeDSecureUrl());

```

{% endtab %}

{% tab title="Ruby" %}

```ruby
```

{% endtab %}

{% tab title="Python" %}

```python
```

{% endtab %}

{% tab title="Go" %}

```javascript
```

{% endtab %}

{% tab title=".NET" %}

```aspnet
```

{% endtab %}
{% endtabs %}

## 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.

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

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

```javascript
{
"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

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

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

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

##


# Ödeme

3D secure olmadan ödeme entegrasyon dokümanı

## Ödeme Başlatma

* API servisine gönderilmesi gereken parametreler
* Örnek kodlar
* API servisinden dönen parametreler

## Ödeme Servisi Parametreleri

<mark style="color:green;">`POST`</mark> `https://api.weepay.co/Payment/PaymentRequest`

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 örnek kodlar bölümünü inceleyebilirsiniz.<br>

#### Path Parameters

| Name      | Type    | Description                                                |
| --------- | ------- | ---------------------------------------------------------- |
| Auth      | array   | Auth array altında bayiId, apiKey ve secretKey gönderilir. |
| bayiId    | integer | weepay tarafından verilen bayiId                           |
| apiKey    | string  | weepay tarafından verilen apiKey                           |
| secretKey | string  | weepay tarafından verilen secretKey                        |

#### Request Body

| Name              | Type    | Description                                                                                                                                      |
| ----------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data              | array   | Data array altında gönderilecek parametreler                                                                                                     |
| orderId           | string  | Üye iş yeri sipariş id.                                                                                                                          |
| ipAddress         | string  | Alıcıya ait ip adresi.                                                                                                                           |
| paidPrice         | number  | Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 35.50)                                                                                         |
| currency          | string  | Para birimi TL, USD, EUR, GBP                                                                                                                    |
| locale            | string  | Geri dönüş dili tr,en                                                                                                                            |
| installmentNumber | integer | Taksit sayısı                                                                                                                                    |
| preAuth           | integer | Ön provizyon işlemi için 1 gönderilmelidir                                                                                                       |
| cardHolderName    | string  | Kart sahibinin adı soyadı                                                                                                                        |
| cardNumber        | number  | Kart numarası                                                                                                                                    |
| expireMonth       | number  | Kredi kartı son kullanım ay (ÖRN : 12)                                                                                                           |
| expireYear        | number  | Kredi kartı son kullanım  yılı (ÖRN 2024 için 24)                                                                                                |
| cvcNumber         | number  | Kredi Kartı güvenlik numarası                                                                                                                    |
| description       | string  | Sipariş açıklaması                                                                                                                               |
| Customer          | string  | Customer array altında gönderilecek parametreler                                                                                                 |
| customerId        | string  | Üye işyeri tarafındaki alıcıya ait id.                                                                                                           |
| customerName      | string  | Üye işyeri tarafındaki alıcıya ait ad.                                                                                                           |
| customerSurname   | string  | Üye işyeri tarafındaki alıcıya ait ad.                                                                                                           |
| gsmNumber         | number  | Üye işyeri tarafındaki alıcıya ait gsm no.                                                                                                       |
| email             | string  | Üye işyeri tarafındaki alıcıya ait email.                                                                                                        |
| identityNumber    | number  | Üye işyeri tarafındaki alıcıya ait kimlik (TCKN) numarası.                                                                                       |
| city              | string  | Üye işyeri tarafındaki alıcıya ait şehir bilgisi.                                                                                                |
| country           | string  | Üye işyeri tarafındaki alıcıya ait ülke bilgisi.                                                                                                 |
| BillingAddress    | string  | BillingAddress array altında gönderilecek parametreler                                                                                           |
| contactName       | string  | Üye işyeri tarafındaki fatura adresi ad soyad bilgisi.                                                                                           |
| address           | string  | Üye işyeri tarafındaki fatura adresi.                                                                                                            |
| city              | string  | Üye işyeri tarafındaki fatura adresi şehir bilgisi.                                                                                              |
| country           | string  | Üye işyeri tarafındaki fatura adresi ülke bilgisi.                                                                                               |
| district          | string  | Üye işyeri tarafındaki fatura adresi bölge bilgisi.                                                                                              |
| zipCode           | number  | Üye işyeri tarafındaki fatura adresi posta kodu.                                                                                                 |
| ShippingAddress   | string  | ShippingAddress array altında gönderilecek parametreler                                                                                          |
| contactName       | string  | Ü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           | string  | Üye işyeri tarafındaki teslimat adresi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.                    |
| city              | 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           | 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          | string  | Üye işyeri tarafındaki teslimat adresi bölge bilgisi.                                                                                            |
| zipCode           | number  | Üye işyeri tarafındaki teslimat adresi posta kodu.                                                                                               |
| Products          | string  | Products array altında gönderilecek parametreler                                                                                                 |
| productId         | string  | Üye işyeri tarafındaki sepetteki ürüne ait id.                                                                                                   |
| name              | string  | Üye işyeri tarafındaki sepetteki ürüne ait isim.                                                                                                 |
| productPrice      | number  | Üye işyeri tarafındaki sepetteki ürüne ait tutar. tutarlar toplamı sepet tutarına (paidPrice) eşit olmalıdır.                                    |
| itemType          | string  | Üye işyeri tarafındaki sepetteki ürüne ait tip. Geçerli enum değerler: PHYSICAL ve VIRTUAL.                                                      |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## API servisi istek kodları

Servis için örnek kodlar

* PHP
* .NET
* Java
* Ruby
* Phython
* Node.js

{% tabs %}
{% tab title="JSON" %}

```javascript
// 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
},
"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" }
   ]
}
```

{% endtab %}

{% tab title="PHP" %}

```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\CreatePaymentRequest();

$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->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\CreatePaymentRequestInitialize::create($request, $options);

echo "<pre>";
print_r($createPaymentRequest);
echo "</pre>";
```

{% endtab %}

{% tab title="Node" %}

```javascript
// npm install weepay-nodejs or Add dependency 'weepay-nodejs' 
// in your package.json file
// check sdk in samples folder CreatePaymentForm.js samples 
// Node.js v12.0.0 or later

const  weepay = require('weepay-nodejs');

weepay.configure({
    bayiId: "bayi-id",
    apiKey: "apiKey",
    secretKey: "secretKey",
    baseUrl: "https://test-api.weepay.co"
});

const request = {
    data: {
        orderId: 1,
        ipAddress: "192.168.2.1",
        paidPrice: 0.10,
        currency: Currency.TL,
        locale: Locale.TR,
        description: "Açıklama Alanı",
        cardHolderName: "isim soyisim",
        cardNumber: "555555555555555",
        expireMonth: "01",
        expireYear: "22",
        cvcNumber: "233",
        installmentNumber: 1,
        paymentGroup: PaymentGroup.PRODUCT,
        paymentChannel: PaymentChannel.WEB
    },
    customer: {
        customerId: 1234,
        customerName: "isim",
        customerSurname: "soyisim",
        gsmNumber: "50XXXXXX",
        email: "helo@weepay.co",
        identityNumber: "00032222721",
        city: "istanbul",
        country: "turkey"
    },
    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: [
        {
            name: "first product",
            productPrice: "30.00",
            itemType: ProductType.PHYSICAL,
            productId: "1234"
        },
        {
            name: "first product",
            productPrice: "30.00",
            itemType: ProductType.PHYSICAL,
            productId: "1234"
        },
    ]
}

weepay.createPayment(request).then(function (res) {
    if (res.status == "success") {
        console.log(res);
    } else {
        console.log(res.message)
    }
});
```

{% endtab %}

{% tab title="Javascript" %}

```javascript
// import weepay javascript library
// check sample : https://github.com/weepay/weepay-javascript/blob/main/samples/createpayment.html
var weepay = new weepayInit();

        weepay.configure({
            bayiId: "bayiId",
            apiKey: "apiKey",
            secretKey: "secretKey",
            baseUrl: "https://api.weepay.co"
        })

var request = {
            data: {
                orderId: 1,
                ipAddress: "192.168.2.1",
                paidPrice: 0.10,
                currency: Constants.Currency.TL,
                locale: Constants.Locale.TR,
                description: "Açıklama Alanı",
                cardHolderName: "isim soyisim",
                cardNumber: "555555555555555",
                expireMonth: "01",
                expireYear: "22",
                cvcNumber: "233",
                installmentNumber: 1,
                paymentGroup: Constants.PaymentGroup.PRODUCT,
                paymentChannel: Constants.PaymentChannel.WEB
            },
            customer: {
                customerId: 1234,
                customerName: "isim",
                customerSurname: "soyisim",
                gsmNumber: "50XXXXXX",
                email: "helo@weepay.co",
                identityNumber: "00032222721",
                city: "istanbul",
                country: "turkey"
            },
            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: [
                {
                    name: "first product",
                    productPrice: "30.00",
                    itemType: Constants.ProductType.PHYSICAL,
                    productId: "1234"
                },
                {
                    name: "first product",
                    productPrice: "30.00",
                    itemType: Constants.ProductType.PHYSICAL,
                    productId: "1234"
                },
            ]
        }

weepay.createPayment(request, function (response) {
            if (response.status == "failure") {
                console.log(response.message);
            } else {
                console.log(response)
            }
        });
```

{% endtab %}

{% tab title="Java" %}

```java
// https://github.com/weepay/weepay-java java SDK.
// if you use maven, if not check github page others installation
//<dependency>
// <groupId>co.weepay</groupId>
// <artifactId>weepay-java</artifactId>
// <version>1.0.0</version>
//</dependency>
// check sdk in samples folder CreatePayment.txt samples 
// java  1.7 or later
    //Auth
    Auth options = new Auth();

    options.setBayiId(bayiId);
    options.setApiKey("apiKey");
    options.setSecretKey("secretKey");
    options.setBaseUrl("https://api.weepay.co");

    // Request
    CreatePaymentRequest request = new CreatePaymentRequest();
    request.setOptions(options);
    request.setOrderId("1");
    request.setIpAddress("192.168.1.2");
    request.setPaidPrice(35.50);
    request.setCurrency(Currency.TL.name());
    request.setDescription("Açıklama Alanı");
    request.setCardHolderName("isim soyisim");
    request.setCardNumber("555555555555555");
    request.setexpireMonth("01");
    request.setExpireYear("22");
    request.setCvcNumber("223");
    request.setInstallmentNumber(1);
    request.setPaymentGroup(PaymentGroup.PRODUCT.name());
    request.setPaymentChannel(PaymentChannel.WEB.name());

    // Customer
    Customer customer = new Customer();
    customer.setCustomerId(1);
    customer.setCustomerName("isim");
    customer.setCustomerSurname("soyisim");
    customer.setGsmNumber("50XXXXXX");
    customer.setEmail("hello@weepay.co");
    customer.setIdentityNumber("00032222721");
    customer.setCity("istanbul");
    customer.setCountry("turkey");
    request.setCustomer(customer);

    // Address
    // Billing Address
    Address billingAddress = new Address();
    billingAddress.setContactName("isim soyisim");
    billingAddress.setAddress("address");
    billingAddress.setCity("city");
    billingAddress.setCountry("turkey");
    billingAddress.setZipCode("34164");
    request.setBillingAddress(billingAddress);

    // Address
    // Shipping Address
    Address shippingAddress = new Address();
    shippingAddress.setContactName("isim soyisim");
    shippingAddress.setAddress("address");
    shippingAddress.setCity("city");
    shippingAddress.setCountry("turkey");
    shippingAddress.setZipCode("34164");
    request.setShippingAddress(shippingAddress);

    // Products
    // First Product
    List<Product> products = new ArrayList<Product>();
    Product firstProduct = new Product();
    firstProduct.setName("Ürün bir");
    firstProduct.setProductId(1234);
    firstProduct.setProductPrice(0.10);
    firstProduct.setItemType(ProductType.PHYSICAL.name());
    products.add(firstProduct);

    // Second Product
    Product secondProduct = new Product();
    secondProduct.setName("Ürün iki");
    secondProduct.setProductId(4567);
    secondProduct.setProductPrice(0.10);
    secondProduct.setItemType(ProductType.PHYSICAL.name());
    products.add(secondProduct);
    request.setProducts(products);

    CreatePaymentInitialize payment = CreatePaymentInitialize.create(request, options);
    System.out.println(payment);

```

{% endtab %}

{% tab title="Perl" %}

```
```

{% endtab %}

{% tab title="Ruby" %}

```
```

{% endtab %}

{% tab title="Phython" %}

```
```

{% endtab %}

{% tab title="Go" %}

```
```

{% endtab %}

{% tab title=".NET" %}

```
```

{% endtab %}
{% endtabs %}

## API servisinden dönen parametreler

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

{% tabs %}
{% tab title="Başarılı Sonuç" %}

```javascript
{
"status":"success",
"paymentStatus":true,
"paymentId":"",
}
```

{% endtab %}
{% endtabs %}

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

{% tabs %}
{% tab title="Başarısız Sonuç" %}

```javascript
{
"status":"failure",
"errorCode":"xxxxx",
"message":true,
"paymentStatus":false,
}
```

{% endtab %}
{% endtabs %}


# Taksit Sorgulama

Taksit Sorgulama Entegrasyon Dokümanı

## Taksit Sorgulama

* API servisine gönderilmesi gereken parametreler
* Örnek Kodlar
* API servisinden dönen parametreler

## Taksit Servisi Parametreleri

<mark style="color:green;">`POST`</mark> `https://api.weepay.co/BinList/Installment`

Gönderilecek parametreler Auth ve Data  altında yer almalıdır

#### Path Parameters

| Name      | Type    | Description                                                |
| --------- | ------- | ---------------------------------------------------------- |
| Auth      | array   | Auth array altında bayiId, apiKey ve secretKey gönderilir. |
| bayiId    | integer | weepay tarafıdan verilen bayiId                            |
| apiKey    | string  | weepay tarafından verilen apikey                           |
| secretKey | string  | weepay tarafından verilen secretKey                        |

#### Query Parameters

| Name      | Type   | Description                                                                                                              |
| --------- | ------ | ------------------------------------------------------------------------------------------------------------------------ |
| type      | string | <p>type değeri sadece HTML ve DATA değerlerini alır.<br>Boş gönderilirse Default olarak DATA atanır </p>                 |
| binNumber | number | 6 haneli kredi kartı bin numarası gönderilmesi zorunlu değildir gönderilmez ise tüm taksit seçenekleri ile dönüş yapılır |
| price     | number | taksit hesaplanacak tutar değeri (Kuruş kısmı nokta ile yazılır. Örn: 35.50)                                             |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Servisden Dönen Parametreler

Servisten dönen parametrelerin 3 tip kullanımı mevcuttur.

* type değeri DATA (**Tüm taksit seçenekleri**)
* type değeri DATA ve bin numarası ile - **(Gönderilen bin numarası için taksit seçenekleri)**
* type değeri HTML - (**Tüm taksit seçenekleri HTML Tablo)**
* type değeri HTML ve bin numarası ile - **(Gönderilen bin numarası için HTML tablo)**

{% tabs %}
{% tab title=" DATA Tüm taksitler" %}

```javascript
// Örnek Cevap için bin numarası boş olarak type değeri DATA olarak oluşturulmuştur
{
   "systemTime":1612038484,
   "status ":"success",
   "price ":"10.00",
   "installmentDetails":[
      {
         "bankCode":"46",
         "cardFamilyName":"AXESS",
         "installmentPrices":[
            {
               "familyName":"AXESS",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"AXESS",
               "installmentNumber":3,
               "installmentPrice":"3.47",
               "totalPrice":"10.42"
            },
            {
               "familyName":"AXESS",
               "installmentNumber":6,
               "installmentPrice":"1.78",
               "totalPrice":"10.66"
            },
            {
               "familyName":"AXESS",
               "installmentNumber":9,
               "installmentPrice":"1.22",
               "totalPrice":"10.98"
            },
            {
               "familyName":"AXESS",
               "installmentNumber":12,
               "installmentPrice":"0.94",
               "totalPrice":"11.33"
            }
         ]
      },
      {
         "bankCode":"111",
         "cardFamilyName":"CARDFINANS",
         "installmentPrices":[
            {
               "familyName":"CARDFINANS",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"CARDFINANS",
               "installmentNumber":3,
               "installmentPrice":"3.47",
               "totalPrice":"10.42"
            },
            {
               "familyName":"CARDFINANS",
               "installmentNumber":6,
               "installmentPrice":"1.78",
               "totalPrice":"10.66"
            },
            {
               "familyName":"CARDFINANS",
               "installmentNumber":9,
               "installmentPrice":"1.22",
               "totalPrice":"10.98"
            },
            {
               "familyName":"CARDFINANS",
               "installmentNumber":12,
               "installmentPrice":"0.94",
               "totalPrice":"11.33"
            }
         ]
      },
      {
         "bankCode":"12",
         "cardFamilyName":"PARAF",
         "installmentPrices":[
            {
               "familyName":"PARAF",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"PARAF",
               "installmentNumber":3,
               "installmentPrice":"3.51",
               "totalPrice":"10.52"
            },
            {
               "familyName":"PARAF",
               "installmentNumber":6,
               "installmentPrice":"1.80",
               "totalPrice":"10.81"
            },
            {
               "familyName":"PARAF",
               "installmentNumber":9,
               "installmentPrice":"1.23",
               "totalPrice":"11.11"
            },
            {
               "familyName":"PARAF",
               "installmentNumber":12,
               "installmentPrice":"0.95",
               "totalPrice":"11.43"
            }
         ]
      },
      {
         "bankCode":"99",
         "cardFamilyName":"BONUS",
         "installmentPrices":[
            {
               "familyName":"BONUS",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"BONUS",
               "installmentNumber":3,
               "installmentPrice":"3.51",
               "totalPrice":"10.52"
            },
            {
               "familyName":"BONUS",
               "installmentNumber":6,
               "installmentPrice":"1.80",
               "totalPrice":"10.81"
            },
            {
               "familyName":"BONUS",
               "installmentNumber":9,
               "installmentPrice":"1.23",
               "totalPrice":"11.11"
            },
            {
               "familyName":"BONUS",
               "installmentNumber":12,
               "installmentPrice":"0.95",
               "totalPrice":"11.43"
            }
         ]
      },
      {
         "bankCode":"64",
         "cardFamilyName":"MAXIMUM",
         "installmentPrices":[
            {
               "familyName":"MAXIMUM",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"MAXIMUM",
               "installmentNumber":3,
               "installmentPrice":"3.56",
               "totalPrice":"10.68"
            },
            {
               "familyName":"MAXIMUM",
               "installmentNumber":6,
               "installmentPrice":"1.84",
               "totalPrice":"11.03"
            },
            {
               "familyName":"MAXIMUM",
               "installmentNumber":9,
               "installmentPrice":"1.27",
               "totalPrice":"11.43"
            },
            {
               "familyName":"MAXIMUM",
               "installmentNumber":12,
               "installmentPrice":"0.99",
               "totalPrice":"11.83"
            }
         ]
      },
      {
         "bankCode":"15",
         "cardFamilyName":"WORLD",
         "installmentPrices":[
            {
               "familyName":"WORLD",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"WORLD",
               "installmentNumber":3,
               "installmentPrice":"3.54",
               "totalPrice":"10.61"
            },
            {
               "familyName":"WORLD",
               "installmentNumber":6,
               "installmentPrice":"1.83",
               "totalPrice":"10.96"
            },
            {
               "familyName":"WORLD",
               "installmentNumber":9,
               "installmentPrice":"1.26",
               "totalPrice":"11.32"
            },
            {
               "familyName":"WORLD",
               "installmentNumber":12,
               "installmentPrice":"0.97",
               "totalPrice":"11.66"
            }
         ]
      },
      {
         "bankCode":"10",
         "cardFamilyName":"COMBO",
         "installmentPrices":[
            {
               "familyName":"COMBO",
               "installmentNumber":1,
               "installmentPrice":"10.00",
               "totalPrice":"10.00"
            },
            {
               "familyName":"COMBO",
               "installmentNumber":3,
               "installmentPrice":"3.52",
               "totalPrice":"10.55"
            },
            {
               "familyName":"COMBO",
               "installmentNumber":6,
               "installmentPrice":"1.81",
               "totalPrice":"10.84"
            },
            {
               "familyName":"COMBO",
               "installmentNumber":9,
               "installmentPrice":"1.24",
               "totalPrice":"11.12"
            },
            {
               "familyName":"COMBO",
               "installmentNumber":12,
               "installmentPrice":"0.95",
               "totalPrice":"11.36"
            }
         ]
      }
   ]
}
```

{% endtab %}

{% tab title="DATA Bin ile" %}

```javascript
// Örnek istek type değeri DATA ve bin numarası gönderilerek oluşturulmuştur
{
    "systemTime": 1612038653,
    "status ": "success",
    "price": "10.00",
    "binNumber": "****",
    "cardType": "CREDIT",
    "cardAssociation": "MASTER",
    "cardFamilyName ": "AXESS",
    "cardInstallmentSupport": "1",
    "cardThreeDSecureForced": "0",
    "bankName": "Akbank",
    "bankCode ": "46",
    "installement": [
        {
            "installmentNumber": "1",
            "totalPrice": "10.00",
            "installmentPrice": "10.00"
        },
        {
            "installmentNumber": "3",
            "totalPrice": "10.42",
            "installmentPrice": "3.47"
        },
        {
            "installmentNumber": "6",
            "totalPrice": "10.66",
            "installmentPrice": "1.78"
        },
        {
            "installmentNumber": "9",
            "totalPrice": "10.98",
            "installmentPrice": "1.22"
        },
        {
            "installmentNumber": "12",
            "totalPrice": "11.33",
            "installmentPrice": "0.94"
        }
    ]
}
```

{% endtab %}

{% tab title="HTML" %}

```javascript
// Html istek için bin numarısını dikkate almadan tüm taksit seçeneklerini
// HTML olarak tablo dönüşü yaparak direk kullanmanızı sağlamaktadır

{
    "systemTime": 1612038860,
    "status ": "success",
    "installmentHtml": "Taksit HTML Tablosu"
    
}
```

{% endtab %}
{% endtabs %}


# Ödeme Detayı

Ödeme Detay Görüntüleme Servisi

## Ödeme Detay Adımları

* API servisine gönderilmesi gereken parametreler
* Örnek kodlar
* API servisinden geri dönen parametreler

## GetPayment Service

<mark style="color:green;">`POST`</mark> `https://api.weepay.co/GetPayment/Detail`

Ödeme detay servisi için gerekli parametreler.

#### Path Parameters

| Name      | Type   | Description                                              |
| --------- | ------ | -------------------------------------------------------- |
| Auth      | array  | Auth array altında bayiId, apiKey, secretKey gönderilir. |
| bayiId    | number | weepay tarafından verilen bayiId                         |
| apiKey    | string | weepay tarafından verilen apiKey                         |
| secretKey | string | weepay tarafından verilen secretKey                      |

#### Request Body

| Name      | Type    | Description                                              |
| --------- | ------- | -------------------------------------------------------- |
| orderId   | string  | ödeme esnasında gönderdiğiniz benzersiz sipariş numarası |
| paymentId | integer | ödeme cevabında size dönüş yapılan ödeme ID si           |
| locale    | string  | sorgu dili tr veya en kullanılır default tr dir.         |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}


# Prestashop

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

{% hint style="warning" %}
weepay prestashop modülü, yalın prestashop (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

**PrestaShop modülünü nasıl entegre edeceğim? (Prestashop 1.6)**

Aşağıdaki entegrasyon adımlarını takip ederek prestashop entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları bir FTP ile PrestaShop dizinindeki "Modules" klasörünün altına yükleyin.
2. PrestaShop yönetim paneline girip, Modüller> Modüller menüsüne ulaşın.
3. Modül arama alanına weepay yazarak modülü bulun ve yükleyin.
4. Gelen uyarıda "Yükleme İşlemine Devam" butonuna tıklayarak kurulumu sürdürün.
5. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye girin. Bu değerleri PrestaShop’taki yönetim sayfanızda ilgili alanlara kopyalayın.
6. Form Class ayarından ödeme sayfasının “Responsive” veya “PopUp” olarak seçimini yapın.
7. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

**PrestaShop modülünü nasıl entegre edeceğim? (Prestashop 1.7)**

Aşağıdaki entegrasyon adımlarını takip ederek veya prestashop entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki “weepaycheckoutform” klasörünü zip dosyası haline getiriniz
2. Prestashop panelinizin sol menüsünden moduls sekmesini açın ve sağ üst köşedeki “upload a module” seçeneğini tıklayınız.
3. “upload a module” seçeneğini tıkladıktan sonra weepay modülünü yükleyebileceğiniz bir panel açılacaktır .Zip dosyası haline getirdiğiniz weepay modül dosyasını bu panele sürükleyiniz .
4. weepay eklentisini kurduktan sonra düzenle butonuna tıklayın. Bu aşamada sizden weepay Api ve güvenlik anahtarlarınızı girmeniz istenecektir .
5. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye giriş yapacaksınız. Bu değerleri Prestashop yönetim sayfanızda ilgili alanlara kopyalayın.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir . Herhangi birini tercih edebilirsiniz .
7. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Prestashop v1.6

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

{% hint style="warning" %}
weepay prestashop modülü, yalın prestashop (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

**PrestaShop modülünü nasıl entegre edeceğim? (Prestashop 1.6)**

Aşağıdaki entegrasyon adımlarını takip ederek prestashop entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları bir FTP ile PrestaShop dizinindeki "Modules" klasörünün altına yükleyin.
2. PrestaShop yönetim paneline girip, Modüller> Modüller menüsüne ulaşın.
3. Modül arama alanına weepay yazarak modülü bulun ve yükleyin.
4. Gelen uyarıda "Yükleme İşlemine Devam" butonuna tıklayarak kurulumu sürdürün.
5. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye girin. Bu değerleri PrestaShop’taki yönetim sayfanızda ilgili alanlara kopyalayın.
6. Form Class ayarından ödeme sayfasının “Responsive” veya “PopUp” olarak seçimini yapın.
7. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

**PrestaShop modülünü nasıl entegre edeceğim? (Prestashop 1.7)**

Aşağıdaki entegrasyon adımlarını takip ederek veya prestashop entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki “weepaycheckoutform” klasörünü zip dosyası haline getiriniz
2. Prestashop panelinizin sol menüsünden moduls sekmesini açın ve sağ üst köşedeki “upload a module” seçeneğini tıklayınız.
3. “upload a module” seçeneğini tıkladıktan sonra weepay modülünü yükleyebileceğiniz bir panel açılacaktır .Zip dosyası haline getirdiğiniz weepay modül dosyasını bu panele sürükleyiniz .
4. weepay eklentisini kurduktan sonra düzenle butonuna tıklayın. Bu aşamada sizden weepay Api ve güvenlik anahtarlarınızı girmeniz istenecektir .
5. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye giriş yapacaksınız. Bu değerleri Prestashop yönetim sayfanızda ilgili alanlara kopyalayın.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir . Herhangi birini tercih edebilirsiniz .
7. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Prestashop v1.7

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

{% hint style="warning" %}
weepay prestashop modülü, yalın prestashop (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

**PrestaShop modülünü nasıl entegre edeceğim? (Prestashop 1.6)**

Aşağıdaki entegrasyon adımlarını takip ederek prestashop entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları bir FTP ile PrestaShop dizinindeki "Modules" klasörünün altına yükleyin.
2. PrestaShop yönetim paneline girip, Modüller> Modüller menüsüne ulaşın.
3. Modül arama alanına weepay yazarak modülü bulun ve yükleyin.
4. Gelen uyarıda "Yükleme İşlemine Devam" butonuna tıklayarak kurulumu sürdürün.
5. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye girin. Bu değerleri PrestaShop’taki yönetim sayfanızda ilgili alanlara kopyalayın.
6. Form Class ayarından ödeme sayfasının “Responsive” veya “PopUp” olarak seçimini yapın.
7. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

**PrestaShop modülünü nasıl entegre edeceğim? (Prestashop 1.7)**

Aşağıdaki entegrasyon adımlarını takip ederek veya prestashop entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki “weepaycheckoutform” klasörünü zip dosyası haline getiriniz
2. Prestashop panelinizin sol menüsünden moduls sekmesini açın ve sağ üst köşedeki “upload a module” seçeneğini tıklayınız.
3. “upload a module” seçeneğini tıkladıktan sonra weepay modülünü yükleyebileceğiniz bir panel açılacaktır .Zip dosyası haline getirdiğiniz weepay modül dosyasını bu panele sürükleyiniz .
4. weepay eklentisini kurduktan sonra düzenle butonuna tıklayın. Bu aşamada sizden weepay Api ve güvenlik anahtarlarınızı girmeniz istenecektir .
5. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye giriş yapacaksınız. Bu değerleri Prestashop yönetim sayfanızda ilgili alanlara kopyalayın.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir . Herhangi birini tercih edebilirsiniz .
7. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Woocommerce

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

* Videolu Anlatım
* Sık Alınan Hatalar ve Çözümleri

Kuruluma başlamadan önce;

{% hint style="warning" %}
weepay woocommerce modülü, yalın woocommerce (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

**Woocommerce modülünü nasıl entegre edeceğim?**

Aşağıdaki entegrasyon adımlarını takip ederek veya weepay woocommerce videomuzu izleyerek woocommerce entegrasyonunu gerçekleştirebilirsiniz.

1. Wordpress yönetim panelinize giriş yaptıktan sonra "Eklentiler" bölümünden "Yeni Ekle" butonuna tıkladıktan sonra "Eklentilerde Ara" kısmına weepay-woocommerce yazın.
2. Karşınıza çıkan weepay eklentisinde "Yükle" butonuna basın.Böylelikle weepay eklentisi sisteminize yüklenmiş olacaktır .
3. Wordpress yönetim panelinizde Eklentiler > Yüklü Eklentiler menüsüne ulaşın.
4. weepay WooCommerce eklentisini bulup aktif hale getirin.
5. Woocommerce >Ayarlar >Ödeme menüsüne gidin ve "weepay" linkine tıklayın.
6. "weepay ile ödemeyi etkinleştir" kutucuğunu işaretleyin.
7. Başlık ve tanım için gerekli alanları doldurun. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın. Responsive ve pop-up ödeme formunun sitilini belirtmektedir . Herhangi birini tercih edebilirsiniz . Bu aşamadan sonra sizden weepay Api ve güvenlik anahtarlarınızı girmeniz istenecektir .
8. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API Key ve Secret Key değerlerinizin olduğu menüye giriş yapacaksınız. Bu değerleri WooCommerce'teki yönetim sayfanızda ilgili alanlara kopyalayın.
9. Sıralama için ise ödeme seçenekleri arasında hangi sırada görülmesini istiyorsanız o sıra numarasını girin
10. Kaydet butonuna bastıktan sonra weepay'yu kullanmaya başlayabilirsiniz.


# Magento

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

Magento, açık kaynaklı ve özgür bir e-ticaret web uygulamasıdır. İlk sürümü 31 Mart 2008 tarihinde duyurulan Magento, binlerce çözüm ortağı tarafından desteklenen ve dünya çapında 150.000'den fazla işletme tarafından kullanılan açık kaynak kodlu bir e-ticaret platformudur.

weepay, her ödeme metoduyla uyumlu, her sistemle barışık altyapısını geliştirmeye ve kullanıcıları için avantajlı hizmetler sağlamaya devam edecektir.

**Magento 2 modülünü nasıl entegre edeceğim?**

1. İndirdiğiniz weepay Magento 2 modülünün içindeki dosyalarını kopyalayınız.
2. Magento 2 dosyalarınızın bulunduğu app dizinin içerisine "weepay" klasörü oluşturduktan sonra içerisine "weepay" klasörü oluşturarak modül dosyalarını "weepay" klasörüne gönderiniz.
3. Terminal ile Magento 2 dosyalarınızın bulunduğu ana dizine erişiniz ve aşağıdaki adımları uygulayınız.
4. bin/magento module:enable weepay\_weepay --clear-static-content
5. bin/magento setup:upgrade
6. bin/magento setup:di:compile
7. Kurulumu bitirdikten sonra modül ayarlarınızı tamamlayarak gerçek kredi kartınızla 1TL – 3TL aralığında test işlemler yapmanızı öneririz.

**Test Ödemesi Senaryoları**

3D Secure olmayan ödeme: tek çekim ve taksitli

3D Secure olan ödeme: tek çekim ve taksitli

Ödeme iptali

Ödeme kırılımı iadesi

Yaptığınız test ödemesini weepay Kontrol Panelinizde bulunan "İşlemler ve İadeler" menüsünden kontrol edin.

Bu işlemleri yaparak modülü web sitenize kurduktan sonra, weepay Entegrasyon Ekibi'ne mesaj gönderebilirsiniz. Ekip, sizden bilgi aldığında hesabınızı canlıya alarak aktif ticarete başlamanızı sağlayacaktır.


# Magento v1.9

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

Magento, açık kaynaklı ve özgür bir e-ticaret web uygulamasıdır. İlk sürümü 31 Mart 2008 tarihinde duyurulan Magento, binlerce çözüm ortağı tarafından desteklenen ve dünya çapında 150.000'den fazla işletme tarafından kullanılan açık kaynak kodlu bir e-ticaret platformudur.

weepay, her ödeme metoduyla uyumlu, her sistemle barışık altyapısını geliştirmeye ve kullanıcıları için avantajlı hizmetler sağlamaya devam edecektir.

**Magento 2 modülünü nasıl entegre edeceğim?**

1. İndirdiğiniz weepay Magento 2 modülünün içindeki dosyalarını kopyalayınız.
2. Magento 2 dosyalarınızın bulunduğu app dizinin içerisine "weepay" klasörü oluşturduktan sonra içerisine "weepay" klasörü oluşturarak modül dosyalarını "weepay" klasörüne gönderiniz.
3. Terminal ile Magento 2 dosyalarınızın bulunduğu ana dizine erişiniz ve aşağıdaki adımları uygulayınız.
4. bin/magento module:enable weepay\_weepay --clear-static-content
5. bin/magento setup:upgrade
6. bin/magento setup:di:compile
7. Kurulumu bitirdikten sonra modül ayarlarınızı tamamlayarak gerçek kredi kartınızla 1TL – 3TL aralığında test işlemler yapmanızı öneririz.

**Test Ödemesi Senaryoları**

3D Secure olmayan ödeme: tek çekim ve taksitli

3D Secure olan ödeme: tek çekim ve taksitli

Ödeme iptali

Ödeme kırılımı iadesi

Yaptığınız test ödemesini weepay Kontrol Panelinizde bulunan "İşlemler ve İadeler" menüsünden kontrol edin.

Bu işlemleri yaparak modülü web sitenize kurduktan sonra, weepay Entegrasyon Ekibi'ne mesaj gönderebilirsiniz. Ekip, sizden bilgi aldığında hesabınızı canlıya alarak aktif ticarete başlamanızı sağlayacaktır.


# Magento v2.0

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

Magento, açık kaynaklı ve özgür bir e-ticaret web uygulamasıdır. İlk sürümü 31 Mart 2008 tarihinde duyurulan Magento, binlerce çözüm ortağı tarafından desteklenen ve dünya çapında 150.000'den fazla işletme tarafından kullanılan açık kaynak kodlu bir e-ticaret platformudur.

weepay, her ödeme metoduyla uyumlu, her sistemle barışık altyapısını geliştirmeye ve kullanıcıları için avantajlı hizmetler sağlamaya devam edecektir.

**Magento 2 modülünü nasıl entegre edeceğim?**

1. İndirdiğiniz weepay Magento 2 modülünün içindeki dosyalarını kopyalayınız.
2. Magento 2 dosyalarınızın bulunduğu app dizinin içerisine "weepay" klasörü oluşturduktan sonra içerisine "weepay" klasörü oluşturarak modül dosyalarını "weepay" klasörüne gönderiniz.
3. Terminal ile Magento 2 dosyalarınızın bulunduğu ana dizine erişiniz ve aşağıdaki adımları uygulayınız.
4. bin/magento module:enable weepay\_weepay --clear-static-content
5. bin/magento setup:upgrade
6. bin/magento setup:di:compile
7. Kurulumu bitirdikten sonra modül ayarlarınızı tamamlayarak gerçek kredi kartınızla 1TL – 3TL aralığında test işlemler yapmanızı öneririz.

**Test Ödemesi Senaryoları**

3D Secure olmayan ödeme: tek çekim ve taksitli

3D Secure olan ödeme: tek çekim ve taksitli

Ödeme iptali

Ödeme kırılımı iadesi

Yaptığınız test ödemesini weepay Kontrol Panelinizde bulunan "İşlemler ve İadeler" menüsünden kontrol edin.

Bu işlemleri yaparak modülü web sitenize kurduktan sonra, weepay Entegrasyon Ekibi'ne mesaj gönderebilirsiniz. Ekip, sizden bilgi aldığında hesabınızı canlıya alarak aktif ticarete başlamanızı sağlayacaktır.


# Opencart

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

* Videolu Anlatım
* Sık Alınan Hatalar ve aÇözümleri

Kuruluma başlamadan önce;

{% hint style="warning" %}
weepay Opencart modülü, yalın opencart (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

* Opencart 3.x modülü
* Opencart 2.3 modülü
* Opencart 2.0-2.2 modülü
* Opencart 1.5 modülü

**OpenCart modülünü nasıl entegre edeceğim?**

Aşağıdaki entegrasyon adımlarını takip ederek veya weepay opencart videomuzu izleyerek opencart entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları Opencart'ın çalıştığı dizinine yükleyin.
2. Opencart yönetim panelinizdeki Eklentiler menüsünden ödemeleri tıklayın.
3. weepay eklentisini listeden bulup kurduktan sonra düzenle linkine tıklayın. Bu aşamada sizden weepay Api ve Güvenlik anahtarlarınızı girmeniz istenecektir.
4. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API ve Güvenlik anahtarınızı olduğu sayfadan değerleri alıp bu değerleri Opencart'taki yönetim sayfanızda ilgili alanlara kopyalayın. Api ve Güvenlik anahtarınızı kopyalarken baştan ve sondan boşluk kalmamasına dikkat ediniz.
5. "Satın Al" sonrası durum için hazırlanıyor seçeneğini seçin.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir. Herhangi birini tercih edebilirsiniz.
7. Modül durumunu "açık" hale getirin.
8. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Opencart v1.5

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

* Videolu Anlatım
* Sık Alınan Hatalar ve aÇözümleri

Kuruluma başlamadan önce;

{% hint style="warning" %}
weepay Opencart modülü, yalın opencart (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

* Opencart 3.x modülü
* Opencart 2.3 modülü
* Opencart 2.0-2.2 modülü
* Opencart 1.5 modülü

**OpenCart modülünü nasıl entegre edeceğim?**

Aşağıdaki entegrasyon adımlarını takip ederek veya weepay opencart videomuzu izleyerek opencart entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları Opencart'ın çalıştığı dizinine yükleyin.
2. Opencart yönetim panelinizdeki Eklentiler menüsünden ödemeleri tıklayın.
3. weepay eklentisini listeden bulup kurduktan sonra düzenle linkine tıklayın. Bu aşamada sizden weepay Api ve Güvenlik anahtarlarınızı girmeniz istenecektir.
4. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API ve Güvenlik anahtarınızı olduğu sayfadan değerleri alıp bu değerleri Opencart'taki yönetim sayfanızda ilgili alanlara kopyalayın. Api ve Güvenlik anahtarınızı kopyalarken baştan ve sondan boşluk kalmamasına dikkat ediniz.
5. "Satın Al" sonrası durum için hazırlanıyor seçeneğini seçin.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir. Herhangi birini tercih edebilirsiniz.
7. Modül durumunu "açık" hale getirin.
8. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Opencart v2.0

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

* Videolu Anlatım
* Sık Alınan Hatalar ve aÇözümleri

Kuruluma başlamadan önce;

{% hint style="warning" %}
weepay Opencart modülü, yalın opencart (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

* Opencart 3.x modülü
* Opencart 2.3 modülü
* Opencart 2.0-2.2 modülü
* Opencart 1.5 modülü

**OpenCart modülünü nasıl entegre edeceğim?**

Aşağıdaki entegrasyon adımlarını takip ederek veya weepay opencart videomuzu izleyerek opencart entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları Opencart'ın çalıştığı dizinine yükleyin.
2. Opencart yönetim panelinizdeki Eklentiler menüsünden ödemeleri tıklayın.
3. weepay eklentisini listeden bulup kurduktan sonra düzenle linkine tıklayın. Bu aşamada sizden weepay Api ve Güvenlik anahtarlarınızı girmeniz istenecektir.
4. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API ve Güvenlik anahtarınızı olduğu sayfadan değerleri alıp bu değerleri Opencart'taki yönetim sayfanızda ilgili alanlara kopyalayın. Api ve Güvenlik anahtarınızı kopyalarken baştan ve sondan boşluk kalmamasına dikkat ediniz.
5. "Satın Al" sonrası durum için hazırlanıyor seçeneğini seçin.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir. Herhangi birini tercih edebilirsiniz.
7. Modül durumunu "açık" hale getirin.
8. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Opencart v2.3

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

* Videolu Anlatım
* Sık Alınan Hatalar ve aÇözümleri

Kuruluma başlamadan önce;

{% hint style="warning" %}
weepay Opencart modülü, yalın opencart (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

* Opencart 3.x modülü
* Opencart 2.3 modülü
* Opencart 2.0-2.2 modülü
* Opencart 1.5 modülü

**OpenCart modülünü nasıl entegre edeceğim?**

Aşağıdaki entegrasyon adımlarını takip ederek veya weepay opencart videomuzu izleyerek opencart entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları Opencart'ın çalıştığı dizinine yükleyin.
2. Opencart yönetim panelinizdeki Eklentiler menüsünden ödemeleri tıklayın.
3. weepay eklentisini listeden bulup kurduktan sonra düzenle linkine tıklayın. Bu aşamada sizden weepay Api ve Güvenlik anahtarlarınızı girmeniz istenecektir.
4. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API ve Güvenlik anahtarınızı olduğu sayfadan değerleri alıp bu değerleri Opencart'taki yönetim sayfanızda ilgili alanlara kopyalayın. Api ve Güvenlik anahtarınızı kopyalarken baştan ve sondan boşluk kalmamasına dikkat ediniz.
5. "Satın Al" sonrası durum için hazırlanıyor seçeneğini seçin.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir. Herhangi birini tercih edebilirsiniz.
7. Modül durumunu "açık" hale getirin.
8. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Opencart v3.0

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}

* Videolu Anlatım
* Sık Alınan Hatalar ve aÇözümleri

Kuruluma başlamadan önce;

{% hint style="warning" %}
weepay Opencart modülü, yalın opencart (eklentisiz) kurulumu üzerinde geliştirilip test edilmiştir. Kurulum yaparken mutlaka bu uyarıyı dikkate alınız.
{% endhint %}

* Opencart 3.x modülü
* Opencart 2.3 modülü
* Opencart 2.0-2.2 modülü
* Opencart 1.5 modülü

**OpenCart modülünü nasıl entegre edeceğim?**

Aşağıdaki entegrasyon adımlarını takip ederek veya weepay opencart videomuzu izleyerek opencart entegrasyonunu gerçekleştirebilirsiniz.

1. İndirdiğiniz modülün içindeki dosyaları Opencart'ın çalıştığı dizinine yükleyin.
2. Opencart yönetim panelinizdeki Eklentiler menüsünden ödemeleri tıklayın.
3. weepay eklentisini listeden bulup kurduktan sonra düzenle linkine tıklayın. Bu aşamada sizden weepay Api ve Güvenlik anahtarlarınızı girmeniz istenecektir.
4. weepay Kontrol Panelinize giriş yapın. Sağ üstteki Ayarlar sekmesinden API ve Güvenlik anahtarınızı olduğu sayfadan değerleri alıp bu değerleri Opencart'taki yönetim sayfanızda ilgili alanlara kopyalayın. Api ve Güvenlik anahtarınızı kopyalarken baştan ve sondan boşluk kalmamasına dikkat ediniz.
5. "Satın Al" sonrası durum için hazırlanıyor seçeneğini seçin.
6. Form Class ayarından ödeme sayfasının "Responsive" veya "PopUp" olarak seçimini yapın.Responsive ve pop-up ödeme formunun sitilini belirtmektedir. Herhangi birini tercih edebilirsiniz.
7. Modül durumunu "açık" hale getirin.
8. Kaydet butonuna bastıktan sonra weepay'i kullanmaya başlayabilirsiniz.

{% hint style="warning" %}
Kurulumu bitirdikten sonra mutlaka en az 1 tane gerçek kredi kartınızla cüzi tutarlı bir ödeme yapmanızı öneririz. Bu deneme işlemini weepay panelinizden anında iptal edebilirsiniz. Başarılı bir test işleminin ardından başvuru durumunuzu “Entegrasyon aşamasından ” “Canlı ” moda güncelliyor olacağız.
{% endhint %}


# Hata Kodları

| Hata Kodu | Açıklama                                           |
| --------- | -------------------------------------------------- |
| 000       | Genel Hata                                         |
| 001       | Kart Sahibi Onayı Alınmadı                         |
| 002       | Limit Yetersiz                                     |
| 003       | Kredi Kartı Numarası Geçerli Değil                 |
| 004       | Genel Red                                          |
| 005       | Kart Sahibine Açık Olmayan İşlem                   |
| 006       | Kartın Son Kullanım Tarihi Hatalı                  |
| 007       | Geçersiz İşlem                                     |
| 008       | Bankaya Bağlanılamadı                              |
| 009       | Tanımsız Hata Kodu                                 |
| 010       | Banka SSL Hatası                                   |
| 011       | Manual Onay İçin Bankayı Arayınız                  |
| 012       | Kart Bilgileri Hatalı - Kart No veya CVV2          |
| 013       | Visa MC Dışındaki Kartlar 3D Secure Desteklermiyor |
| 014       | Geçersiz Hesap Numarası                            |
| 015       | Geçersiz CVV                                       |
| 016       | Onay Mekanizması Mevcut Değil                      |
| 017       | Sistem Hatası                                      |
| 018       | Çalıntı Kart                                       |
| 019       | Kayıp Kart                                         |
| 020       | Kısıtlı Kart                                       |
| 021       | Zaman Aşımı                                        |
| 022       | Geçersiz İşyeri                                    |
| 023       | Sahte Onay                                         |
| 024       | 3D Onayı Alındı Ancak Para Çekilemedi              |
| 025       | 3D Onay Alma Hatası                                |
| 026       | Kart Sahibi Banka veya Kart 3D Secure Üyesi Değil  |
| 027       | Kullanıcı Bu İşlemi Yapmaya Yetkili Değil          |
| 028       | Fraud Olasılığı                                    |
| 029       | Kartınız e-ticaret İşlemlerine Kapalıdır           |
|           |                                                    |


# Test Kartları

| **Kart Numarası** | **Bankası**           | **Kart Tipi**        |
| ----------------- | --------------------- | -------------------- |
| 5890040000000016  | Akbank                | Master Card (Debit)  |
| 5526080000000006  | Akbank                | Master Card (Credit) |
| 4766620000000001  | Denizbank             | Visa (Debit)         |
| 4603450000000000  | Denizbank             | Visa (Credit)        |
| 4987490000000002  | Finansbank            | Visa (Debit)         |
| 5311570000000005  | Finansbank            | Master Card (Credit) |
| 9792020000000001  | Finansbank            | Troy (Debit)         |
| 9792030000000000  | Finansbank            | Troy (Credit)        |
| 5170410000000004  | Garanti Bankası       | Master Card (Debit)  |
| 5400360000000003  | Garanti Bankası       | Master Card (Credit) |
| 374427000000003   | Garanti Bankası       | American Express     |
| 4475050000000003  | Halkbank              | Visa (Debit)         |
| 5528790000000008  | Halkbank              | Master Card (Credit) |
| 4059030000000009  | HSBC Bank             | Visa (Debit)         |
| 5504720000000003  | HSBC Bank             | Master Card (Credit) |
| 5892830000000000  | Türkiye İş Bankası    | Master Card (Debit)  |
| 4543590000000006  | Türkiye İş Bankası    | Visa (Credit)        |
| 4910050000000006  | Vakıfbank             | Visa (Debit)         |
| 4157920000000002  | Vakıfbank             | Visa (Credit)        |
| 5168880000000002  | Yapı ve Kredi Bankası | Master Card (Debit)  |
| 5451030000000000  | Yapı ve Kredi Bankası | Master Card (Credit) |

Yurtdışı test kartları;

| **Kart Numarası** | **Ülke**    |
| ----------------- | ----------- |
| 5400010000000004  | Non-Turkish |

Özel hata üreten kartlar;

| **Kart Numarası** | **Tanım**                                            |
| ----------------- | ---------------------------------------------------- |
| 5406670000000009  | Success but cannot be cancelled, refund or post auth |
| 4111111111111129  | Not sufficient funds                                 |
| 4129111111111111  | Do not honour                                        |
| 4128111111111112  | Invalid transaction                                  |
| 4127111111111113  | Lost card                                            |
| 4126111111111114  | Stolen card                                          |
| 4125111111111115  | Expired card                                         |
| 4124111111111116  | Invalid cvc2                                         |
| 4123111111111117  | Not permitted to card holder                         |
| 4122111111111118  | Not permitted to terminal                            |
| 4121111111111119  | Fraud suspect                                        |
| 4120111111111110  | Pickup card                                          |
| 4130111111111118  | General error                                        |
| 4131111111111117  | Success but mdStatus is 0                            |
| 4141111111111115  | Success but mdStatus is 4                            |
| 4151111111111112  | 3dsecure initialize failed                           |
| 4151111111111393  | Restricted by law                                    |


# PDF Dökümanlar

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}


# Sıkça Sorulan Sorular

{% hint style="danger" %}
ÖNEMLİ UYARI
{% endhint %}


# Google Chrome SameSite Problemi Nasıl Çözülür?

Chorme 80. versiyon üstü SameSite Problemi ve Çözümü

### Same Site Problemi Nedir ?

Google Chrome tarayıcılarında 80 versiyon üstü kullanan kullanıcıların sameSite=None ve secure olarak tanımlanmamış cookiler varsayılan olarak sameSite=Lax(first-party cookie) kabul edilecektir. Bu da first-party cookielere tanımlanan web sitesi / Host üzerinden erişilmesine izin verilmektedir.  Sitenize cross-site request olması durumunda ki 3Ds Secure işlemi farklı bir web sitesinin size POST isteği olarak dönüş yapılmakta ve bu dönüş sonunda browser üzerinde cookie erişimi güvenlik sebebiyle kısıtlanmaktadır. Kısacası Farklı bir domain üzerinden gelecek POST işlemlerinin kısıtlanması anlmına gelmektedir.

Google Chrome belirli aralıklar ile belirli kullanıcılara bu güncellemeyi uyguladı son güncelleme ile kullanıcı sayısı yükseldi. Bu [link ](https://www.chromium.org/updates/same-site)üzerinden kontrol edebilirsiniz.&#x20;

Bu güvenlik güncellemesi belirli aralıklar ile tüm kullanıcılara ulaşana kadar devam edecektir. Burada esas olan Chrome geri dönüş ve bug bildirimlerini alarak gerekli güncellemeleri sağlaması.

> Ekleme: Son güncelleme 11 Ağustos ta yapılmış olup bu güvenlik güncellemesini kullanan kullanıcıların sayısını %100' e çıkardığını hala kullanan tarayıcıların kapatıp açıldıktan sonra güncel hali ile açılacağını duyurmuştur.

#### Örnek Senaryo

Kullandığınız yazılım dili fark etmeksizin web siteniz için senaryo; müşteriniz web site adresine giriş yapar ister guest ister kayıtlı kullanıcı olsun almak istediği ürünü sepete ekler veya direk ödeme seçeneğini ile checkout sayfasına yönlenir. Adres bilgilerini girdikten sonra weepay form için istek oluşur bu istek sonucu response ile weepay formu oluşur. Ancak bu esnada Chrome sizin için bir Cookie oluşturacaktır.\
İster Oturum bilgisi ister Id bilgisi olursa olsun 3Ds dönüşü bu bilgilere ulaşmak isteyecekseniz. Kullanıcı weepay Form üzerindeki  "Ödeme Yap" butonuna bastığında 3Ds için Banka Sayfasına Yönlendiğinde artık Domain değişmiş olur geri size POST olarak işlem döndüğünde gerekli oturuma  veya sepet bilgisine ulaşmak için siteniz Cookie veya Session değerlerini ihtiyaç duyuyor ise sorgulayacaktır. Eğer cookie sameSite=None ve secure olarak tanımlanmamışsa Chrome bu cookielerin okunmasına izin vermez. Gerekli update ve ödeme kaydı işlemlerini tamamlayamamış veya hata sayfasına yönlenmiş olacaktır.

> &#x20;callBackUrl adresinde, cookie veya Session erişimi ile ödeme update ve confirm işlemlerinizi yapıyorsanız  cookieyi SameSite=None olarak tanımlamanız gerekmektedir.

#### Örnek Kodlar

{% tabs %}
{% tab title="JavaScript" %}

```javascript

//cross-site cookie for third-party contexts
// 
document.cookie = 'cookie2=value2; SameSite=None; Secure';











```

{% endtab %}

{% tab title="NodeJs" %}

```javascript
//cross-site cookie for third-party contexts
response.cookie('cookie2', 'value2', { sameSite: 'none', secure: true });




```

{% endtab %}

{% tab title=".NET" %}

```aspnet

// ASP.NET 4.7.2+

Response.Cookies.Add(new HttpCookie("key", "value")
{
    SameSite = SameSiteMode.None,
    Secure = true,
});

// ASP.NET Core 2.1+

Response.Cookies.Append("Key", "Value", new CookieOptions()
{
     SameSite = SameSiteMode.None,
     Secure = true,
});
```

{% endtab %}

{% tab title="PHP" %}

```php
// PHP 7.3 İçin Örnek Tanımlanması
// Set a cross-site cookie for third-party contexts
setcookie('cross-site-cookie', 'bar', ['samesite' => 'None', 'secure' => true]);
//7.3 Öncesi Sürümler İçin
header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
// 
setcookie("Key", "value", "expire time", "path; samesite=None", domain, true, true);


```

{% endtab %}
{% endtabs %}

### Key Value Değerlerinin Belirlenmesi

Cookie ile ilgili key value değerleri için örneğin PHP standart olarak PHPSESSID olarak tanımlar eğer standart olarak kullanmadıysanız kendi key değerinizi giriniz. value olarakta $\_COOKIE\['PHPSESSID']; değeri belirterek SameSite=None olarak işaretlemelisiniz. Tarayıcınızda görüntülemek için Application bölümünde bulunan Cookie bölümünün altından web site adresini seçerek aşağıdaki ekran görüntüsündeki alana ulaşabilirsiniz.

#### Ekran Görüntüsü

![](/files/-MF_tsDPxfrvJvNJLguO)

Ekran görüntüsünde de görüleceği gibi PHPSESSID  değeri key value'daki değerde value olarak tanımlanmalıdır.


