TALHA KESKİN

Web Developer / UI Designer / Graphic & Web Designer

Kartal - İSTANBUL

Hoşgeldiniz. PHP, CSS, Javascript, jQuery, Bootstrap, PSD TO CSS, C#, .NET, Ajax, MsSQL, MySQL İşlerinizi yapabilirim.

Sosyal Profillerim
  • Yazı Detayı

PHP – Paytr Entegrasyon Yapımı

Bu Yazı PHP İçin Yazılmıştır.

Bu yazımda sizlere Türkiye’de hazır ödeme sistemlerinden en çok aranan ödeme yöntemlerinden birisi olan Pay-TR entegrasyonunun nasıl yapıldığına dair bilgi vermek istedim. PHP – Paytr Entegrasyon Yapımı konusunda bilgi arıyorsanız bu yazıyı sonuna kadar okuyarak biraz yazılım bilgisi ile kolay bir şekilde halledebilirsiniz.

Daha önce İyzico Entegresini Şu Konuda anlatmıştım

Pay-TR’de iyzico gibi. Bizi tek tek bankaların sanal poslarının kodlarından kurtarıyor. Yani tek entegrasyonda tüm bankaların sistemlerini entegre etmiş oluyoruz. (Ha burada komisyon daha fazlamı az mı bilmiyorum.)

Öncelikle Pay-TR’nin dökümanını Pay-TR’nin bize vermiş olduğu kullanıcı bilgileri ile Pay-TR panelinegirerek indirmemiz gerekiyor.

Paytr entegrasyonu için ne gerekli ?

  1. merchant id (xxxx benzeri rakamlardan oluşur)
  2. merchant key (xxxxxX123 benzeri rakamlar ve harflerden oluşur)
  3. merchant salt key (xxxxxX123 benzeri rakamlar ve harflerden oluşur)

Yukarıda yazdığım keyleri ve id’i temin ettiysek artık entegasyonun nasıl yapılacağına geçelim.

Anlatımlarım 3 farklı kod sayfasından oluşacak. Bunlar ;

  1. Ödeme Classı
  2. Ödeme Sayfası
  3. Ödeme Sonuç Sayfası (kullanıcılara Görünen)
  4. Pay-TR Bildirim Sayfası (kullanıcılara görünmeden arkaplanda çalışan)

Şimdi öncelikle odeme.php isimli bir class dosyası hazırlayalım.

Yukarıda ödeme.php isimli ödeme classımızı oluşturduk. Bu classın başına en başta edindiğimiz keyleri ve id’yi ekledik.

1. Paytr PHP Entegrasyonu – Siparişi Ekleme

Pay-TR’nin ödeme formunu size getirebilmesi için bazı bilgilere ihtiyacı vardır. Bu nedenle öncelikli olarak siparişimizi veritabanına kaydedip durumunu pasif olarak ayarlamamız gerekiyor. Aynı zamanda veritabanına kaydettikten sonra yukarıdaki classımızda formgetir fonksiyonunun ihtiyacı olan parametreleri ödemeyi ekledikten sonra almamız gerekecek. PHP – Pay-TR Entegrasyon Yapımı konusunda detaylar devam etmektedir.

Yukarıdaki gibi classımızdaki siparisEkle fonksiyonunu güncelliyoruz. Yukarıdaki kodlarımızda ne yaptığımızı açıklayalım. İşlem yapan kullanıcı sitemize üye ise sessiondan gelen kullanıcı id’sini UyeID olarak aldık. Siparişimizin tutarını fiyat olarak aldık. Kullanıcının isminin ve diğer bilgilerinin bir formdan POST olarak geldiğini var sayarak onları aldık. Daha sonra aldığımız tüm bilgileri veritabanımızdaki siparisler tablomuza ekledik. Daha sonra bu bilgileri sonraki fonksiyonumuz olan formGetir fonksiyonumuzda kullanılmak üzere return ettik (döndürdük.)

Bir sonraki aşamada PHP – Paytr Entegrasyon Yapımı konusunun ödeme sayfasını hazırlamalıyız.

2. Paytr PHP Entegrasyonu – Odeme Sayfasını Hazırlama

Şimdi projemize odemesayfasi.php isimli bir dosya ekliyoruz. Bu dosyaya classımızı dahil ediyoruz. Bu kodları herhangi HTML kodlarının arasına koyabilirsiniz.

Yukarıda odemesayfasi.php dosyamıza classımızı dahil ettik ve classın içindeki siparisEkle fonksiyonunu çalıştırdık. Şimdi Pay-TR’nin formunu getirmek için formGetir fonksiyonunu çağırabiliriz

Classımızdaki siparisEkle fonksiyonundan dönen parametreleri formGetir fonksiyonuna gönderdik. Şimdi classın içindeki formGetir fonksiyonunu güncelleyelim ki form odemesayfasi.php’ye düzgün şekilde gelsin.

3. Paytr PHP Entegrasyonu – Ödeme Formunu Getirme

Pay-TR getirmek için parametrelerimizi başarılı bir şekilde kullandık. Şimdi kullanıcı ödemeyi yaptıktan sonra gideceği sayfa olan siparissonucu.php sayfasını hazırlayalım

4. Paytr PHP Entegrasyonu – Ödeme Sonucunu Kullanıcılara Gösterme

Hemen belirtmek isterim ki bu sayfa siparişin onaylandığı sayfa değildir. Bu sayfa kullanıcıya önden bilgilendirme yapılan sayfadır.

5. Paytr PHP Entegrasyonu – Pay-TR Bildirim Sayfasını Yapma

İşte bu sayfa bizin asıl sonuç sayfamız olarak Pay-TR’nin döndüğü sayfamız. Bunu kullanıcılar görmeyecek. odemesonucu.php dosyasını yapıyoruz ve classımızı dahil ederek sonuç fonksiyonunu çalıştırıyoruz. Herhangi HTML kodunun olmaması gerekmektedir.

Şimdi ödeme classımızdaki paytrSonuc fonksiyonumuzu güncelliyoruz

Paytr bize siparişid numaramızı tekrar merchant_oid olarak gönderdi. Ve bizde bunu kullanarak siparişin durumunu güncelledik. Eğer Pay-TR Bize hata döndü ise failed_reason_code – failed_reason_msg parametreleri ile daha sonra ne hatası döndürdüğünü veritabanımıza işledik.


Bir cevap yazın

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

*

*

*