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