hkucuk

İyzico Ödeme Sistemi Laravel Paketi

August 19, 2015 • ☕️ 2 dk okuma • 🏷 bilgisayar, yazılım

Yazar tarafından şu dillere çevrildi: English


Iyzico gayet basit ve kolay anlaşılır bir ödeme sistemi. İyzico hakkında daha ayrıntılı bilgi almak için sitesindeki bağlantıları takip edebilir, ayrıca ayrıntılı bir kullanımı için şu adresi takip edebilirsiniz. Ben burada iyzico’nun bize sunduğu api’nin kullanımı için PHP Laravel Framework‘üne uygun olarak geliştirdiğim paketin tanıtımını yapacağım.


Çalışma Mantığı

Iyzico’nun temel çalışma mantığında “2 sorgu 2 cevap” prensibi yatmaktadır. İlk önce belirli parametreleri iyzico api-ye göndererek bir ödeme formu istiyoruz. Ardından kullanıcı formu doldurup onayladıktan sonra iyzico’dan gelen cevaplara göre işlemlerimizi yönlendiriyoruz.

Geliştirdiğim paket bu aşamaların iyzico api-ye bağlanarak ödeme formu isteme aşamasını laravel için uygun bir hale getiriyor. Gerçi bu aşamlar normal bir fonksiyon tanımlama ile de gerçekleştirilebilir fakat laravel dünyasının gelişimine katkı sağlamak hiçte kötü bir düşünce değil.

Paket Bağlantıları:
Github: https://github.com/medyun/hkucuk-iyzico-laravel-package Packagist: https://packagist.org/packages/hkucuk/iyzico

Paketin Yüklenmesi:
Paketin yüklenmesi için Composer kullanmamız gerekiyor. Eğer composer kullanımıyorsanız linki takip ederek hemen kullanmaya başlamalısınız. Proje dosyamızdaki composer.json dosyasına aşağıdaki eklemeyi yapıyoruz:

{
    "require": {
        "hkucuk/iyzico": "v1.0.0"
    }
}

Ardından composer dosyamızı update ediyoruz:

composer update

Buraya kadar sorun yok ise paket bilgisayarınıza yüklenmiş durumda olacaktır. Bundan sonra paketin laravel’de kullanılabilir duruma gelmesi için aşağıdaki düzenlemeleri yapmamız gerekiyor.

İlk olarak config/app.php dosyası içerisindeki providers değerine aşağıdaki eklemeyi yapıyoruz.

'providers' => array(
    // ...
    'Hkucuk\Iyzico\IyzicoServiceProvider',
)

Ardından yine config/app.php dosyasındaki aliases değerine aşağıdaki eklemeyi yapıyoruz.

'aliases' => array(
    // ...
    'Iyzico' => 'Hkucuk\Iyzico\Facades\Iyzico',
)

Bu ayarların ardından son olarak paketi publish etmemiz gerekiyor. Bunun içinde consol’dan aşağıdaki komudu çalıştırmamız yeterli olacaktır.

php artisan vendor:publish

Paketin Kullanımı

Paket içerisinde gelen config/config.php içerisindeki api_id ve secret değerlerini girmemiz gerekiyor. Eğer bu değerleri ana config kalsörünüzün altına taşımak isterseniz config/packages/hkucuk/iyzico/config.php dosyasını oluşturarak, bu dosya içerisinde de tanımlayabilirsiniz.

$data = array(
    "customer_language" => "tr",
    "mode" => "test",
    "external_id" => rand(),
    "type" => "CC.DB",
    "installment" => true,
    "amount" => 1099,
    "return_url" => "http://example.com/iyzicoResponse",
    "currency" => "TRY"
);

$response = Iyzico::getForm($data);

echo $response->code_snippet;

Ödeme formu isteme işlemi yukarıdaki gibi yapılabilir. Burada $data içerisinde gönderilen parametreler değişkenlik gösterebilir, ihtiyaca uygun olarak belirlenebilir. Burada dönen cevabın code_snippet değeri bize formun kodlarını vermektedir. Bu kodları ekrana bastığımızda ödeme formu gözükecektir.

Form gönderildikten sonra iyzico’dan bize gelen cevabı aşağıdaki gibi izleyebilir:

$data = json_decode(Input::get("json"), true);
var_dump($data);

Hepsi bu kadar. İşler yolunda gider ise bu adımların ardından Laravel ile iyzico bağlantısı bu şekilde gerçekleştirilebilir.

Kolay gelsin.