PayPal IPN не вызывает обновления статуса заказа

10

Я настраиваю свою первую систему Magento, используя 1.8.0.0, на сервере HostGator Windows.

Я настроил IPN в нашей учетной записи PayPal. Тем не менее, платежи никогда не сообщаются Magento, и все заказы застряли в «Ожидание платежа».

В настоящее время Система-> Конфигурация-> Способы оплаты -> Стандарт платежей PayPal связана с электронной почтой Business Sandbox, для параметра «Действие платежа» установлено значение «Продажа», Режим «Песочница» = «Да» и Режим отладки = «Да».

Со стороны PayPal, история IPN показывает каждую транзакцию (я пробовал и в Песочнице, и в Производстве) как «Повторная попытка». Для каждого из них не указан код ответа HTTP.

URL-адрес уведомления в PayPal показывает http://www.mydomain.com:/shop/Index.php/paypal/ipn/ , что мне кажется правильным.

После включения журналов ошибок и режима отладки для метода оплаты я получаю файл журнала для моей попытки в песочнице под названием payment_paypal_standard.log.

Содержимое файла отражает фактический порядок в песочнице:

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
)

Я новичок как в PayPal IPN, так и в Magento, поэтому, возможно, я делаю очевидную ошибку, но у меня также было множество проблем с установкой Magento, которые были вызваны проблемами с предоставленным пакетом автоматической установки HostGator.

Почему мои платежи не регистрируются Magento?

Beofett
источник
Любое обновление здесь? Было бы здорово узнать.
отметки
@benmarks Извините, окончательных ответов нет. Если я правильно помню, мы сузили его до проблемы, когда уведомление IPN отправлялось, но не получало соответствующего 200 ответа от сервера. Поддержка PayPal убедительно доказывает, что это проблема с конфигурацией сервера, но хостинговая компания (HostGator) отказалась признать какую-либо ответственность и не предоставит никакой дополнительной поддержки. Прежде чем я покинул компанию, мы отказались от PayPal в поисках платежного процессора, предлагаемого нашим банком, но ожидали подтверждения соответствия PCI, прежде чем мы смогли его внедрить.
Беофетт

Ответы:

1

Я вижу, что вы используете «Режим песочницы». Вы развиваете на своем местном?

PayPal будет возвращать ответ IPN, только если это DMZ (с открытым исходным кодом). Есть и другие способы игры на вашем локальном компьютере, но самый простой способ - это тестирование на живом сервере.

Резерфорд Ле
источник
пожалуйста, поставьте больше деталей. Похоже, что этот ответ не дает конкретного разъяснения по этому вопросу.
Раджив К Томи
Разработка не на локальной машине; он развернут на живом веб-сервере.
Беофетт
1

Правильно ли указан URL-адрес вашего уведомления? Если ваш сайт получал уведомление, вы должны увидеть что-то вроде массива уведомлений в журнале сразу после запроса.

Расширенный результат выглядит следующим образом. Экспресс оформление заказа выглядит немного иначе.

 [result] => Array
        (
            [result] => 0
            [securetoken] => ************************
            [securetokenid] => ***************************
            [respmsg] => Approved
            [result_code] => 0
        )
Ericc
источник