Codeigniter ve Paypal: Nasıl çalışıyor

3 Cevap php

Iki rastgele soru benim Codeigniter tabanlı web uygulaması içine Paypal IPN integerate çalışın.

1) Bu iki hat aynı mı?

$data['pp_info'] = $this->input->post();

$data['pp_info'] = $_POST;

Eğer paypal dönen veri almak gibi onlar ödemiş farkında ilk ödeme - 2) Bir kullanıcı paypal kullanarak servisini kullanmak için bir aylık yinelenen ücret ödemeyi kabul eder. Kullanıcılar şu ay için ödenen varsa Ama nasıl takip edersiniz? Nasıl kullanıcı kendi paypal hesabı iptal değil biliyor musunuz?

Herhangi bir yardım için teşekkür ederiz

3 Cevap

1) Evet, ama CI gelecekte yönteme değişiklikleri (güvenlik filtresi, vb) yapar örtmek, ilk birini kullanmanız gerekir.

2) PayPal "bu adamlar kart süresi doldu" ve "ödeme yinelenen bu diğer çocuklar işlendikten" diyor birkaç saatte aramak için gereken bir URL var. URL PayPal kontrol paneli zımbırtısının olacaktır.

1) Dikkatli olun - güvenlik için size CodeIgniter'ın mesajı () işleyicisi kullanmak istiyorum, ancak CI \ n hat-getiri standardises ederken, Paypal \ r \ n beklediğini unutmayın. Eğer dikkatli değilseniz Yani, Paypal GEÇERSİZ olarak multi-line girişi reddeder. Benim bu aşmanın PayPal IPN library Ben bunu:

    foreach (array_keys($_POST) as $field)
    {
            $value = $this->input->post($field);
            $ipnData[$field] = str_replace("\n", "\r\n", $value);
    }

Eğer düzenli ödemeleri için IPN'i kullanıyorsanız 2), daha sonra PayPal IPN URL bir kullanıcının abonelik düzeyine güncellemeleri bildirimleri gönderecek. Sen txn_type değişkene bakmak istiyorum - geçerli değerler subscr_signup, subscr_failed ve subscr_eot (end-of-dönem) içerir. Bu değerler kontrol ve app onları işlemek istiyorum.

1) Hayır bunlar aynı değildir.

Normalde $ this-> input-> yazılan () kullanmanız gerekir; o POST dizi indeksi isset eğer kontrol yardımcı olan kısa eldir çünkü.

hiçbir şey sayfaya yazı olduğunu ve $ _POST ['mydata'] ararsanız o dizi dizin yok, çünkü bir hata alırsınız. Bunu aşmak için size yapacağını "(isset ($ _POST ['mydata'])) eğer" kontrol ama CI zaten bunu sizin için.

ve Coronatus Eğer ek CI güzellikler olsun dedi ne gibi

2) birkaç saatte alex dekanı dedi, ne gibi paypal denilen yoktur. bir şey olur her böylece paypal sunucuya bir "itme" yapacağız IPN'i kullanın.