Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Magento中,如何创建一个将POST变量发送到外部url的付款方法?_Magento_External_Payment Gateway - Fatal编程技术网

在Magento中,如何创建一个将POST变量发送到外部url的付款方法?

在Magento中,如何创建一个将POST变量发送到外部url的付款方法?,magento,external,payment-gateway,Magento,External,Payment Gateway,我需要做一个自定义的支付方法,从客户的订单中获取一些变量,并将它们作为POST变量发送到外部url 我需要从Magento获得的变量是总金额、订单号和产品描述。这些变量被发送到第三方网关的url,在那里以安全的方式询问信用卡信息,交易完成后,它们将用户返回到我的magento站点 我已经搜索了一些信息和教程,但是我仍然感到有点困惑,我对magento的编程几乎是新手,所以如果有人能给我一个逐步的解释,或者至少是一个到教程的链接,我会非常感激 谢谢这就是Paypal的工作原理,因此包含的模块将是一

我需要做一个自定义的支付方法,从客户的订单中获取一些变量,并将它们作为POST变量发送到外部url

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

我已经搜索了一些信息和教程,但是我仍然感到有点困惑,我对magento的编程几乎是新手,所以如果有人能给我一个逐步的解释,或者至少是一个到教程的链接,我会非常感激


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

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

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

  • 您实现了一个“authorize”方法,该方法对订单详细信息进行任何处理

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

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


(*如果您愿意,您可以在magento中作为控制器和模板来执行此操作(它有点整洁),但解释如何以这种方式执行此操作将花费比我更多的时间)

这是一个很好的起点