BKM Başlatma :
BKM Sonuç Öğrenme :
BKM Express, BKM ve Bankalar tarafından geliştirilen, güvenli bir ödeme sistemidir. 3D ödeme seçeneğindeki gibi iki aşamadan oluşur.
Servise gönderilmesi gereken parametreler şu şekildedir:
Parametre İsmi | Tip | Zorunlu | 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. en kullanılabilir. |
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. En yaygın kullanış biçimi üye işyerinin sipariş numarasıdır. |
price | Decimal | Evet | Ödeme sepet tutarı. Kırılım (sepetin içerisindeki ürünler) tutarlar toplamı sepet tutarına eşit olmalı. |
currency | String | Evet | Ödemenin alınacağı para birimi default TRY olarak belirlenmiştir. Diğer değerler ise USD, EUR ve GBP. |
installment | Integer | Evet | Taksit bilgisi, tek çekim için 1 gönderilmelidir. Geçerli değerler: 1, 2, 3, 6, 9, 12. |
basketId | String | Hayır | Üye işyeri tarafından ilgili ödemenin sepetini tanımlamak için kullanılan id'dir. Sipariş numarası veya anlamlı bir değer olabilir. |
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, OTHER |
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(BasketItems) | String | Evet | Üye işyeri tarafındaki sepetteki ürüne ait id. |
itemType(BasketItems) | String | Evet | Üye işyeri tarafındaki sepetteki ürüne ait tip. Geçerli enum değerler: PHYSICAL ve VIRTUAL |
name(BasketItems) | String | Evet | Üye işyeri tarafındaki sepetteki ürüne ait isim. |
category1(BasketItems) | String | Evet | Üye işyeri tarafındaki sepetteki ürüne ait kategori 1. |
category2(BasketItems) | String | Hayır | Üye işyeri tarafındaki sepetteki ürüne ait kategori 2. |
price(BasketItems) | 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 İsmi | Tip | Açıklama |
---|---|---|
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ğeri tr’dir. |
systemTime | Long | Dönen sonucun o anki unix timestamp değeridir. |
conversationId | String | İstek esnasında gönderilmişse, sonuçta aynen geri iletilir. |
htmlContent | String | Render edildiğinde gerekli yönlendirmenin yapılmasını sağlayan içerik. |
redirectUrl | String | Yönlendirme yapabileceğiniz bağlantı adresi. |
token | String | Ödeme isteğine özel, iyzico tarafından oluşturulan değer. |
tokenExpireTime | String | Tokenin geçerlilik süresi. |
$request = new \Iyzipay\Request\CreateBkmInitializeRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setPrice("1");
$request->setBasketId("B67832");
$request->setPaymentGroup(\Iyzipay\Model\PaymentGroup::PRODUCT);
$request->setCallbackUrl("https://www.merchant.com/callback");
$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);
$bkmInitialize = \Iyzipay\Model\BkmInitialize::create($request, Config::options());
CreateBkmInitializeRequest request = new CreateBkmInitializeRequest();
request.Locale = Locale.TR.ToString();
request.ConversationId = "123456789";
request.Price = "1";
request.BasketId = "B67832";
request.PaymentGroup = PaymentGroup.PRODUCT.ToString();
request.CallbackUrl = "https://www.merchant.com/callback";
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;
BkmInitialize bkmInitialize = BkmInitialize.Create(request, options);
CreateBkmInitializeRequest request = new CreateBkmInitializeRequest();
request.setLocale(Locale.TR.getValue());
request.setConversationId("123456789");
request.setPrice(new BigDecimal("1"));
request.setBasketId("B67832");
request.setPaymentGroup(PaymentGroup.PRODUCT.name());
request.setCallbackUrl("https://www.merchant.com/callback");
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);
BkmInitialize bkmInitialize = BkmInitialize.create(request, options);
var request = {
locale: Iyzipay.LOCALE.TR,
conversationId: '123456789',
price: '1',
basketId: 'B67832',
paymentGroup: Iyzipay.PAYMENT_GROUP.PRODUCT,
callbackUrl: 'https://www.merchant.com/callback',
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.bkmInitialize.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',
basketId: 'B67832',
paymentGroup: Iyzipay::Model::PaymentGroup::PRODUCT,
callbackUrl: 'https://www.merchant.com/callback',
buyer: buyer,
billingAddress: address,
shippingAddress: address,
basketItems: [item1, item2, item3]
}
bkm_initialize = Iyzipay::Model::BkmInitialize.new.create(request, @options)
request = dict([('locale', 'tr')])
request['conversationId'] = '123456789'
request['price'] = '1'
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
bkm_initialize = iyzipay.BKMInitialize()
bkm_initialize_response = bkm_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"
}
//Response
{
"status": "success",
"locale": "tr",
"systemTime": 1470729185337,
"conversationId": "123456789",
"htmlContent": "PCFkb2N0eXBlIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ii8+CiAgICA8dGl0bGU+QktNIEluaXRpYW
xpemVyPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPGRpdj4KICAgIDxmb3JtIGlkPSJia21IaWRkZW5Gb3JtIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaHR0cHM6Ly9z
YW5kYm94LWFwaS5peXppcGF5LmNvbS9wYXltZW50L2JrbS9tb2NrL2luaXRpYWxpemUiID4KICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0IiB2YW
x1ZT0ibW9ja1Rva2VuXzE0NzA3MjkxODUyOTkiLz4KICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0cyIgdmFsdWU9IjE0NzA3MjkxODUyOTkiLz4K
ICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzIiB2YWx1ZT0iYjM0YzRiYTgtNWQ3YS00MThhLWIwZWItMTVkYTQyMWY1MTk2Ii8+CiAgICAgICAgPH
NjcmlwdD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmttSGlkZGVuRm9ybScpLnN1Ym1pdCgpOzwvc2NyaXB0PgogICAgPC9mb3JtPgo8L2Rpdj4KPC9ib2R5Pgo8
L2h0bWw+",
"token": "mockToken_1470729185299"
}
Örnek Kodlar
htmlContent parametresini ekrana bastırdığınızda BKM Express login ekranı görüntülenecektir. Hesap sahibi login olduğunda ve kartını seçip ödeme yaptıktan sonra otomatik olarak callbackUrl parametresinde belirttiğiniz adrese yönlenecek ve iyzico bu adrese aşağıdaki değerleri post edecektir.
BKM Express işlem sonucunu öğrenebilmek için dönüş adresinize(callbackUrl) aşağıdaki parametre dönecektir.
Parametre İsmi | Tip | Açıklama |
---|---|---|
token | String | Başlatma esnasında sizin ile paylaşılan BKM ödeme sonucunu taşıyan değerdir. |
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. |
token | string | evet | Dönüş parametresi olarak yer alan ödeme isteğine özel, iyzico tarafından oluşturulan değer. |
Servisten dönen parametreler şu şekildedir:
Parametre İsmi | Tip | Açıklama |
---|---|---|
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ğeri tr’dir. |
systemTime | Long | Dönen sonucun o anki unix timestamp değeridir. |
conversationId | String | İstek esnasında gönderilmişse, sonuçta aynen geri iletilir. |
paymentId | String | Ödemeye ait id, üye işyeri tarafından mutlaka saklanmalıdır. Ödemenin iptali ve iyzico ile iletişimde kullanılır. |
price | Decimal | Ödeme sepet tutarı. Kırılım tutarlar toplamı sepet tutarına eşit olmalı. |
paidPrice | Decimal | İndirim vade farkı vs. hesaplanmış POS’tan geçen, tahsil edilen, nihai tutar. |
currency | String | Ödemenin alındığı para birimi. |
installment | Integer | Ödemenin taksit bilgisi, tek çekim için 1 döner. Geçerli değerler: 1, 2, 3, 6, 9. |
paymentStatus | String | İşlemin sonucunu gösterir. Geçerli değerler SUCCESS, FAILURE, INIT_THREEDS, CALLBACK_THREEDS, BKM_POS_SELECTED, CALLBACK_PECCO |
basketId | String | Üye işyeri tarafından gönderilen sepet id’si. |
binNumber | String | Ödeme yapılan kartın ilk 6 hanesi. |
cardAssociation | String | Eğer ödeme yapılan kart yerel bir kart ise, kartın ait olduğu kuruluş. Geçerli değerler: VISA, MASTER_CARD, AMERICAN_EXPRESS, TROY |
cardFamily | String | Eğer ödeme yapılan kart yerel bir kart ise, kartın ait olduğu aile. Geçerli değerler: Bonus, Axess, World, Maximum, Paraf, CardFinans, Advantage. |
cardType | String | Eğer ödeme yapılan kart yerel bir kart ise, kartın ait olduğu tipi. Geçerli değerler: CREDIT_CARD, DEBIT_CARD, PREPAID_CARD. |
fraudStatus | Integer | Ödeme işleminin fraud filtrelerine göre durumu. Eğer ödemenin fraud risk skoru düşük ise ödemeye anında onay verilir, bu durumda 1 değeri döner. Eğer fraud risk skoru yüksek ise ödeme işlemi reddedilir ve -1 döner. Eğer ödeme işlemi daha sonradan incelenip karar verilecekse 0 döner. Geçerli değerler: 0, -1 ve 1. Üye işyeri sadece 1 olan işlemlerde ürünü kargoya vermelidir, 0 olan işlemler için bilgilendirme beklemelidir. |
iyziCommissionFee | Decimal | Ödemeye ait iyzico işlem ücreti. |
iyziCommissionRateAmount | Decimal | Ödemeye ait iyzico işlem komisyon tutarı. |
merchantCommissionRate | Decimal | Üye işyerinin uyguladığı vade/komisyon oranı. Örneğin price=100, paidPrice=110 ise üye işyeri vade/komisyon oranı %10’dur. Bilgi amaçlıdır. |
merchantCommissionRateAmount | Decimal | Üye işyerinin uyguladığı vade/komisyon tutarı. Örneğin price=100, paidPrice=110 ise üye işyeri vade/komisyon tutarı 10’dur. Bilgi amaçlıdır. |
paymentTransactionId (ItemTransactions) | String | Ödeme kırılımına ait id, üye işyeri tarafından mutlaka saklanmalıdır. Ödeme kırılımının iadesi, onayı, onay geri çekmesi ve iyzico ile iletişimde kullanılır. Tercihen itemId ile ilişkili bir şekilde tutulmalıdır. |
itemId(ItemTransactions) | String | Üye işyeri tarafından iletilen, sepetteki ürüne ait id. |
price(ItemTransactions) | Decimal | Üye işyeri tarafındaki sepetteki ürüne ait tutar. |
paidPrice(ItemTransactions) | Decimal | Tahsilat tutarının kırılım bazındaki dağılımı. Üye işyeri tarafından mutlaka saklanmalıdır. |
transactionStatus (ItemTransactions) | Integer | Ödeme kırılımının durumu. Ödeme fraud kontrolünde ise 0 değeri döner, bu durumda fraudStatus değeri de 0’dır. Ödeme, fraud kontrolünden sonra reddedilirse -1 döner. Pazaryeri modelinde ürüne onay verilene dek bu değer 1 olarak döner. Pazaryeri modelinde ürüne onay verilmişse bu değer 2 olur. Geçerli değerler: 0, -1, 1, 2. |
blockageRate(ItemTransactions) | Decimal | Kırılım bazında üye işyeri blokaj oranı. iyzico – üye işyeri anlaşmasına göre, üye işyerine işlem bazında blokaj uygulayabilir. Bu blokaj üye işyeri fraud riskini önlemek içindir, blokaj süresi boyunca para iyzico’da tutulur, bu süre sonrası üye işyerine gönderilir. |
blockageRateAmountMerchant(ItemTransactions) | Decimal | Kırılım bazında üye işyeri blokaj tutarının, üye işyerine yansıyan rakamı. Blokaj tutarı mümkün olduğunca üye işyerine yansıtılır. Eğer blokaj tutarı, üye işyeri tutarından daha büyükse bu durumda alt üye işyerine de yansıtılır. |
blockageResolvedDate(ItemTransactions) | String | İşlem bazında blokaj çözülme tarihi. yyyy-MM-dd HH:mm:ss formatındadır, örneğin 2015-10-19 14:36:52. |
iyziCommissionFee(ItemTransactions) | Decimal | iyzzico işlem ücretinin kırılım bazında dağılmış tutarı. |
iyziCommissionRateAmount(ItemTransactions) | Decimal | iyzico işlem komisyon tutarının kırılım bazında dağılmış tutarı. |
merchantCommissionRate(ItemTransactions) | Decimal | Üye işyerinin uyguladığı vade/komisyon oranının kırılım bazında dağılmış oranı. |
merchantCommissionRateAmount(ItemTransactions) | Decimal | Üye işyerinin uyguladığı vade/komisyon tutarıın, kırılım bazında dağılmış tutarı. |
merchantPayoutAmount(ItemTransactions) | Decimal | Bu kırılım için, iyzico işlem ücreti, komisyon tutarı ve blokajlar düşüldükten sonra üye işyerine gönderilecek tutar. |
paidPrice(ItemTransactions)(convertedPayout) | Decimal | Tahsilat tutarının kırılım bazındaki dağılımı. Üye işyeri tarafından mutlaka saklanmalıdır. |
iyziCommissionFee(ItemTransactions)(convertedPayout) | Decimal | iyzico işlem ücretinin kırılım bazında dağılmış tutarı. |
iyziCommissionRateAmount(ItemTransactions)(convertedPayout) | Decimal | iyzico işlem komisyon tutarının kırılım bazında dağılmış tutarı |
blockageRateAmountMerchant(ItemTransactions)(convertedPayout) | Decimal | Kırılım bazında üye işyeri blokaj tutarının, üye işyerine yansıyan rakamı. Blokaj tutarı mümkün olduğunca üye işyerine yansıtılır. Eğer blokaj tutarı, üye işyeri tutarından daha büyükse bu durumda alt üye işyerine de yansıtılır. |
merchantPayoutAmount(ItemTransactions)(convertedPayout) | Decimal | Bu kırılım için, iyzico işlem ücreti, komisyon tutarı ve blokajlar düşüldükten sonra üye işyerine gönderilecek tutar. |
iyziConversationRate(ItemTransactions)(convertedPayout) | Decimal | Bu kırılım için, iyzico işlem ücreti, komisyon tutarı ve blokajlar düşüldükten sonra üye işyerine gönderilecek tutar. |
iyziConversationRateAmount(ItemTransactions)(convertedPayout) | Decimal | Bu kırılım için, iyzico işlem ücreti, komisyon tutarı ve blokajlar düşüldükten sonra üye işyerine gönderilecek tutar. |
currency(ItemTransactions)(convertedPayout) | String | Ödemenin alındığı para birimi. |
token | String | Ödeme isteğine özel, iyzico tarafından oluşturulan değer. |
$request = new \Iyzipay\Request\RetrieveBkmRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setToken("token");
$bkm = \Iyzipay\Model\Bkm::retrieve($request, Config::options());
RetrieveBkmRequest request = new RetrieveBkmRequest();
request.Locale = Locale.TR.ToString();
request.ConversationId = "123456789";
request.Token = "token";
Bkm bkm = Bkm.Retrieve(request, options);
RetrieveBkmRequest request = new RetrieveBkmRequest();
request.setLocale(Locale.TR.getValue());
request.setConversationId("123456789");
request.setToken("token");
Bkm bkm = Bkm.retrieve(request, options);
iyzipay.bkm.retrieve({
locale: Iyzipay.LOCALE.TR,
conversationId: '123456789',
token: 'token'
}, function (err, result) {
console.log(err, result);
done();
});
request = {
locale: 'tr',
conversationId: '123456789',
token: '1462280336796'
}
bkm = Iyzipay::Model::Bkm.new.retrieve(request, @options)
request = dict([('locale', 'tr')])
request['conversationId'] = '123456789'
request['token'] = 'token'
bkm_auth = iyzipay.BKMAuth()
bkm_auth_response = bkm_auth.retrieve(request, options)
//Request
{
"locale": "tr",
"conversationId": "123456789",
"token": "mockToken_1470729185299"
}
//Response
{
"status": "success",
"systemTime": 1470729901341,
"price": 1,
"paidPrice": 1.01,
"installment": 2,
"paymentId": "26134",
"fraudStatus": 1,
"merchantCommissionRate": 1,
"merchantCommissionRateAmount": 0.01,
"iyziCommissionRateAmount": 0.0429048,
"iyziCommissionFee": 0.25,
"cardType": "CREDIT_CARD",
"cardAssociation": "VISA",
"cardFamily": "Maximum",
"binNumber": "469884",
"basketId": "B67832",
"currency": "TRY",
"itemTransactions": [
{
"itemId": "BI101",
"paymentTransactionId": "38216",
"transactionStatus": 2,
"price": 0.3,
"paidPrice": 0.303,
"merchantCommissionRate": 1,
"merchantCommissionRateAmount": 0.003,
"iyziCommissionRateAmount": 0.01287144,
"iyziCommissionFee": 0.075,
"blockageRate": 10,
"blockageRateAmountMerchant": 0.0303,
"blockageRateAmountSubMerchant": 0,
"blockageResolvedDate": "2016-08-16 11:03:33",
"subMerchantPrice": 0,
"subMerchantPayoutRate": 0,
"subMerchantPayoutAmount": 0,
"merchantPayoutAmount": 0.18482856,
"convertedPayout": {
"paidPrice": 0.303,
"iyziCommissionRateAmount": 0.01287144,
"iyziCommissionFee": 0.075,
"blockageRateAmountMerchant": 0.0303,
"blockageRateAmountSubMerchant": 0,
"subMerchantPayoutAmount": 0,
"merchantPayoutAmount": 0.18482856,
"iyziConversionRate": 0,
"iyziConversionRateAmount": 0,
"currency": "TRY"
}
},
{
"itemId": "BI102",
"paymentTransactionId": "38217",
"transactionStatus": 2,
"price": 0.5,
"paidPrice": 0.505,
"merchantCommissionRate": 1,
"merchantCommissionRateAmount": 0.005,
"iyziCommissionRateAmount": 0.0214524,
"iyziCommissionFee": 0.125,
"blockageRate": 10,
"blockageRateAmountMerchant": 0.0505,
"blockageRateAmountSubMerchant": 0,
"blockageResolvedDate": "2016-08-16 11:03:33",
"subMerchantPrice": 0,
"subMerchantPayoutRate": 0,
"subMerchantPayoutAmount": 0,
"merchantPayoutAmount": 0.3080476,
"convertedPayout": {
"paidPrice": 0.505,
"iyziCommissionRateAmount": 0.0214524,
"iyziCommissionFee": 0.125,
"blockageRateAmountMerchant": 0.0505,
"blockageRateAmountSubMerchant": 0,
"subMerchantPayoutAmount": 0,
"merchantPayoutAmount": 0.3080476,
"iyziConversionRate": 0,
"iyziConversionRateAmount": 0,
"currency": "TRY"
}
},
{
"itemId": "BI103",
"paymentTransactionId": "38218",
"transactionStatus": 2,
"price": 0.2,
"paidPrice": 0.202,
"merchantCommissionRate": 1,
"merchantCommissionRateAmount": 0.002,
"iyziCommissionRateAmount": 0.00858096,
"iyziCommissionFee": 0.05,
"blockageRate": 10,
"blockageRateAmountMerchant": 0.0202,
"blockageRateAmountSubMerchant": 0,
"blockageResolvedDate": "2016-08-16 11:03:33",
"subMerchantPrice": 0,
"subMerchantPayoutRate": 0,
"subMerchantPayoutAmount": 0,
"merchantPayoutAmount": 0.12321904,
"convertedPayout": {
"paidPrice": 0.202,
"iyziCommissionRateAmount": 0.00858096,
"iyziCommissionFee": 0.05,
"blockageRateAmountMerchant": 0.0202,
"blockageRateAmountSubMerchant": 0,
"subMerchantPayoutAmount": 0,
"merchantPayoutAmount": 0.12321904,
"iyziConversionRate": 0,
"iyziConversionRateAmount": 0,
"currency": "TRY"
}
}
],
"token": "mockToken_1470729185299",
"callbackUrl": "https://www.merchant.com/callback",
"paymentStatus": "SUCCESS"
}
Örnek Kodlar