Magento - 在结帐页面注册,然后通过 PayPal 付款

Posted

技术标签:

【中文标题】Magento - 在结帐页面注册,然后通过 PayPal 付款【英文标题】:Magento - Registration on Checkout page and then pay via PayPal 【发布时间】:2011-07-18 01:07:14 【问题描述】:

我有问题,在“结帐/单页/成功”结帐后使用“订单 ID”获取用户信息,例如:

$orderInfo = Mage::getModel('sales/order')->load($lastOrderId);
$customerId = $orderInfo->getCustomerId();

在结帐页面上注册然后通过 PayPal 付款的用户订单成为“客户订单”,当然在“模型('销售/订单')”中客户 ID 为空,在 DB 中,此交易和订单看起来像由 PayPal 帐户而非 Magento 的“客人订单”。另一个支付系统在结帐页面上注册时工作正常,结帐后我可以获得客户 ID。 问题是,如何通过结帐页面从 Magento 网站中刚刚注册的用户那里获取“用户 ID”并通过 PayPal 购买东西?

【问题讨论】:

【参考方案1】:

没有找到任何方法,可能有 PayPal 的 Magento 人应该谈论...... 但是,我只是在结帐页面上重写了“注册”按钮的 OnClick 事件:

<button type="button" class="button" onclick="window.location.href='/customer/account/create';">
<span><span>Register</span></span>
</button>

在出现“checkout.setMethod()”之前,我只是将用户发送到注册页面。

【讨论】:

【参考方案2】:

这似乎是一个重复的错误?

http://www.magentocommerce.com/bug-tracking/issue/?issue=11133

【讨论】:

【参考方案3】:

您可以通过电子邮件从客户模型加载用户

Mage::getModel('customer/customer')->loadByEmail($orderInfo->getBillingAddress()->getEmail());

更可行的方法是监听 save_order_after 事件并检测您是否正在处理贝宝结帐并立即将客户添加到订单中

【讨论】:

以上是关于Magento - 在结帐页面注册,然后通过 PayPal 付款的主要内容,如果未能解决你的问题,请参考以下文章

如何将 CVV 字段添加到 Magento 结帐页面

Magento 2在结帐页面phtml中发送到支付网关之前获取订单ID?

结帐 magento 1.5 中的小计和总计加倍

结帐页面上的淘汰赛 Js magento 2

升级后,Magento 2.4.2 显示空白结帐表

Magento 2.3.3 - 结帐成功重定向到购物车