İyzico ile pazaryeri entegrasyonu yapalım

Bildiğiniz gibi iyzico.com Api entegrasyon yardım dokümantasyonunu kullanıcıların hizmetine sunarak özel projelerinde geliştirme yapmalarına
olanak tanımıştı.

Bir çok ödeme alternatifi geliştirerek biz kullanıcı/müşterilere ödeme noktasında kolaylık sağladı. Bu ödeme olanaklarından biri de Pazaryeri modeli.

Pazaryeri modeli nedir?

iyzico.com, pazaryeri modelini şöyle açıklayabiliriz;
Pazaryeri modelinde “alt üye iş yerleri” ile çalışabilirsiniz.
Alt üye iş yerleriniz, tarafınızdan oluşturulur ve bu
oluşturulan üye iş yerlerine iyzico sizin onayınız dahilinde ödeme yapar.
Kısaca tanımlayacak olursak durum böyle.

Peki biz bu yapıda bir entegrasyon nasıl sağlayacağız?
Aslında iyzico size bu anlamda entegre etmeniz gereken bir iki satırlık bir kod veriyor. Bu kodu ise standart ödeme formuna dahil ederek kullanmanızı istiyor.
setSubMerchantKey ve setSubMerchantPrice
Bu iki parametreyi standart ödeme formuna set ederek ödeme almaya başlayabilir, ve alt üye iş yerlerimize ücret dağılımını yapabiliriz.

Tüm bunları yapmadan önce alt üye iş yeri oluşturmak gerekir. Bunu yapmak için iyzico’nun verdiği şu fonksiyonu kullanabiliriz.

require_once('config.php');
function create_personal_sub_merchant()
{
    # create request class
    $request = new \Iyzipay\Request\CreateSubMerchantRequest();
    $request->setLocale(\Iyzipay\Model\Locale::TR);
    $request->setConversationId("123456789");
    $request->setSubMerchantExternalId("B49224");
    $request->setSubMerchantType(\Iyzipay\Model\SubMerchantType::PERSONAL);
    $request->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1");
    $request->setContactName("John");
    $request->setContactSurname("Doe");
    $request->setEmail("email@submerchantemail.com");
    $request->setGsmNumber("+905350000000");
    $request->setName("John's market");
    $request->setIban("TR180006200119000006672315");
    $request->setIdentityNumber("31300864726");
    $request->setCurrency(\Iyzipay\Model\Currency::TL);
    # make request
    $subMerchant = \Iyzipay\Model\SubMerchant::create($request, Config::options());
    # print result
    print_r($subMerchant);
}

Bu fonksiyonu çalıştırarak iyzico tarafında artık bir adet Alt üye iş yeri oluşturmuş olacağız. Burada dikkat etmemiz gereken husus şu. iyzico size 3 tip üye oluşturma seçeneği sunuyor. Bireysel, Şahıs Şirketi, Firmalar gibi. Siz uygun olan üye iş yerini oluşturmak için gerekli fonksiyonu çalıştıracaksınız.

Bu fonksiyonlara buradaki link ten ulaşıp inceleyebilirsiniz.

Dikkat etmemiz gereken ikinci ve en önemli yer ise şudur,
Oluşturulan her alt üye ye ait bir subMerchant kodu döner bize. Bu kod bizim üyeye ait kimlik numaramızdır ve güncelleme, silme, onay verme gibi işlemleri bu kod ile yapabiliriz. Bu sebeple bu kodu veritabanında saklamanızı öneririm.

SubMerchant kodunu

$degisken = $subMerchant->getsubMerchantKey();
olarak fonksiyon içerisinde çağırabilirsiniz.

Evet. Yukarıda bulunan Alt üye oluşturma fonksiyonunu kullanarak, iyzico tarafında bir adet iş yeri oluşturmuş olduk. Oluşturduğumuz iş yeri ile bir adette subMerchant kodu elde etmiş olduk.

Hepinizin bildiği gibi iyzico ya ait standart bir ödeme formu vardır. Bu ödeme formuna yazımızın en başında belirttiğimiz gibi bir iki satır kod set ederek formu pazaryeri ödeme formuna dönüştüreceğiz.

Ödeme Formunu Oluşturalım.

Bildiğiniz gibi iyzico ödeme formu içerisinde standart alanlar gelir. Satırın en altına doğru, firstBasketItem olan birincil sepet değişkenini göreceksiniz. Sizler birden çok sepet gönderebilirsiniz. Ben tek bir sepet göndereceğim için firstBasketItem içerisine bahsettiğimiz pazaryeri kodlarını ekleyeceğim.

Ekleyeceğimiz kod ise şu:

$firstBasketItem->setSubMerchantKey("5D8k1r1SyxqDd+BDQd7p1Es2NVE="); //İşte Burası oluşturduğumuz alt üye iş yeri kodu yani (subMerchanKey)
$firstBasketItem->setSubMerchantPrice("50"); // Burası ise alt üye iş yerinin alacağı ücret. Ben 50tl olarak belirledim.
Sonuç olarak görmemiz gereken sepet item’larımız bu şekilde olacak.
$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("150");
$firstBasketItem->setSubMerchantKey("5D8k1r1SyxqDd+BDQd7p1Es2NVE=");
$firstBasketItem->setSubMerchantPrice("50");
$basketItems[0] = $firstBasketItem;

Evet. Ödeme formunda yapmamız gereken değişiklikler bundan ibaretti. Artık alacağınız ödemeler belirttiğiniz subMerchantKey kimliği olan kullanıcıya belirttiğimiz SubMerchantPrice değerinde ödeme yapılacaktır.

Ödemeleri iyzico paneli alt üye iş yeri işlemlerinde görmüş olacaksınız.

Bu entegrasyon kısmında Üye alt işyeri ve ödeme formunu oluşturmuş olduk. Bir sonraki entegrasyonda ödemelerin listelenmesi, onayı, iade talepleri gibi işlemleri ele alacağız.

You May Also Like

About the Author: ismailcakir

Uzmanlık alanım, Php yazılım dili olmakla beraber Codeigniter, Laravel, Symfony2 gibi Frameworkler kullanmaktayım.

2 Comments

  1. Anlatım güzel olmuş ama şu geri dönen submerchant kodunu nasıl alacağız biraz daha açar mısınız. Konunun devamını ne zaman gelecek teşekkürler.

    1. Merhaba,
      fonksiyon içinde bir değişkene atayarak kullanabilirsiniz.

      function create_personal_sub_merchant(){
        $degisken = $subMerchant->getsubMerchantKey();
      }

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir