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

8

You May Also Like

About the Author: ismailcakir

Uzmanlık alanım php olmakla beraber, Codeigniter, Laravel freamworkleri kullanmaktayım. NodeJs, Vue, Flutter ile de geliştirmeler yapmaktayım.

23 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();
      }
  2. Merhabalar subMerchantKeyile alakalı bir sorun yok anlattığınız gibi ytaptım oldu çek teşekkürler,
    şuan ödeme onayında sorun yaşıyorum ,ödemeyi onaylama işlemini yapamadım yardımcı olabilirmisiniz.

    1. Merhaba,
      $subMerchant->getsubMerchantKey(); bir değişken içerisine atarak alabilirsiniz. Localhost’ta session gibi değerlerinizin oluşturulduğundan emin olun.

  3. Merhabalar hocam.

    Woocommerce Dokan’a nasıl entegre edeceğim. Iyziconun wordpress eklentisi var onunla da olmuyor. Yardımlarınızı bekliyorum.

    1. Merhaba,
      Bu işlemler Iyzico’nun create_sub_merchant.php dosyasında gerçekleştirilmekte. Opencart modülünüz de muhtemelen Controller / Payment altında iyzico.php içerisinde yapılmalıdır.

  4. Merhaba İsmail Bey
    Bu api hakkında profesyonel yardım alabilir miyiz sizden ? WordPress sitemize lazım bu api.

    İyi çalışmalar.

  5. Merhaba İsmail Bey,

    Oluşturduğumuz alt üye işyerini silebiliyormuyuz/geçersiz kılabiliyormuyuz?

    1. Evet üye iş yerlerini listeleyip, askıya alıp silebilirsiniz.
      Iyzıco Entegrasyon sayfasından bununla ilgili parametre ve yardım konularına göz atabilirsiniz.

      1. İyi yıllar ilk önce baktım da bulamadım ben acaba link atabilirmisiniz şimdiden teşekkür ederim.

      2. Hocam merhaba, size mail atmıştım ücretli destek için. Yardımcı olabilir misiniz?

  6. İsmail Bey merhaba,

    Dokan pazaryeri eklentisi için iyzico entegrasyonu için bu belirtilen kodları sitemde hangi klasör içinde entegre etmem gerek yardımcı olursanız çok sevinirim.

    1. Merhaba,
      Dokan Multivendor için açıkcası çok fazla inceleme yapamadım. Iyzico tarafında hangi sürümleri destekliyor bilmiyorum. Bu konu için ayrıca bir çalışma yapabiliriz.

Bir cevap yazın

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