Kullanım Kılavuzu ve Dökümantasyon

Ödeme Yöntemi GeliştirmeRelease Date: 2019/05/02

GitHub üzerinde örnek kodları inceleyin ve indirin

Ödeme Yöntemi Modülleri Nerede Bulunur?

/coremio/modules/Payment/ dizini altında tüm ödeme yöntemleri yer almaktadır. Mevcut modül dosyalarını örnek olarak inceleyebilir ve referans alabilirsiniz.

Yeni Ödeme Yöntemi Geliştirmek

1) Ödeme Yöntemi için Klasör Oluşturun

/coremio/modules/Payment/ dizini  içerisinde yeni bir klasör oluşturun. Klasör adına, geliştireceğiniz ödeme yönteminin adını tanımlayın, isimlendirirken büyük/küçük harf, rakam ve özel karakter olarak _ (alt tire) kullanabilirsiniz.

2) Ödeme Yöntemi Klasör İçeriğini Hazırlayın

2.1) GitHub üzerinden örnek dosyaları temin ederek, oluşturduğunuz klasörün içerisine aktarınız. Örnek Dosyalar
2.2) Klasör içerisinde bulunan ExamplePaymentGateway.php dosya adını, modül klasörünün adı olacak şekilde değiştiriniz.
2.3) ExamplePaymentGateway.php dosyasının içerisinde bulunan tüm "ExamplePaymentGateway" ibarelerini modül Klasörünün adı olacak şekilde değiştiriniz.

3) ExamplePaymentGateway.php Sınıf Yapısı

ExamplePaymentGateway.php dosyasının barındırdığı, sınıf içerisindeki fonksiyon ve değişkenler aşağıda sıralanmıştır.

3.1) $checkout_id, $checkout değişkenleri

Sepet veya fatura da ödeme yöntemi belirlendikten sonra, veritabanındaki "checkouts" tablosuna json olarak sipariş bilgileri kaydedilir, $checkout_id  değişkenine benzersiz ID numarası atanır ve $checkout değişkenine siparişin bilgileri atanır.

3.2) $name, $commission değişkenleri

$name değişkenine, __counstruct() fonksiyonu tarafından modülün adı atanmaktadır. $commission değişkene, eğer ödeme yöntemi için komisyon yansıtmak istiyorsanız "true" veya istemiyorsanız "false" yapabilirsiniz.

3.3) $config değişkeni

__counstruct() fonksiyonu, modülün dizininde bulunan "config.php" dosyasındaki dizi değerini $config değişkenine atamaktadır.

3.4) $lang değişkeni

__counstruct() fonksiyonu tarafından, arayüzde seçilen dile göre, modül dizinindeki "lang" klasörü içerisinde bulunan dil php dosyasını, array olarak çağırmaktadır.

3.5) $page_type değişkeni

Bu değişken iki değerden birini almalıdır.

  • "in-page" :  Sayfanın içerisinde ödeme sayfası gösterilir.
  • "full-page" : ödeme sayfası ekranın tamamını kaplayarak gösterir.

3.6) $callback_type değişkeni

Bu değişken iki değerden birini almalıdır.

  • "server-sided" :  Ödeme yöntemi callback geri dönüş url adresine, sunucu tarafından istek atılıyorsa yazılmalıdır.
  • "client-sided" : Ödeme yöntemi callback geri dönüş url adresine, kullanıcı tarafından istek atılıyorsa yazılmalıdır.

3.7) get_auth_token() fonksiyonu

Bu fonksyion güvenlik amacıyla kullanılmaktadır. Callback URL adresine web sitesi sahibi dışındaki kişilerin erişememesi için, dönüş olarak bir hash değeri döndürür.

3.8) set_checkout($checkout) fonksiyonu

Sipariş bilgilerinin tutulduğu veriyi, sınıf içerisinde saklar.

3.9) commission_fee_calculator($amount) fonksiyonu

Eğer modülün $commission değişkeni aktif ise, ödeme sayfasına gitmeden önce bu fonksiyon yardımıyla, ara toplamın ödeme komisyon tutarını hesaplayıp çıkan sonucu döndürülür. Sepet veya fatura ödemesinde komisyon oranını gösterilir.

3.10) get_commission_rate() fonksiyonu

Komisyon oranın yüzde kaç olduğunu döndürür.

3.11) cid_convert_code($id=0) fonksiyonu

Sipariş bilgilerinde yer alan "currency  ID" değerinin para birimi kodunu öğrenmek için, "currencies" tablosunda eşleşen id değerine göre para birimi kodunu elde eder.

3.12) payment_result() fonksiyonu

Callback sayfasına istek atıldıktan sonra, bu fonksiyon çalışır ve ödemeyi teyit etmek için kullanılır. Dönüş olarak array dönmesi  zorunludur.

Dönecek değerler şunlardır;

Adı Zorunlu Açıklama
status Evet checkout array dizisi döndüğü takdirde ilgili siparişin veya faturanın durumunu günceller. Alacağı değerler:  "SUCCESS" Ödeme tamamen başarılı olduğunda gönderilmelidir.
"PAPPROVAL" Eğer yönetici onayı gerektiriyorsa gönderilmelidir.
"ERROR" ödeme ile ilgili herhangi bir sorun oluşmuşsa gönderilir.
status_msg Hayır checkout array dizisi döndüğü taktirde yöneticiyi ödemenin başarısız olduğu ve neden olduğunu belirten yerde status_msg mesajı yer alır. Eğer status değeri SUCCESS şeklinde gelirse ve status_msg değerini json olarak gönderirseniz faturanın detayında tablo olarak  anahtar ve dğer olarak gösterilecektir.
checkout Kısmen Evet Siparişin veya Faturanın ödenme durumu güncellenebilmesi için checkout verisine ihtiyaç duyar bu veri içerisinden  siparişin bilgilerini elde eder.

4) /pages/payform.php Dosya Yapısı

bu dosya ödeme sayfasında görünecek dosyadır. İçerisine ödeme formunu ekleyebilirsiniz.

İçerisinde kullanabileceğiniz değişkenler;

4.1) $module değişkeni

Bu değişken modülün sınıf dosyasını (object) olarak döndürür.

4.2) $checkout değişkeni

Bu değişken sipariş bilgilerini barındırmaktadır. print_r() ile dönen değerleri görebilirsiniz.

4.3) $links değişkeni

Bu değişkende, bağlantı linkleri "successful-page" , "failed-page" , "back" , "callback"  değerlerini döndürmektedir.

4.4) $_LANG değişkeni

Arayüzde belirlenen dil ne ise, onun modül üzerindeki dizi değerini döndürür.

5) config.php Meta Dizisi

Adı Türü Açıklama
name String Modülün adı yer almalıdır.
version Integer Versiyon numarası
logo
String Modülün ana dizinindeki görsel dosya adı

Geliştirme aşamalarında, fatura ve sepet ödeme ekranlarını kontrol ve test etmeyi ihmal etmeyiniz.

Copyright © 2019. Tüm hakları saklıdır.
Top