• 20-07-2009, 23:00:19
    #1
    Üyeliği durduruldu
    Merhaba,

    Daha once https://www.r10.net/hosting-sirketler...-kullanma.html adresinde BilgiHost arkadasimiz bir baslik acarak AWBS kullanicilarina TL fiyatlandirmada USD ile Paypal'dan odeme almanin bir yolunu gostermisti.

    Bu yol sadece siparis tutarini USD ye ceviriyordu.Her gun kuru manuel girmek gerekiyordu.Ayrica AWBS odemeyi Paypal'dan eksik aliyordu bu yolla.Nedeni de su.Mesela 3 TL lik bir alisveris yapildi.Dolar kuru 1.5 ise bu 2$ yapiyor.Musteri Paypal da 2$ odeme yapiyor ve bunun AWBS ye donusu 2 oluyor.Bu durumda AWBS 3 birimlik odemeye 2 birim odeme yapildi gorup faturayi kapatmiyor.

    Ben bu noktadan yola cikarak bu sistemi gelistirdim ve tamamen otomatik calisan sorunsuz bir hale soktum.Artik AWBS kullanarak TL fiyatlandirmasindan Paypal ile odeme kabul edebileceksiniz.

    Bunun icin su birkac degisikligi yapmaniz yeterli..

    Oncelikle kullandigimiz temanin ppverify.php dosyasini aciyoruz.Eger AWBS 2.8.x kullaniyorsaniz bu dosya /templates/common_files icerinde yer almaktadir.

    Ben anlatimimi AWBS 2.7.x versiyonuna gore yapiyorum. 2.8.x de de satirlar birbirine cok yakin.Kolayca uyarlayabilirsiniz.

    ppverify.php dosyasinda su satiri buluyoruz.

     <!--begin page content-->
    Bu satirin hemen altina su kodu ekliyoruz:

    <?php
    $adres = "http://realtime.paragaranti.com/asp/xml/icpiyasa.asp";
    $kaynak = file_get_contents($adres);
    
    $kurlar = '#<LAST>(.*?)</LAST>#si';
    preg_match_all($kurlar,$kaynak,$kur);
    
    $d_satis = $kur[1][1];
    $kur = floatval( str_replace(",", ".", $d_satis) );
    $toplam = round($total_charge/$kur, 2);
    ?>
    Bu kod ile Garanti Bankasi XML servisinden anlik dolar satis kurunu cekiyoruz.Bunu TCMB den de yapabilirdim ancak TCMB kurlari gunde bir kere guncelliyor.Bu da ani dalgalanmalarda soruna yol aciyor.Garanti Bankasi ise anlik guncelledigi icin siparis esnasindaki en guncel kuru kullanabiliyorsunuz.

    Bu islemin ardindan yine ppverify.php dosyasinda su satiri buluyoruz:

    <input type="hidden" name="a3" value="<?=$total_charge?>">
    Ve bu satiri su sekilde degistiriyoruz:

    <input type="hidden" name="a3" value="<?=$toplam?>">
    Burda dikkat etmemiz gereken nokta bu satirdan 2 tane olmasi.Birkac satir asagida ayni satirdan bir tane daha var.Onu da degistirmeniz lazim.Yoksa sistem calismayacaktir.

    Bu degisiklikleri yaptiktan sonra bu dosyayi kaydediyoruz.Ardindan AWBS'nin kurulu oldugu ana dizine donuyoruz.Burada pp2.php adinda bir dosya yaratiyoruz ve icerisine su veriyi giriyoruz.

    <?php
    $adres = "http://realtime.paragaranti.com/asp/xml/icpiyasa.asp";
    $kaynak = file_get_contents($adres);
    
    $kurlar = '#<LAST>(.*?)</LAST>#si';
    preg_match_all($kurlar,$kaynak,$kur);
    
    $d_satis = $kur[1][1];
    
    $kur = floatval( str_replace(",", ".", $d_satis) );
    $toplam = round($total_charge/$kur, 2);
    $ppamount  = round($ppamount * $kur,2);
    ?>
    Bu sekilde pp2.php dosyamizi da ana dizine kaydettikten sonra AWBS admin panelinden Paypal odemesini aktif ediyoruz.

    Bu islemlerin ardindan musteriler Paypal ile odemeyi sectiklerinde sistem otomatik olarak o anki kurdan toplam tutari USD ye cevirip musteriyi Paypal a yonlendirecek.Musteri odemeyi tamamlayip dondukten sonra da yapilan odeme miktarini yine o anki kurdan TL ye cevirip TL faturaya yansitacak.

    En az 10 kere denedim sorunsuz calisiyor

    Bir sorununuz olursa sorabilirsiniz.

    Bu arada bu kod icin puf noktasini saglayan BilgiHost ve sonsuzhost'a tesekkurler.
  • 20-07-2009, 23:07:48
    #2
    Ellerinize Sağlık Güzel Bir Calışma Oldu ama bunu ana dizine acalım biz
  • 20-07-2009, 23:10:55
    #3
    Üyeliği durduruldu
    Ana dizin derken?
  • 20-07-2009, 23:25:16
    #4
    hosting firmaları bölümünün en altına benim konuyu actım yere acsak daha iyi olur bu bölüme fazla giren yok
  • 21-07-2009, 03:34:13
    #5
    Üyeliği durduruldu
    Bilmiyorum ben AWBS yi gorunce kategori olarak buraya actim.Eger orasi daha uygunsa adminler oraya tasiyabilir
  • 23-10-2009, 03:33:43
    #6
    Arkadaşın verdiği kodlara bir iki ekleme yaptım umarım bana kızmaz

    Paypalın aldığı %4 komisyon bedelini yansıtmak isteyebilirsiniz bende bunun için birkaç ekleme yaptım.

    ppverify.php dosyasını acıyoruz ve aşağıdaki verdiğim kodu eskisi ile değiştiriyoruz.
    <?php
    $adres = "http://realtime.paragaranti.com/asp/xml/icpiyasa.asp";
    $kaynak = file_get_contents($adres);
    $kurlar = '#<LAST>(.*?)</LAST>#si';
    preg_match_all($kurlar,$kaynak,$kur);
    $d_satis = $kur[1][1];
    $kur = floatval( str_replace(",", ".", $d_satis) );
    $toplam = round($total_charge/$kur*1.04, 2);
    $komisyon = round($toplam-$toplam/1.04, 2);
    ?>
    Değişikliği yaptıktan sonra aynı dosyadan aşağıdakini bulun

    <td  align="center" class="title"><?=PPVERIFYBLURB?></td>
    </tr>
    <tr> 
    <td align="center"> <p><br>
    <br>
    <?=PPVERIFYYOURCHARGES?> <?=LCURRENCYSYMBOL?><?=$toplam?><?=USD?> 
    <br>
    <br>
    <br>
    <br>
    <?=PPVERIFYBLURB2?><br>
    Aşağıdaki ile değiştiriniz.

    <td  align="center" class="title"><?=PPVERIFYBLURB?></td>
    </tr>
    <br>
    <td align="center"><b>Paypal Ödemelerindeki %4 Komisyon Bedeli Tutara Eklenmiştir.</b></td>
    <br>
    <tr> 
    <td align="left"> <p><br>
    <br>
    Ödenmesi Gereken : <?=$total_charge?> TL
    <br>
    <br>
    Günlük Dolar Kuru : <?=$kur?>
    <br>
    <br>
    Toplam Ödenmesi Gereken : <?=LCURRENCYSYMBOL?><?=$toplam?><?=USD?>
    <br>
    <br>
    Paypal Komisyon Tutarı : <?=$komisyon?> <?=USD?> - <?=round(($komisyon*$kur), 2);?> TL
    <br>
    <br>
    <?=PPVERIFYYOURCHARGES?>
    <br>
    <br>
    <br>
    <br>
    <?=PPVERIFYBLURB2?><br>
    Ve işlem tamamdır. Görüntü için deneme yapabilirsiniz.
  • 26-10-2009, 03:42:37
    #7
    Üyeliği durduruldu
    merak ettiğim notify url pp.php . Birincisi notify url yi değiştirmeden nasıl pp2.php yi kullanıyor, ikincisi ise notify url pp2.php olsa bile paypal ın gönderdiği veriyi nerede yakalıyor?
  • 27-11-2009, 00:48:57
    #8
    Üyeliği durduruldu
    Biraz geç oldu ama yeni gördüm kusura bakmayın.

    Sistem724,

    İstediğin gibi değişiklik yapabilirsin kodlarda..Zaten basit bir php scripti..

    HostingDevi,

    Bahsettiğin şey AWBS'nin kodlamasından kaynaklanıyor.Bana bu bilgiyi direk AWBS teknik ekibi verdi. AWBS kodları Ioncube ile şifreli olduğu için pp.php modifiye edilemiyor. Bu nedenle scripti varsa önce pp2.php yi dikkate alacak,yoksa direk pp.php yi dikkate alacak şekilde ayarlamışlar.
  • 06-12-2009, 12:30:01
    #9
    Üyeliği durduruldu
    Alıntı
    Bahsettiğin şey AWBS'nin kodlamasından kaynaklanıyor.Bana bu bilgiyi direk AWBS teknik ekibi verdi. AWBS kodları Ioncube ile şifreli olduğu için pp.php modifiye edilemiyor. Bu nedenle scripti varsa önce pp2.php yi dikkate alacak,yoksa direk pp.php yi dikkate alacak şekilde ayarlamışlar.
    teşekkürler.