代码中的Magento Paypal Express和标准差异 - 空篮子

Mar*_*ace 1 magento

在magento上使用paypal时,有两个明确的选择,标准和快速.

实际上它们之间的差异实在令人困惑,但其中一个主要区别是,paypal标准在重定向到paypal的同时立即完成了订单,而表达并非如此.

这实际上意味着用户篮子在转移到贝宝时使用paypal标准被清除,如果他们点击回来,他们就不会有篮子.

代码中的确切位置是这种情况发生的?

我可以在magento中看到两种付款方式:

app\code\core\Mage\Paypal\Model\Express.php
Run Code Online (Sandbox Code Playgroud)

app\code\core\Mage\Paypal\Model\Standard.php
Run Code Online (Sandbox Code Playgroud)

但我无法看到magento允许快递在哪里保持订单正在进行中

Dre*_*ter 7

Express和Standard之间的实际流程是不同的......

PayPal Express

在选择付款方式后(显然在订单完成之前),用户会被直接重定向到PayPal.在授权使用PayPal付款后,他们返回网站完成订单.

PayPal标准

用户完成整个结账流程并在现场完成订单.然后他们被重定向到PayPal以清理付款.在重定向到PayPal之前,他们不需要回到网站完成订单,因为它已经完成.这就是为什么你回到网站时看到空篮子,无论你是否用PayPal付款 - 报价已经转换为订单.

所以在这个意义上,PayPal express基本上是结账方法,而PayPal标准是一种付款方式.


关于代码的确切位置,这一切都发生了......

PayPal Express

采用getCheckoutRedirectUrl()在其中被调用方法Mage_Checkout_OnepageController的savePayment()动作 -前如上所述完成订单,让您重定向.

PayPal标准

使用在Mage_Checkout_Model_Type_Onepage的saveOrder()方法中调用的getOrderPlaceRedirectUrl()

请查看链接以获取所有相关信息.