得到了一个问题,我希望这是正确的地方问:) ..不太明白支付如何在magento工作。
客户端去结账,让我们说要作为客人付款,所以提供地址等,最后获得付款方式。然后我希望客户通过信用卡支付。已经为我选择的网关(银行?)安装了模块。在那时,我希望用户可以被重定向到第三方页面(银行托管),在那里他们提供所有细节,只有在用适当的消息返回我的magento站点之后。
然而,在magento中,他们似乎需要在magento结帐页面上提供cc编号和详细信息。我不明白我(或我安装的支付模块)是否需要将所有信用卡详细信息转移到银行?我必须在ssl连接和静态IP上有结帐页面吗?
事情是,我想避免在任何时候触摸CC号码,并希望通过银行页面完成它。虽然我喜欢magento界面的想法,但没有重定向到另一个页面,唯一的问题是不确定是否能够正确设置它。
如果有人可以向我解释可能的选项,那么通常的方法是什么,以及整个过程如何运作,我将非常感激。
我做了我的研究,并查看了谷歌和各种论坛仍然需要有人帮助。如果我的问题的某些部分不太清楚,请告诉我,如果有必要,会尝试更好地解释。
答案 0 :(得分:5)
有一段时间不得不在新西兰为DPS开发支付模块。这是如何工作的,你去网站付款,支付模块php代码运行,将详细信息发送给收购机构支付网站,该网站为您处理银行交易。在我的情况下,我记得通过一些肥皂电话是DPS NZ。肥皂电话包含详细信息,如总费用,货币,商家编号,以确定您支付的人。然后,收购机构(在这种情况下为DPS)将获取您的信用卡号和到期日并进行处理。然后,再次通过一些肥皂回调到您自己的magento网站,您将被重定向回错误代码 - 成功等等。
我认为DPS使用肥皂,但其他支付网站可能会使用其他协议来工作。另一种可能性是您的信用卡获取页面可以托管在您的网站上,并且您接受信用卡号码并在magento中对收单机构进行所有处理。
简而言之,该流程由支付模块本身控制。如果您想了解更多详细信息,请查看可用的付款模块教程以及magento论坛中的评论。您还可以查看paypal模块代码。
答案 1 :(得分:4)
Magento支付模块使用的默认架构涉及客户与模块的接口以及模块在后台与您的支付网关通信。
基本上,客户输入他的所有数据(CC和所有数据)并点击支付按钮,此时某些功能在所选支付模块中运行。这些功能的作用完全取决于支付网关的工作方式。如果网关通过XML进行通信,他们发送/接收XML,如果它需要SOAP,那么他们使用SOAP等等。这实际上是构建新支付模块的要点。打开一个现有的,检查调用哪些函数,去掉那里的代码,并用你自己的代码代替你的特定银行/网关。
当然,有些网关在您将客户发送到他们的网页时有另一种操作方式,他会向他们提供他的CC数据,并立即将其返回到您的网站。这样您就不必担心处理信用卡数据,但不幸的是,在Magento中实现这一过程的过程更为复杂。
如果您需要使用某个网关,则应首先检查其支付模块是否已存在。如果没有,您可以下载类似的支付模块,剖析并修改它以适当地运行您的代码。