我发现了这个相关的问题,它证实了我已经想到的很多东西,但仍然存在一个问题;自定义支付模块如何与商店的数据库集成?
我正在开发一种自定义付款方式,将用户转移到一个安全站点,该站点由澳大利亚的一家银行托管,该银行将处理信用卡交易。对于这个模块,我需要将信息传递到银行网站,并在交易完成后取回信息。
自然,我不希望在事务完成之前发生任何数据库更新,那么如何配置我的方法
- 停止数据库更新
- 一旦交易确认从银行转发回来,就更新数据库
您需要根据从支付网站获得的回复更新订单历史记录/评论。
$order = Mage::getModel('sales/order');
if ($response['SUCCESS'] == 'Y') {
$order->addStatusToHistory($order->getStatus(), Customer successfully returned from payment website');
}
希望它会有所帮助。
我不确切知道它是如何处理的,但我会看看 Magento 自己的实现,用于类似的支付网关,如 Google Checkout 或 Paypal。它们的工作方式类似于您为支付处理器描述的方式。