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 付款的主要内容,如果未能解决你的问题,请参考以下文章