2

我需要制作一种自定义付款方式,从客户的订单中获取一些变量并将它们作为 POST 变量发送到外部 url。

我需要从 Magento 获得的变量是总金额、订单号和产品描述。这些变量被发送到第三方网关的 url,在那里以安全的方式询问信用卡信息,当交易完成时,它们将用户返回到我的 magento 站点。

我已经搜索了信息和教程,但我仍然感到有些困惑,我实际上是 magento 编程的新手,所以如果有人可以提供逐步解释,或者至少提供一个链接,我将不胜感激教程

谢谢

4

2 回答 2

4

这就是 Paypal 的工作方式,因此包含的模块将是一个很好的起点,但基本上:

  • 您的 Payment 类上有一个方法,它告诉 Magento 该方法适用于订单(这使您可以对不同的订单总额或货币等使用不同的方法,但您可以只返回“true”)

  • 如果您需要捕获 Magento 否则不会捕获的任何信息,则为您的表单设置一个模板/块,当客户选择您的方法时会显示(Paypal 没有这样的表单)

  • 您实现了对订单详细信息进行任何处理的“授权”方法

  • 您实现了一个 getRedirectUrl 方法,该方法返回一个 URL 以便 magento 也重定向用户。如果您确实需要发布到您的网关,那么您的重定向将是一个本地 URL(例如 /redirect.php),在这里您将有一个带有隐藏字段的表单和一些将自动提交它的 javascript(您可以粘贴一个如果您愿意,也可以加载-gif),这会将用户带到网关。*

  • 如果您向网关提供 URL 以将客户送回(您通常会这样做......),那么您也需要一个页面,在将客户重定向到结账之前,该页面会执行任何订单清理/验证确认页面

(*如果你愿意,你可以在magento中作为控制器和模板来做这个(它有点整洁),但是解释如何做到这一点需要比我更多的时间)

于 2010-01-26T19:09:50.360 回答
1

这是为外部网关创建自定义 Magento 支付扩展的一个很好的起点。

于 2012-01-17T15:14:56.620 回答