贝宝IPN不会触发订单状态更新


10

我正在使用HostGator Windows服务器上运行的1.8.0.0设置我的第一个Magento系统。

我已经在我们的PayPal帐户上配置了IPN。但是,付款永远不会传达给Magento,并且所有订单都停留在“待付款”状态。

当前,“系统”->“配置”->“付款方式”->“ PayPal付款标准”已与Business Sandbox电子邮件关联,并将“付款操作”设置为“销售”,沙盒模式=“是”,调试模式=“是”。

在PayPal方面,IPN历史记录将每笔交易(我在沙盒和生产中都尝试过)显示为“正在重试”。没有列出任何HTTP响应代码。

PayPal中的通知URL显示为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的新手,所以我可能犯了一个明显的错误,但是由于提供的自动安装程序包HostGator的问题,我也遇到了很多Magento安装问题。

为什么Magento没有记录我的付款?


这里有更新吗?很高兴知道。
Benmarks 2015年

@benmarks对不起,没有确切的答案。如果我没记错的话,我们将其范围缩小到了发送IPN通知但未能从服务器收到适当的200响应的问题。贝宝的支持令人信服,因为它与服务器配置有关,但是托管公司(HostGator)拒绝承担任何责任,并且将不提供其他支持。在我离开公司之前,我们放弃了PayPal来追求我们银行提供的付款处理器,但是在等待PCI合规评估之前,我们才得以实施。
Beofett

Answers:


1

我看到您正在使用“沙盒模式”。您在本地开发吗?

如果是DMZ(开放源代码),则PayPal仅返回IPN响应。还可以通过其他方法在本地播放,但是最简单的方法是在实时服务器上进行测试。


请输入更多详细信息。似乎该答案并未对该问题提供具体的说明。
Rajeev K Tomy 2014年

开发不在本地机器上;它部署在实时Web服务器上。
Beofett 2014年

1

您的通知URL是否正确?如果您的网站收到通知,则在请求之后,您应该在日志中看到类似通知数组的内容。

支付流高级结果如下所示。快速结帐的外观有些不同。

 [result] => Array
        (
            [result] => 0
            [securetoken] => ************************
            [securetokenid] => ***************************
            [respmsg] => Approved
            [result_code] => 0
        )
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.