PayU, e-ticaret ile uğraşanların duyduğu hatta belkide kullandığı özel bir sanal pos çözüm sistemidir. Tabi internetten alışveriş yapan biriyseniz biryerlerde karşılaşmış olmanız da muhtemel.
Sadece PayU ödeme sistemi ile bir çok banka kartı üzerinden ödeme alınabiliyorsunuz. Sistem güzel fakat kurulumu konusunda dökümantasyonu yeterli değil. Sitesinde de örnek dosyaları bulamadım. En sonunda destek talebi için mail attım. Saat 3 ten sonra gönderilen destek maillerine ertesi gün cevap veriyorlarmış. Bana PHP için Ortak Ödeme Sayfası kurulumu için çalışan örnek dosyaları gönderdiler. Bu örnek dosyalara aşağıda ki linkten ulaşabilirsiniz.
Dökümantasyon ile kurmaya çalışmanızı tavsiye etmiyorum zira sanırım yanlış anlatılıyor. Sürekli Invalid+Signature hatası alıyorsunuz ve çıldırma noktasına geliyorsunuz. Kurulumunun bu kadar kolay olmasına şaşırdım açıkcası. PayU’nun bu örnek dosyaları açık bir şekilde de neden sunmadığını anlamadım.
Ekteki örnek dosyalar ile PayU sistemini başarılı ve kolay bir şekilde sisteminize entegre edebilirsiniz. Şimdiden kolay gelsin.
https://www.chndkmn.com/download/payuortak_odeme_sayfasi.zip
28 comments
Günlerdir hash_hmac ile uğraşmaktan çıldırmıştım. Akıl sağlığımı koruduğunuz için çok teşekkür ederim.
Eklediğiniz dosyalar üzerinde çalışmaya başladım. Ancak herşeyi halletmeme rağmen birden fazla ürünü formda listeleyemedim. Yalnızca sepete eklene son ürünün bilgilerini forma çekiyor. Siz bu sorunu nasıl çözdünüz?
Forma çağırdığım siparişleri do – while döngüsüne sokup birer arttırarak sorunu çözdüm.
Teşekkürler.
Çözdüğünüze sevindim 🙂
arkadaşlar ben entegre edemedim, bu konuda yardımcı olabilir misin acaba bana ?
Helal eline sağlık. çok temiz bir şekilde olayı halletmişsin.
Sıkıntısız çalışıyor.
Merhaba,
Öncelikle elinize sağlık, çok başarılı bir class olmuş.
Benim takıldığım bir yer var ve bir çözüm bulamadım. Yardımcı olabilirseniz sevinirim.
Teşekkürler,
BACK_REF alanına set ettiğim adresteki response değerleri boş geliyor. Senaryo şu şekilde;
1) form.php den BACK_REF alanını set ediyorum
$liveUpdate->setBackRef(“http://www.icrauzmani.com/payu/formBackRef.php”);
2) Bankanın 3D secure işlemi gerçekleştikten sonra (sms şifreyi girdikten sonra), formBackRef.php içerisinde aşağıdaki şekilde response almaya çalışıyorum ama boş geliyor.
Ancak ödeme işleminin gerçekleştiğini https://secure.payu.com.tr/cpanel den görüyorum.
<?php
echo 'REFNO:’ . $_POST[“REFNO”];
echo ‘ALIAS:’ . $_POST[“ALIAS”];
echo ‘STATUS:’ . $_POST[“STATUS”];
echo ‘RETURN_CODE:’ . $_POST[“RETURN_CODE”];
echo ‘RETURN_MESSAGE:’ . $_POST[“RETURN_MESSAGE”];
echo ‘DATE:’ . $_POST[“DATE”];
echo ‘ORDER_REF:’ . $_POST[“ORDER_REF”];
echo ‘AUTH_CODE:’ . $_POST[“AUTH_CODE”];
echo ‘URL_3DS:’ . $_POST[“URL_3DS”];
echo ‘HASH:’ . $_POST[“HASH”];
?>
Merhaba,
formBackRef.php içinde print_r($_POST); çalıştırıp post edilen tüm değerleri göre bilirsin.
Umarım sorunu çözmüşsündür.
İptal işlemini nasıl yaptınız var mı onunda örneği?
birden fazla ürünü nasıl product olarak ekliyorsunuz?
Tam hatırlayamıyorum. Alttaki kodları her ürün için ayrı ayrı döndürüp deneyebilir misiniz?
$pname = “Product nameĞŞÇÖıİ”;
$pcode = “Product code”;
$pinfo = “Product info”;
$price = “89.90”;
$priceType = “GROSS”;
$quantity = “1”;
$tax = “67”;
$product = new PayuProduct($pname,$pcode,$pinfo,$price,$priceType,$quantity,$tax);
$liveUpdate->addProduct($product);
Yaklaşık 2 gündür daha önce hazırlanmış kodları inceliyordum. PayU ile iletişime geçtiğimde bana dokümanı gönderdiler buradan halledebilirsiniz dediler. O dokümanın içinden de hash kodunu nasıl hmac_md5 e çevirdiğini keyi nasıl kullandığını bir türlü çözemedim.
Tam vazgeçmiştim ki karşıma çıktın. Teşekkür ediyorum paylaşımın için
Merhabalar Link geçersiz hale gelmiş. Rica etsem tekrar yüklermisiniz dosyayı
Link düzeltildi. Uyardığınız için teşekkür ederim.
Bu öğe yok veya artık kullanılamıyor olabilir
Bu öğe silinmiş veya süresi dolmuş olabilir ya da bu öğeyi görüntüleme izniniz olmayabilir. Daha fazla bilgi için bu öğenin sahibine başvurun.
Git: OneDrive
Tekrar kontrol edebilir misiniz?
Link geçersiz halde. Tekrardan günceller misiniz?
Teşekkürler
Link Güncellendi.
merhaba, onedrive Bu öğe yok veya artık kullanılamıyor olabilir, tekrar yükleyebilirmisiniz
Link güncellendi.
Link çalışmıyor dosya yok
Link güncellendi.
hocam linki güncelleyebilir misiniz? Teşekkürler
Güncellendi 😉
Merhaba,bacref’den değerleri nasıl alacağım bilemiyorum yardımcı olur musunuz bu konu da?
ortak ödeme sayfası değil de normal olarak ödeme işlemi yapmak nasıl olabilir? örnek kod var mı acaba elinizde?
merhaba bende bende dökümanı inceleyerek c# ta kodu geliştirdim ama generateHmac metodunda takıldı. bu konuda bana yardıcı olabilirseniz çok sevinirim.
public static function generateHmac($key, $data)
{
$b = 64; // byte length for md5
if (strlen($key) > $b) {
$key = pack(“H*”, md5($key));
}
$key = str_pad($key, $b, chr(0x00));
$ipad = str_pad(”, $b, chr(0x36));
$opad = str_pad(”, $b, chr(0x5c));
$k_ipad = $key ^ $ipad;
$k_opad = $key ^ $opad;
return md5($k_opad . pack(“H*”, md5($k_ipad . $data)));
}
Selamlar , ben back_ref-de takildim . yardim ederseniz cok sevinirim .
BACK_REF sayfamda(formBackRef.php) payu-dan gelen ctrl deyerini kontrol edemiyorum . documantion-i okudum orda gosderildigi gibi kodlari yaziyorum hata aliyorum .
Dokumanlarinda böyle izah etmişler.
Yönlendirmenin PayU’dan geldiğinden emin olmak için, yönlendirmenin yapılacağı URL’ye bir kontrol değişkeni eklenir.
Kontrol değişkeni (bir GET parametresi, ctrl) aynı zamanda URL’nin uzunluğunun (parametreler dahil) önüne
eklenmesiyle PayU’nun yönlendirdiği URL’den (tüm parametrelerle birlikte) oluşan bir dizi üzerinde hesaplanan HMAC
MD5’tir
Daha önce de sizin örneğinizi inceledikten sonra hatamı bulmuştum. Kısmette yıllar sonra gene sizin sitenizden yararlanmak varmış. Öncekini hatırlamıyorum ama bu sefer ki yanlış kur göndermeye çalışmamdan kaynaklanıyormuş. Tekrar teşekkürler 🙂