PayPal IPN nie uruchamia aktualizacji statusu zamówienia

10

Konfiguruję swój pierwszy system Magento, używając 1.8.0.0, działający na serwerze Windows HostGator.

Skonfigurowałem IPN na naszym koncie PayPal. Jednak płatności nigdy nie są przekazywane do Magento, a wszystkie zamówienia są zablokowane na „Oczekujące płatności”.

Obecnie System-> Konfiguracja-> Metody płatności -> PayPal Payments Standard jest powiązany z e-mailem Business Sandbox, ma akcję płatności ustawioną na „Sprzedaż”, tryb piaskownicy = „Tak” i tryb debugowania = „Tak”.

Po stronie PayPal historia IPN pokazuje każdą transakcję (próbowałem zarówno w Sandbox, jak i produkcyjnym) jako „Ponawianie”. Dla żadnego z nich nie wymieniono żadnego kodu odpowiedzi HTTP.

Adres URL powiadomienia w PayPal pokazuje http://www.mydomain.com:/shop/Index.php/paypal/ipn/ , co wydaje mi się prawidłowe.

Po włączeniu dzienników błędów i trybie debugowania dla metody płatności otrzymuję plik dziennika dla mojej próby piaskownicy zatytułowany payment_paypal_standard.log.

Zawartość pliku odzwierciedla rzeczywistą kolejność w piaskownicy:

2014-01-02T18:19:13+00:00 DEBUG (7): Array

(

[request] => Array
    (
        [business] => ****
        [invoice] => 100000006
        [currency_code] => USD
        [paymentaction] => sale
        [return] => https://www.mydomain.com/shop/Index.php/paypal/standard/success/
        [cancel_return] => https://www.mydomain.com/shop/Index.php/paypal/standard/cancel/
        [notify_url] => http://www.mydomain.com:/shop/Index.php/paypal/ipn/
        [bn] => Varien_Cart_WPS_US
        [item_name] => My Shopping Cart
        [lc] => en_US
        [charset] => utf-8
        [amount] => 7.99
        [tax] => 0.00
        [shipping] => 5.00
        [discount_amount] => 0.00
        [item_number_1] => Bacon4NFHS
        [item_name_1] => Bacon - Nitrate Free Hickory Smoked 4 oz.
        [quantity_1] => 1
        [amount_1] => 2.99
        [item_number_2] => Flat Rate - Fixed
        [item_name_2] => Shipping
        [quantity_2] => 1
        [amount_2] => 5.00
        [cmd] => _cart
        [upload] => 1
        [tax_cart] => 0.00
        [discount_amount_cart] => 0.00
        [city] => recipient_city
        [country] => US
        [email] => sandbox_customer_email@test.com
        [first_name] => customer_fname
        [last_name] => customer_lname
        [zip] => customer_zip
        [state] => customer_state
        [address1] => customer_address1
        [address2] => 
        [address_override] => 1
    )

[__pid] => 5440
)

Jestem nowy zarówno w IPN PayPal, jak i Magento, więc mogę popełnić oczywisty błąd, ale miałem też mnóstwo problemów z instalacją Magento, które były spowodowane problemami z dostarczonym pakietem automatycznej instalacji HostGator.

Dlaczego moje płatności nie są rejestrowane przez Magento?

Beofett
źródło
Jakaś aktualizacja tutaj? Byłoby wspaniale wiedzieć.
benmarks
@benmarks Przepraszamy, brak ostatecznych odpowiedzi. Jeśli dobrze pamiętam, zawęziliśmy go do problemu, w którym wysyłane jest powiadomienie IPN, ale nie otrzymaliśmy odpowiedniej 200 odpowiedzi z serwera. Obsługa PayPal przekonująco uzasadniła problem z konfiguracją serwera, ale firma hostingowa (HostGator) odmówiła przyjęcia jakiejkolwiek odpowiedzialności i nie zapewni dodatkowego wsparcia. Zanim opuściłem firmę, porzuciliśmy PayPal w poszukiwaniu procesora płatniczego oferowanego przez nasz bank, ale czekaliśmy na ocenę zgodności z PCI, zanim będziemy mogli go wdrożyć.
Beofett,

Odpowiedzi:

1

Widzę, że używasz „trybu piaskownicy”. Czy rozwijasz się na swoim lokalnym?

PayPal zwróci odpowiedź IPN tylko wtedy, gdy jest to DMZ (open source). Istnieją inne sposoby grania na Twoim komputerze lokalnym, ale najprostszym sposobem jest przetestowanie na serwerze na żywo.

Rutherford Le
źródło
proszę podać więcej szczegółów. Wydaje się, że ta odpowiedź nie zawiera konkretnego wyjaśnienia pytania.
Rajeev K Tomy
Programowanie nie odbywa się na komputerze lokalnym; jest wdrażany na działającym serwerze internetowym.
Beofett,
1

Czy Twój adres URL powiadomienia jest poprawny? Jeśli twoja witryna otrzymywała powiadomienie, powinieneś zobaczyć coś w rodzaju tablicy powiadomień w dzienniku zaraz po żądaniu.

zaawansowany wynik payflow wygląda jak poniżej. Ekspresowa realizacja transakcji wygląda trochę inaczej.

 [result] => Array
        (
            [result] => 0
            [securetoken] => ************************
            [securetokenid] => ***************************
            [respmsg] => Approved
            [result_code] => 0
        )
Ericc
źródło