Korumalı Havale/EFT Başlatma

iyzico Korumalı Havale/EFT ödeme metodunu hemen aktifleştirmek için destek@iyzico.com adresine e-posta gönderebilirsiniz.

Korumalı Havale-EFT sürecini başlatmak için iyzipay API'ye ödeme formu oluşturma isteği göndermeniz yeterlidir. İstek sonucu alacağınız paymentPageUrl değeri link olarak veya checkoutFormContent değeri form olarak kullanılabilir.

paymentPageUrl değeri bir button, link veya div aracılığı ile ürün sayfasında gösterilmelidir. Müşteriler linke tıkladığında iyzico havale sayfasına yönlendirilir. Bu ekranda email adresi ve telefon bilgisi müşteri tarafından girilir(istek sırasında bu bilgiler gönderilirse ön tanımlı olarak gösterilir). Müşteri havale/eft yapacağı banka'yı seçip, Devam Et tuşuna bastığında ödeme yapması gereken tutar, IBAN, işlem refererans numarası ve alıcı adı bilgilerine ulaşır. Bu aşamada iyzico tarafında da bir işlem oluşturulur. Henüz para transferi gerçekleşmediğinden ödemenin durumu init_bank_transfer(banka onayı bekleniyor) olarak işaretlenir. Müşteriye transfer bilgileri sms ve email ile iletilir. Aynı sayfada beliren Alışverişi Tamamla tuşuna basıldığında, müşteri istek sırasında belirtilen callBackUrl adresine yönlendirilir.

checkoutFormContent yöntemi ile havale/EFT ödemesi alabilmek için dönen cevap içerisindeki checkoutFormContent parametresini sayfanızın header kısmına yazdırmanız ve aşağıdaki "div" satırını ilgili ödeme alanına eklemeniz yeterlidir. Bu durumda iyzico checkout formu açılacak ve havale sekmesinde müşteriniz IBAN, referans numarası, tutar ve alıcı adı bilgilerine ulaşacaktır. Yukarıda açıklandığı gibi Devam Et tuşuna basıldığında işlem oluşturulur ve Alışverişi Tamamla tuşu ile callBackUrl adresine yönlendirme yapılır.

Responsive kullanım

  • <div id="iyzipay-checkout-form" class="responsive"></div>

Pop-up kullanım

  • <div id="iyzipay-checkout-form" class="popup"></div>

Yönlendirilen callBackUrl adresinde müşterinize siparişin alındığı notunu iletebilirsiniz.

Müşterilerin Havale/EFT işlemi sırasında dikkat etmesi gereken noktalar

  • Açıklama kısmına iyzico referans numarası mutlaka doğru olarak girilmelidir.
  • Oluşabilecek transfer masrafı müşteri ve müşterinin bankası arasında belirlenir. Bu ücretin belirlenmesinde iyzico'nun bir rolü yoktur.
  • Havale sayfasında belirtilen ödeme tutarından farklı bir tutar gönderilmemelidir. Sipariş tutarından fazla veya eksik tutar gönderilmesi durumunda ödeme başarılı olamayacak ve işlem iptal edilerek müşteriye parası iade edilir.
  • Transfer işlemi maksimum 3 gün içerisinde yapılmalıdır.

iyzico tarafında, oluşturulan herhavale/eft işlemleri 15 dakikada bir kontrol edilir. Banka hesaplarında, işleme ait (havale/eft sırasında açıklama kısmında referans numarası belirtilmelidir) bir ödeme bulunursa, eşleştirme yapılır ve işlemin durumu başarılı olarak işaretlenir. Müşteri ve üye işyeri ödemenin başarılı olduğu yönünde bilgilendirilir. Aynı zamanda callBackUrl adresine işlem deyaylarını içeren bir notification gönderilir.

Ödeme eşleşmesi yapıldığında callBackUrl'e gönderilen ödeme durumu post isteği

{
  "iyziEventTime": "1569325868970",
  "iyziEventType": "BANK_TRANSFER_AUTH",
  "iyziReferenceCode": "028246012345",
  "status": "SUCCESS",
  "token": "04de1234-32b9-6907-bf06-0987ae260e35"
}
{
  "iyziEventTime": "1569325868970",
  "iyziEventType": "BANK_TRANSFER_AUTH",
  "iyziReferenceCode": "028246012345",
  "status": "SUCCESS",
  "token": "04de1234-32b9-6907-bf06-0987ae260e35"
}


HAVALE/EFT MÜŞTERİ KARŞILAMA SAYFASI


HAVALE/EFT TAMAMLAMA SAYFASI

Tüm işlemlere iyzico merchant panelinden ulaşılabilir. Ödemelerin durumunu sisteminize yansıtmak için, link/havale formu oluşturma sırasında alınan token ile havale sonucunu kontrol edebilirsiniz. Aynı zamanda callBackUrl adresini dinlemeniz ve buraya gönderilecek ödeme bilgilerini işleyebilirsiniz.

Havale/EFT ödeme formu veya link oluşturmak:

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre ismi Tip Zorunluluk Açıklama
locale string Hayır iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri tr’dir.
conversationId string Hayır İstek esnasında gönderip, sonuçta alabileceğiniz bir değer, request/response eşleşmesi yapmak için kullanılabilir.
price Decimal Evet Ödeme sepet tutarı. Kırılım tutarlar toplamı, sepet tutarına eşit olmalı.
paidPrice Decimal Evet İndirim, vergi gibi değerlerin dahil edildiği, vade farkı öncesi tutar değeri.
currency String Evet Para birimi. Default değeri TL’dir. Kullanılabilen diğer değerler ise USD, EUR, GBP ve IRR’dir.
installment Integer Evet Havale/EFT ödemelerinde taksit imkanı yoktur. Eğer ödeme formu ile havale/eft ödemesi alınacaksa, formda bulunan kartlı ödeme sekmesi için 1, 2, 3, 6, 9, 12 değerleri gönderilebilir.
basketId String Hayır Üye işyeri sepet id’si.
paymentChannel String Hayır Ödeme kanalı. Geçerli değerler enum içinde sunulmaktadır: WEB, MOBILE, MOBILE_WEB, MOBILE_IOS, MOBILE_ANDROID, MOBILE_WINDOWS, MOBILE_TABLET, MOBILE_PHONE
paymentGroup String Hayır Ödeme grubu, varsayılan PRODUCT. Geçerli değerler enum içinde sunulmaktadır: PRODUCT, LISTING, SUBSCRIPTION
callbackUrl String Evet Havale/EFT akışında üye işyerine başarılı ve hatalı sonucu bildirmek üzere alınan URL adresi.
id(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait id.
name(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait ad.
surname(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait soyad.
identityNumber(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait kimlik (TCKN) numarası.
city(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait şehir bilgisi.
country(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait ülke bilgisi.
email(Buyer) String Evet Ü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.
gsmNumber(Buyer) String Hayır Üye işyeri tarafındaki alıcıya ait GSM numarası.
ip(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait IP adresi.
registrationAddress(Buyer) String Evet Üye işyeri tarafındaki alıcıya ait kayıt adresi.
zipCode(Buyer) String Hayır Üye işyeri tarafındaki alıcıya ait posta kodu.
registrationDate(Buyer) String Hayır Üye işyeri tarafındaki alıcıya ait kayıt tarihi. Tarih formatı 2015-09- 17 23:45:06 şeklinde olmalıdır.
lastLoginDate(Buyer) String Hayır Üye işyeri tarafındaki alıcıya ait son giriş tarihi. Tarih formatı 2015- 09-17 23:45:06 şeklinde olmalıdır.
contactName(BillingAddress) String Evet Üye işyeri tarafındaki fatura adresi, ad, soyad bilgisi.
city(BillingAddress) String Evet Üye işyeri tarafındaki fatura adresi şehir bilgisi.
country(BillingAddress) String Evet Üye işyeri tarafındaki fatura adresi ülke bilgisi.
address(BillingAddress) String Evet Üye işyeri tarafındaki fatura adresi.
zipCode(BillingAddress) String Hayır Üye işyeri tarafındaki fatura adresi posta kodu.
contactName(ShippingAddress) String Evet Üye işyeri tarafındaki teslimat adresi ad soyad bilgisi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
city(ShippingAddress) String Evet Üye işyeri tarafındaki teslimat adresi şehir bilgisi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
country(ShippingAddress) String Evet Üye işyeri tarafındaki teslimat adresi ülke bilgisi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
address(ShippingAddress) String Evet Üye işyeri tarafındaki teslimat adresi. Sepetteki ürünlerden en az 1 tanesi fiziksel ürün (itemType=PHYSICAL) ise zorunludur.
zipCode(ShippingAddress) String Hayır Üye işyeri tarafındaki teslimat adresi posta kodu.
id(BasketItem) String Evet Üye işyeri tarafındaki sepetteki ürüne ait id. Not: Bir ödeme isteğine maksimum 500 basketItem eklenebilir.
itemType(BasketItem) String Evet Üye işyeri tarafındaki sepetteki ürüne ait tip. Geçerli enum değerler: PHYSICAL ve VIRTUAL
name(BasketItem) String Evet Üye işyeri tarafındaki sepetteki ürüne ait ismi.
category1(BasketItem) String Evet Üye işyeri tarafındaki sepetteki ürüne ait kategori 1.
category2(BasketItem) String Hayır Üye işyeri tarafındaki sepetteki ürüne ait kategori 2.
price(BasketItem) Decimal Evet Üye işyeri tarafındaki sepetteki ürüne ait tutar. 0 ve 0’dan küçük olamaz, tutarlar toplamı sepet tutarına (price) eşit olmalıdır.

 

Servisten dönen parametreler şu şekildedir:

Parametre ismi Tip Açıklama
checkoutFormContent string Ödeme formu ile havale işlemi için gereken HTML kod. Link ile havale/EFT almak için bu bilgiye ihtiyaç yoktur.
paymentPageUrl string Havale/EFT işlemi için kullanılması gereken link. Ödeme formu kullanılması durumunda bu bilgiye ihtiyaç yoktur.
token string Havale/EFT işlemi için tekil değer. Her istek için özel üretilir ve işyerine dönülür. Ödeme yapıldığında bu token sorgulanırsa, ödeme detayları alınır. Ödeme yapılmadan sorgulandığında paymentStatus: INIT_BANK_TRANSFER bilgisi alınır
tokenExpireTime Integer Havale/EFT sayfası için üretilmiş olan token değerinin geçerlilik süresi.
status string Yapılan isteğin sonucunu bildirir. İşlem başarılı ise success, hatalı ise failure döner.
errorCode string İşlem hatalıysa, bu hataya dair belirtilen koddur.
errorMessage string İşlem hatalıysa, bu hataya dair belirtilen mesajdır, locale parametresine göre dil desteği sunar.
errorGroup string İşlem hatalıysa, bu hataya dair belirtilen gruptur.
locale string İstekte belirtilen locale değeri geri dönülür, varsayılan değeridir.
systemTime integer Dönen sonucun o anki unix timestamp değeridir.
conversationId string İstek esnasında gönderilmişse, sonuçta aynen geri iletilir.

Dönen cevap içerisindeki paymentPageUrl parametresi Havale/EFT sayfasına ulaşmak için gerekli linki içermektedir.

$request = new \Iyzipay\Request\CreateCheckoutFormInitializeRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setPrice("1");
$request->setPaidPrice("1.2");
$request->setCurrency(\Iyzipay\Model\Currency::TL);
$request->setBasketId("B67832");
$request->setPaymentGroup(\Iyzipay\Model\PaymentGroup::PRODUCT);
$request->setCallbackUrl("https://www.merchant.com/callback");
$request->setEnabledInstallments(array(2, 3, 6, 9));

$buyer = new \Iyzipay\Model\Buyer();
$buyer->setId("BY789");
$buyer->setName("John");
$buyer->setSurname("Doe");
$buyer->setGsmNumber("+905350000000");
$buyer->setEmail("email@email.com");
$buyer->setIdentityNumber("74300864791");
$buyer->setLastLoginDate("2015-10-05 12:43:35");
$buyer->setRegistrationDate("2013-04-21 15:12:09");
$buyer->setRegistrationAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$buyer->setIp("85.34.78.112");
$buyer->setCity("Istanbul");
$buyer->setCountry("Turkey");
$buyer->setZipCode("34732");

$request->setBuyer($buyer);
$shippingAddress = new \Iyzipay\Model\Address();
$shippingAddress->setContactName("Jane Doe");
$shippingAddress->setCity("Istanbul");
$shippingAddress->setCountry("Turkey");
$shippingAddress->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$shippingAddress->setZipCode("34742");
$request->setShippingAddress($shippingAddress);

$billingAddress = new \Iyzipay\Model\Address();
$billingAddress->setContactName("Jane Doe");
$billingAddress->setCity("Istanbul");
$billingAddress->setCountry("Turkey");
$billingAddress->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
$billingAddress->setZipCode("34742");
$request->setBillingAddress($billingAddress);

$basketItems = array();
$firstBasketItem = new \Iyzipay\Model\BasketItem();
$firstBasketItem->setId("BI101");
$firstBasketItem->setName("Binocular");
$firstBasketItem->setCategory1("Collectibles");
$firstBasketItem->setCategory2("Accessories");
$firstBasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL);
$firstBasketItem->setPrice("0.3");
$basketItems[0] = $firstBasketItem;

$secondBasketItem = new \Iyzipay\Model\BasketItem();
$secondBasketItem->setId("BI102");
$secondBasketItem->setName("Game code");
$secondBasketItem->setCategory1("Game");
$secondBasketItem->setCategory2("Online Game Items");
$secondBasketItem->setItemType(\Iyzipay\Model\BasketItemType::VIRTUAL);
$secondBasketItem->setPrice("0.5");

$basketItems[1] = $secondBasketItem;
$thirdBasketItem = new \Iyzipay\Model\BasketItem();
$thirdBasketItem->setId("BI103");
$thirdBasketItem->setName("Usb");
$thirdBasketItem->setCategory1("Electronics");
$thirdBasketItem->setCategory2("Usb / Cable");
$thirdBasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL);
$thirdBasketItem->setPrice("0.2");
$basketItems[2] = $thirdBasketItem;
$request->setBasketItems($basketItems);

$checkoutFormInitialize = \Iyzipay\Model\CheckoutFormInitialize::create($request, Config::options());
CreateCheckoutFormInitializeRequest request = new CreateCheckoutFormInitializeRequest();
request.Locale = Locale.TR.ToString();
request.ConversationId = "123456789";
request.Price = "1";
request.PaidPrice = "1.2";
request.Currency = Currency.TRY.ToString();
request.BasketId = "B67832";
request.PaymentGroup = PaymentGroup.PRODUCT.ToString();
request.CallbackUrl = "https://www.merchant.com/callback";

List<int> enabledInstallments = new List<int>();
enabledInstallments.Add(2);
enabledInstallments.Add(3);
enabledInstallments.Add(6);
enabledInstallments.Add(9);
request.EnabledInstallments = enabledInstallments;

Buyer buyer = new Buyer();
buyer.Id = "BY789";
buyer.Name = "John";
buyer.Surname = "Doe";
buyer.GsmNumber = "+905350000000";
buyer.Email = "email@email.com";
buyer.IdentityNumber = "74300864791";
buyer.LastLoginDate = "2015-10-05 12:43:35";
buyer.RegistrationDate = "2013-04-21 15:12:09";
buyer.RegistrationAddress = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1";
buyer.Ip = "85.34.78.112";
buyer.City = "Istanbul";
buyer.Country = "Turkey";
buyer.ZipCode = "34732";
request.Buyer = buyer;

Address shippingAddress = new Address();
shippingAddress.ContactName = "Jane Doe";
shippingAddress.City = "Istanbul";
shippingAddress.Country = "Turkey";
shippingAddress.Description = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1";
shippingAddress.ZipCode = "34742";
request.ShippingAddress = shippingAddress;

Address billingAddress = new Address();
billingAddress.ContactName = "Jane Doe";
billingAddress.City = "Istanbul";
billingAddress.Country = "Turkey";
billingAddress.Description = "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1";
billingAddress.ZipCode = "34742";
request.BillingAddress = billingAddress;

List<BasketItem> basketItems = new List<BasketItem>();
BasketItem firstBasketItem = new BasketItem();
firstBasketItem.Id = "BI101";
firstBasketItem.Name = "Binocular";
firstBasketItem.Category1 = "Collectibles";
firstBasketItem.Category2 = "Accessories";
firstBasketItem.ItemType = BasketItemType.PHYSICAL.ToString();
firstBasketItem.Price = "0.3";
basketItems.Add(firstBasketItem);

BasketItem secondBasketItem = new BasketItem();
secondBasketItem.Id = "BI102";
secondBasketItem.Name = "Game code";
secondBasketItem.Category1 = "Game";
secondBasketItem.Category2 = "Online Game Items";
secondBasketItem.ItemType = BasketItemType.VIRTUAL.ToString();
secondBasketItem.Price = "0.5";
basketItems.Add(secondBasketItem);

BasketItem thirdBasketItem = new BasketItem();
thirdBasketItem.Id = "BI103";
thirdBasketItem.Name = "Usb";
thirdBasketItem.Category1 = "Electronics";
thirdBasketItem.Category2 = "Usb / Cable";
thirdBasketItem.ItemType = BasketItemType.PHYSICAL.ToString();
thirdBasketItem.Price = "0.2";
basketItems.Add(thirdBasketItem);
request.BasketItems = basketItems;

CheckoutFormInitialize checkoutFormInitialize = CheckoutFormInitialize.Create(request, options);
CreateCheckoutFormInitializeRequest request = new CreateCheckoutFormInitializeRequest();
request.setLocale(Locale.TR.getValue());
request.setConversationId("123456789");
request.setPrice(new BigDecimal("1"));
request.setPaidPrice(new BigDecimal("1.2"));
request.setCurrency(Currency.TRY.name());
request.setBasketId("B67832");
request.setPaymentGroup(PaymentGroup.PRODUCT.name());
request.setCallbackUrl("https://www.merchant.com/callback");

List<Integer> enabledInstallments = new ArrayList<Integer>();
enabledInstallments.add(2);
enabledInstallments.add(3);
enabledInstallments.add(6);
enabledInstallments.add(9);
request.setEnabledInstallments(enabledInstallments);

Buyer buyer = new Buyer();
buyer.setId("BY789");
buyer.setName("John");
buyer.setSurname("Doe");
buyer.setGsmNumber("+905350000000");
buyer.setEmail("email@email.com");
buyer.setIdentityNumber("74300864791");
buyer.setLastLoginDate("2015-10-05 12:43:35");
buyer.setRegistrationDate("2013-04-21 15:12:09");
buyer.setRegistrationAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
buyer.setIp("85.34.78.112");
buyer.setCity("Istanbul");
buyer.setCountry("Turkey");
buyer.setZipCode("34732");
request.setBuyer(buyer);

Address shippingAddress = new Address();
shippingAddress.setContactName("Jane Doe");
shippingAddress.setCity("Istanbul");
shippingAddress.setCountry("Turkey");
shippingAddress.setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
shippingAddress.setZipCode("34742");
request.setShippingAddress(shippingAddress);

Address billingAddress = new Address();
billingAddress.setContactName("Jane Doe");
billingAddress.setCity("Istanbul");
billingAddress.setCountry("Turkey");
billingAddress.setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
billingAddress.setZipCode("34742");
request.setBillingAddress(billingAddress);

List<BasketItem> basketItems = new ArrayList<BasketItem>();
BasketItem firstBasketItem = new BasketItem();
firstBasketItem.setId("BI101");
firstBasketItem.setName("Binocular");
firstBasketItem.setCategory1("Collectibles");
firstBasketItem.setCategory2("Accessories");
firstBasketItem.setItemType(BasketItemType.PHYSICAL.name());
firstBasketItem.setPrice(new BigDecimal("0.3"));
basketItems.add(firstBasketItem);

BasketItem secondBasketItem = new BasketItem();
secondBasketItem.setId("BI102");
secondBasketItem.setName("Game code");
secondBasketItem.setCategory1("Game");
secondBasketItem.setCategory2("Online Game Items");
secondBasketItem.setItemType(BasketItemType.VIRTUAL.name());
secondBasketItem.setPrice(new BigDecimal("0.5"));
basketItems.add(secondBasketItem);

BasketItem thirdBasketItem = new BasketItem();
thirdBasketItem.setId("BI103");
thirdBasketItem.setName("Usb");
thirdBasketItem.setCategory1("Electronics");
thirdBasketItem.setCategory2("Usb / Cable");
thirdBasketItem.setItemType(BasketItemType.PHYSICAL.name());
thirdBasketItem.setPrice(new BigDecimal("0.2"));
basketItems.add(thirdBasketItem);
request.setBasketItems(basketItems);

CheckoutFormInitialize checkoutFormInitialize = CheckoutFormInitialize.create(request, options);
var request = {
    locale: Iyzipay.LOCALE.TR,
    conversationId: '123456789',
    price: '1',
    paidPrice: '1.2',
    currency: Iyzipay.CURRENCY.TRY,
    basketId: 'B67832',
    paymentGroup: Iyzipay.PAYMENT_GROUP.PRODUCT,
    callbackUrl: 'https://www.merchant.com/callback',
    enabledInstallments: [2, 3, 6, 9],
    buyer: {
        id: 'BY789',
        name: 'John',
        surname: 'Doe',
        gsmNumber: '+905350000000',
        email: 'email@email.com',
        identityNumber: '74300864791',
        lastLoginDate: '2015-10-05 12:43:35',
        registrationDate: '2013-04-21 15:12:09',
        registrationAddress: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
        ip: '85.34.78.112',
        city: 'Istanbul',
        country: 'Turkey',
        zipCode: '34732'
    },
    shippingAddress: {
        contactName: 'Jane Doe',
        city: 'Istanbul',
        country: 'Turkey',
        address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
        zipCode: '34742'
    },
    billingAddress: {
        contactName: 'Jane Doe',
        city: 'Istanbul',
        country: 'Turkey',
        address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
        zipCode: '34742'
    },
    basketItems: [
        {
            id: 'BI101',
            name: 'Binocular',
            category1: 'Collectibles',
            category2: 'Accessories',
            itemType: Iyzipay.BASKET_ITEM_TYPE.PHYSICAL,
            price: '0.3'
        },
        {
            id: 'BI102',
            name: 'Game code',
            category1: 'Game',
            category2: 'Online Game Items',
            itemType: Iyzipay.BASKET_ITEM_TYPE.VIRTUAL,
            price: '0.5'
        },
        {
            id: 'BI103',
            name: 'Usb',
            category1: 'Electronics',
            category2: 'Usb / Cable',
            itemType: Iyzipay.BASKET_ITEM_TYPE.PHYSICAL,
            price: '0.2'
        }
    ]
};

iyzipay.checkoutFormInitialize.create(request, function (err, result) {
    console.log(err, result);
    done();
});
buyer = {
    id: 'BY789',
    name: 'John',
    surname: 'Doe',
    identityNumber: '74300864791',
    email: 'email@email.com',
    gsmNumber: '+905350000000',
    registrationDate: '2013-04-21 15:12:09',
    lastLoginDate: '2015-10-05 12:43:35',
    registrationAddress: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
    city: 'Istanbul',
    country: 'Turkey',
    zipCode: '34732',
    ip: '85.34.78.112'
}
address = {
    address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
    zipCode: '34732',
    contactName: 'John Doe',
    city: 'Istanbul',
    country: 'Turkey'
}

item1 = {
    id: 'BI101',
    name: 'Binocular',
    category1: 'Collectibles',
    category2: 'Accessories',
    itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
    price: '0.3',
    subMerchantKey: 'sub merchant key',
    subMerchantPrice: '0.27'
}
item2 = {
    id: 'BI102',
    name: 'Game code',
    category1: 'Game',
    category2: 'Online Game Items',
    itemType: Iyzipay::Model::BasketItemType::VIRTUAL,
    price: '0.5',
    subMerchantKey: 'sub merchant key',
    subMerchantPrice: '0.42'
}
item3 = {
    id: 'BI103',
    name: 'Usb',
    category1: 'Electronics',
    category2: 'Usb / Cable',
    itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
    price: '0.2',
    subMerchantKey: 'sub merchant key',
    subMerchantPrice: '0.18'
}
request = {
    locale: 'tr',
    conversationId: '123456789',
    price: '1.0',
    paidPrice: '1.0',
    basketId: 'B67832',
    paymentGroup: Iyzipay::Model::PaymentGroup::PRODUCT,
    callbackUrl: 'https://www.merchant.com/callback',
    enabledInstallments: [2,3,6,9],
    currency: Iyzipay::Model::Currency::TRY,
    buyer: buyer,
    billingAddress: address,
    shippingAddress: address,
    basketItems: [item1, item2, item3]
}
checkout_form_initialize = Iyzipay::Model::CheckoutFormInitialize.new.create(request, @options)
request = dict([('locale', 'tr')])
request['conversationId'] = '123456789'
request['price'] = '1'
request['paidPrice'] = '1.2'
request['basketId'] = 'B67832'
request['paymentGroup'] = 'PRODUCT'
request['callbackUrl'] = 'https://www.merchant.com/callback'

buyer = dict([('id', 'BY789')])
buyer['name'] = 'John'
buyer['surname'] = 'Doe'
buyer['gsmNumber'] = '+905350000000'
buyer['email'] = 'email@email.com'
buyer['identityNumber'] = '74300864791'
buyer['lastLoginDate'] = '2015-10-05 12:43:35'
buyer['registrationDate'] = '2013-04-21 15:12:09'
buyer['registrationAddress'] = 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1'
buyer['ip'] = '85.34.78.112'
buyer['city'] = 'Istanbul'
buyer['country'] = 'Turkey'
buyer['zipCode'] = '34732'
request['buyer'] = buyer

address = dict([('address', 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1')])
address['zipCode'] = '34732'
address['contactName'] = 'Jane Doe'
address['city'] = 'Istanbul'
address['country'] = 'Turkey'
request['shippingAddress'] = address
request['billingAddress'] = address

basket_items = []
basket_item_first = dict([('id', 'BI101')])
basket_item_first['name'] = 'Binocular'
basket_item_first['category1'] = 'Collectibles'
basket_item_first['category2'] = 'Accessories'
basket_item_first['itemType'] = 'PHYSICAL'
basket_item_first['price'] = '0.3'
basket_item_first['subMerchantKey'] = 'sub merchant key'
basket_item_first['subMerchantPrice'] = '0.27'
basket_items.append(basket_item_first)

basket_item_second = dict([('id', 'BI102')])
basket_item_second['name'] = 'Game code'
basket_item_second['category1'] = 'Game'
basket_item_second['category2'] = 'Online Game Items'
basket_item_second['itemType'] = 'VIRTUAL'
basket_item_second['price'] = '0.5'
basket_item_second['subMerchantKey'] = 'sub merchant key'
basket_item_second['subMerchantPrice'] = '0.42'
basket_items.append(basket_item_second)

basket_item_third = dict([('id', 'BI103')])
basket_item_third['name'] = 'Usb'
basket_item_third['category1'] = 'Electronics'
basket_item_third['category2'] = 'Usb / Cable'
basket_item_third['itemType'] = 'PHYSICAL'
basket_item_third['price'] = '0.2'
basket_item_third['subMerchantKey'] = 'sub merchant key'
basket_item_third['subMerchantPrice'] = '0.18'
basket_items.append(basket_item_third)

request['basketItems'] = basket_items

checkout_form_initialize = iyzipay.CheckoutFormInitialize()
checkout_form_initialize_response = checkout_form_initialize.create(request, options)
//Request
{
    "locale": "tr",
    "conversationId": "123456789",
    "price": "1.0",
    "basketId": "B67832",
    "paymentGroup": "PRODUCT",
    "buyer": {
        "id": "BY789",
        "name": "John",
        "surname": "Doe",
        "identityNumber": "74300864791",
        "email": "email@email.com",
        "gsmNumber": "+905350000000",
        "registrationDate": "2013-04-21 15:12:09",
        "lastLoginDate": "2015-10-05 12:43:35",
        "registrationAddress": "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1",
        "city": "Istanbul",
        "country": "Turkey",
        "zipCode": "34732",
        "ip": "85.34.78.112"
    },
    "shippingAddress": {
        "address": "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1",
        "zipCode": "34742",
        "contactName": "Jane Doe",
        "city": "Istanbul",
        "country": "Turkey"
    },
    "billingAddress": {
        "address": "Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1",
        "zipCode": "34742",
        "contactName": "Jane Doe",
        "city": "Istanbul",
        "country": "Turkey"
    },
    "basketItems": [
        {
            "id": "BI101",
            "price": "0.3",
            "name": "Binocular",
            "category1": "Collectibles",
            "category2": "Accessories",
            "itemType": "PHYSICAL"
        },
        {
            "id": "BI102",
            "price": "0.5",
            "name": "Game code",
            "category1": "Game",
            "category2": "Online Game Items",
            "itemType": "VIRTUAL"
        },
        {
            "id": "BI103",
            "price": "0.2",
            "name": "Usb",
            "category1": "Electronics",
            "category2": "Usb / Cable",
            "itemType": "PHYSICAL"
        }
    ],
    "callbackUrl": "https://www.merchant.com/callback",
    "currency": "TRY",
    "paidPrice": "1.2",
    "enabledInstallments": [
        1,
        2,
        3,
        6,
        9
    ]
}

//Response
{
    "status": "success",
    "locale": "tr",
    "systemTime": 1470731039071,
    "conversationId": "123456789",
    "token": "d9a1d90e-7cfb-4ead-a6ec-34237bac04f0",
    "checkoutFormContent": "<script type=\"text/javascript\">if (typeof iyziInit == 'undefined') {var iyziInit = {currency:'TRY',token:'d9a1d90e-7cfb-4ead-a6ec-34237bac04f0',price:1.20,locale:'tr',baseUrl:'https://sandbox-api.iyzipay.com',registerCardEnabled:true,bkmEnabled:true,userCards:[],force3Ds:false, isSandbox:true, createTag:function(){var iyziCSSTag = document.createElement('link');iyziCSSTag.setAttribute('rel','stylesheet');iyziCSSTag.setAttribute('type','text/css');iyziCSSTag.setAttribute('href','https://sandbox-static.iyzipay.com/checkoutform/css/main.min.css?v=1470731039031');document.head.appendChild(iyziCSSTag);var iyziJSTag = document.createElement('script');iyziJSTag.setAttribute('src','https://sandbox-static.iyzipay.com/checkoutform/js/iyziCheckout.min.js?v=1470731039031');document.head.appendChild(iyziJSTag);}};iyziInit.createTag();}</script>",
    "tokenExpireTime": 1800,
    "paymentPageUrl": "https://sandbox-cpp.iyzipay.com?token=d9a1d90e-7cfb-4ead-a6ec-34237bac04f0&lang=tr"
}

Örnek Kodlar

Korumalı Havale/Eft Woocommerce beta eklentisini linkten indirebilirsiniz.