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


Yayımlandı

kategorisi

yazarı:

Yorumlar

“İyzico ile pazaryeri entegrasyonu yapalım” için 23 yanıt

  1. Sadi avatarı
    Sadi

    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. ismailcakir avatarı

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

      function create_personal_sub_merchant(){
        $degisken = $subMerchant->getsubMerchantKey();
      }
      
  2. Mustafa avatarı
    Mustafa

    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. ismailcakir avatarı

      Onaylama işlemini bir sonra ki konuda bahsedeceğim.

  3. orhan avatarı
    orhan

    merhaba ben submerchankey cekemiyorum localhostta ne yapmam gerek?

    1. ismailcakir avatarı

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

  4. eren avatarı

    Hocam selamlar paymentTransactionId değerini nasıl alabilirim acaba ödeme onaylamak için gerekiyor.

    1. ismailcakir avatarı

      Onaylama işlemini bir sonra ki konuda bahsedeceğim.

  5. hakan avatarı
    hakan

    Merhaba woocommerce çoklu satıcı için de gelir mi bir bilgilendirme makalesi

    1. ismailcakir avatarı

      Merhaba,
      woocommerce iyzico entegrasyonu içinde bir hazırlık yapabiliriz.

  6. Okan avatarı

    Merhabalar hocam.

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

    1. ismailcakir avatarı

      Dokan için Iyzico dosyalarını indirip include ederek bahsettiğim entegrasyon işlemlerini sağlamanız gerekmekte.

  7. Celal Özdemir avatarı

    Merhaba İsmail bey Opencart’ta hangi sayfaları hangi bölüme koyacağız ?

    1. ismailcakir avatarı

      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.

  8. orkun avatarı

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

    İyi çalışmalar.

    1. ismailcakir avatarı

      Merhaba,
      İlginiz için teşekkür ederim fakat şuan için iş yoğunluğum sebebi ile yardımcı olamıyorum.

  9. Anonim Biri İşte :) avatarı
    Anonim Biri İşte 🙂

    Merhaba İsmail Bey,

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

    1. ismailcakir avatarı

      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. Anonim Biri İşte :) avatarı
        Anonim Biri İşte 🙂

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

      2. Sunay avatarı
        Sunay

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

        1. ismailcakir avatarı

          Şuan için maalesef yardımcı olamıyorum.

  10. ümi avatarı
    ümi

    İ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. ismailcakir avatarı

      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 yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir