PECCO ile Ödeme

Pecco ile ödeme servisi İran kartlarından Riyal ile ödeme almanızı sağlar. İki aşamadan oluşur.

PECCO Başlatma

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ı.
paidPrice Decimal Evet İndirim vade farkı vs. hesaplanmış POS’tan geçecek nihai tutar. Price değerinden küçük, büyük veya eşit olabilir.
currency String Evet Ödemenin alınacağı para birimi default IRR olarak belirlenmiştir.
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
callbackUrl String Evet 3D Secure ödeme akışında üye işyerine başarılı ve hatalı sonucu bildirmek üzere alınan URL adresi. Sadece 3D Secure ödemenin init3DS metodunda zorunludur.
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.

Başlatıldıktan sonra aşağıdaki değerler response olarak alınır.

Servisten dönen parametreler şu şekildedir:

Parametre İsmi Veri Tipi 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\CreatePeccoInitializeRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setPrice("100000");
$request->setPaidPrice("120000");
$request->setCurrency(\Iyzipay\Model\Currency::IRR);
$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("30000");
$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("50000");
$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("20000");
$basketItems[2] = $thirdBasketItem;
$request->setBasketItems($basketItems);

$peccoInitialize = \Iyzipay\Model\PeccoInitialize::create($request, Config::options());
CreatePeccoInitializeRequest request = new CreatePeccoInitializeRequest();
request.Locale = Locale.TR.ToString();
request.ConversationId = "123456789";
request.Price = "100000";
request.PaidPrice = "120000";
request.Currency = Currency.IRR.ToString();
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 = "30000";
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 = "50000";
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 = "20000";
basketItems.Add(thirdBasketItem);
request.BasketItems = basketItems;

PeccoInitialize peccoInitialize = PeccoInitialize.Create(request, options);
CreatePeccoInitializeRequest request = new CreatePeccoInitializeRequest();
request.setLocale(Locale.TR.getValue());
request.setConversationId("123456789");
request.setPrice(new BigDecimal("100000"));
request.setPaidPrice(new BigDecimal("120000"));
request.setCurrency(Currency.IRR.name());
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("30000"));
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("50000"));
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("20000"));
basketItems.add(thirdBasketItem);
request.setBasketItems(basketItems);

PeccoInitialize peccoInitialize = PeccoInitialize.create(request, options);
var request = {
    locale: Iyzipay.LOCALE.TR,
    conversationId: '123456789',
    price: '100000',
    paidPrice: '120000',
    currency: Iyzipay.CURRENCY.IRR,
    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: '30000'
        },
        {
            id: 'BI102',
            name: 'Game code',
            category1: 'Game',
            category2: 'Online Game Items',
            itemType: Iyzipay.BASKET_ITEM_TYPE.VIRTUAL,
            price: '50000'
        },
        {
            id: 'BI103',
            name: 'Usb',
            category1: 'Electronics',
            category2: 'Usb / Cable',
            itemType: Iyzipay.BASKET_ITEM_TYPE.PHYSICAL,
            price: '20000'
        }
    ]
};

iyzipay.peccoInitialize.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: '30000',
}
item2 = {
    id: 'BI102',
    name: 'Game code',
    category1: 'Game',
    category2: 'Online Game Items',
    itemType: Iyzipay::Model::BasketItemType::VIRTUAL,
    price: '50000',
}
item3 = {
    id: 'BI103',
    name: 'Usb',
    category1: 'Electronics',
    category2: 'Usb / Cable',
    itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
    price: '20000',
}
request = {
    locale: Iyzipay::Model::Locale::TR,
    conversationId: '123456789',
    price: '100000',
    paidPrice: '120000',
    basketId: 'B67832',
    paymentGroup: Iyzipay::Model::PaymentGroup::LISTING,
    callbackUrl: 'https://www.merchant.com/callback',
    currency: Iyzipay::Model::Currency::IRR,
    buyer: buyer,
    billingAddress: address,
    shippingAddress: address,
    basketItems: [item1, item2, item3]
}
pecco_initialize = Iyzipay::Model::PeccoInitialize.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

pecco_initialize = iyzipay.PeccoInitialize()
pecco_initialize_response = pecco_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": "IRR",
    "paidPrice": "1.2"
}
//Response
{
 "status": "success",
 "locale": "tr",
 "systemTime": 1470730149318,
 "conversationId": "123456789",
 "htmlContent": "<!doctype html>\n<html lang=\"en\">\n<head>\n    <title>Merchant Pecco Initialize Form</title>\n</head>\n
 <body onload=\"submitIyzicoPeccoInitializeForm()\">\n\n<form id=\"iyzico-pecco-initial-form\" name=\"iyzico-pecco-initial-form\" 
action=\"https://sandbox-api.iyzipay.com/payment/mock/pecco-init?au=118087&callbackUrl=/payment/pecco/callback\" method=\"post\">\n
</form>\n\n<script language=\"Javascript\">\n    function submitIyzicoPeccoInitializeForm() {\n        
document.getElementById(\"iyzico-pecco-initial-form\").submit();\n    }\n</script>\n</body>\n</html>",
 "redirectUrl": "https://sandbox-api.iyzipay.com/payment/mock/pecco-init?au=118087&callbackUrl=/payment/pecco/callback",
 "token": "f6e3a3e6-2a28-403e-a25a-cde75f48f04f",
 "tokenExpireTime": 2100
}

Örnek Kodlar

redirectUrl parametresine yönlendirme yaptığınız zaman İran ödeme sayfası açılacaktır. İşlemler tamamlandıktan sonra otomatik olarak callbackUrl parametresinde belirttiğiniz adrese yönlenecek ve iyzico bu adrese aşağıdaki değerleri post edecektir.

Servise gönderilmesi gereken parametreler şu şekildedir:

Parametre İsmi Tip Açıklama
token String Başlatma esnasında sizin ile paylaşılan Pecco ödemesi yapmanıza olanak sağlayacak değerdir.
PECCO ile ödeme

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 taradı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.
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ında ü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 iyzico 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ı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\CreatePeccoPaymentRequest();
$request->setLocale(\Iyzipay\Model\Locale::TR);
$request->setConversationId("123456789");
$request->setToken("token");

$peccoPayment = \Iyzipay\Model\PeccoPayment::create($request, Config::options());
CreatePeccoPaymentRequest request = new CreatePeccoPaymentRequest();
request.Locale = Locale.TR.ToString();
request.ConversationId = "123456789";
request.Token = "token";

PeccoPayment peccoPayment = PeccoPayment.Create(request, options);
CreatePeccoPaymentRequest request = new CreatePeccoPaymentRequest();
request.setLocale(Locale.TR.getValue());
request.setConversationId("123456789");
request.setToken("token");

PeccoPayment peccoPayment = PeccoPayment.create(request, options);
iyzipay.peccoPayment.create({
    locale: Iyzipay.LOCALE.TR,
    conversationId: '123456789',
    token: 'token'
}, function (err, result) {
    console.log(err, result);
    done();
});
    request = {
        locale: Iyzipay::Model::Locale::TR,
        conversationId: '123456789',
        token: 'token',
    }
    pecco_payment = Iyzipay::Model::PeccoPayment.new.create(request, @options)
request = dict([('locale', 'tr')])
request['conversationId'] = '123456789'
request['token'] = 'token'

pecco_payment = iyzipay.PeccoPayment()
pecco_payment_response = pecco_payment.create(request, options)
//Request
{
    "locale": "tr",
    "conversationId": "123456789",
    "token": "f6e3a3e6-2a28-403e-a25a-cde75f48f04f"
}

//Response
{
    "status": "success",
    "locale": "tr",
    "systemTime": 1470730297379,
    "conversationId": "123456789",
    "price": 1,
    "paidPrice": 1.2,
    "installment": 1,
    "paymentId": "26140",
    "fraudStatus": 1,
    "merchantCommissionRate": 20,
    "merchantCommissionRateAmount": 0.2,
    "iyziCommissionRateAmount": 0.048,
    "iyziCommissionFee": 1.152,
    "basketId": "B67832",
    "currency": "IRR",
    "itemTransactions": [
        {
            "itemId": "BI101",
            "paymentTransactionId": "38223",
            "transactionStatus": 2,
            "price": 0.3,
            "paidPrice": 0.36,
            "merchantCommissionRate": 20,
            "merchantCommissionRateAmount": 0.06,
            "iyziCommissionRateAmount": 0.0144,
            "iyziCommissionFee": 0.3456,
            "blockageRate": 10,
            "blockageRateAmountMerchant": 0,
            "blockageRateAmountSubMerchant": 0,
            "blockageResolvedDate": "2016-08-16 11:11:37",
            "subMerchantPrice": 0,
            "subMerchantPayoutRate": 0,
            "subMerchantPayoutAmount": 0,
            "merchantPayoutAmount": 0,
            "convertedPayout": {
                "paidPrice": 0.00003618,
                "iyziCommissionRateAmount": 0.00000145,
                "iyziCommissionFee": 0.00003473,
                "blockageRateAmountMerchant": 0,
                "blockageRateAmountSubMerchant": 0,
                "subMerchantPayoutAmount": 0,
                "merchantPayoutAmount": 0,
                "iyziConversionRate": 0,
                "iyziConversionRateAmount": 0,
                "currency": "TRY"
            }
        },
        {
            "itemId": "BI102",
            "paymentTransactionId": "38224",
            "transactionStatus": 2,
            "price": 0.5,
            "paidPrice": 0.6,
            "merchantCommissionRate": 20,
            "merchantCommissionRateAmount": 0.1,
            "iyziCommissionRateAmount": 0.024,
            "iyziCommissionFee": 0.576,
            "blockageRate": 10,
            "blockageRateAmountMerchant": 0,
            "blockageRateAmountSubMerchant": 0,
            "blockageResolvedDate": "2016-08-16 11:11:37",
            "subMerchantPrice": 0,
            "subMerchantPayoutRate": 0,
            "subMerchantPayoutAmount": 0,
            "merchantPayoutAmount": 0,
            "convertedPayout": {
                "paidPrice": 0.0000603,
                "iyziCommissionRateAmount": 0.00000241,
                "iyziCommissionFee": 0.00005789,
                "blockageRateAmountMerchant": 0,
                "blockageRateAmountSubMerchant": 0,
                "subMerchantPayoutAmount": 0,
                "merchantPayoutAmount": 0,
                "iyziConversionRate": 0,
                "iyziConversionRateAmount": 0,
                "currency": "TRY"
            }
        },
        {
            "itemId": "BI103",
            "paymentTransactionId": "38225",
            "transactionStatus": 2,
            "price": 0.2,
            "paidPrice": 0.24,
            "merchantCommissionRate": 20,
            "merchantCommissionRateAmount": 0.04,
            "iyziCommissionRateAmount": 0.0096,
            "iyziCommissionFee": 0.2304,
            "blockageRate": 10,
            "blockageRateAmountMerchant": 0,
            "blockageRateAmountSubMerchant": 0,
            "blockageResolvedDate": "2016-08-16 11:11:37",
            "subMerchantPrice": 0,
            "subMerchantPayoutRate": 0,
            "subMerchantPayoutAmount": 0,
            "merchantPayoutAmount": 0,
            "convertedPayout": {
                "paidPrice": 0.00002412,
                "iyziCommissionRateAmount": 9.6e-7,
                "iyziCommissionFee": 0.00002316,
                "blockageRateAmountMerchant": 0,
                "blockageRateAmountSubMerchant": 0,
                "subMerchantPayoutAmount": 0,
                "merchantPayoutAmount": 0,
                "iyziConversionRate": 0,
                "iyziConversionRateAmount": 0,
                "currency": "TRY"
            }
        }
    ],
    "token": "f6e3a3e6-2a28-403e-a25a-cde75f48f04f"
}

Örnek Kodlar