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

标签 php javascript ajax magento paypal

我有问题,在“checkout/onepage/success”结帐后使用“order id”获取用户信息,例如:

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

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

最佳答案

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

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

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

关于php - Magento - 在结帐页面上注册,然后通过 PayPal 付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5350358/

相关文章:

javascript - 使用 Ajax 发布数据

javascript - css 在不同浏览器中翻转卡片

php - MySQL 查询失败?

php - 从 PHP 页面链接到在固定大小的窗口中打开

javascript - 简单提醒下不删除localStorage

javascript - jQuery 无法将事件处理程序附加到 .load 创建的 <form>

php - cakephp 3 查询未执行

java - 如何使用 GCM 使用 notification_key?

javascript - 如何从js中的css转换返回值?

PHP 脚本可以在笔记本电脑上运行,但不能在服务器上运行