我有一个单一的页面结帐,用户输入计费信息,选择两种支付方法之一,并输入他们的信用卡或电子支票信息(使用商业NMI支付网关,使用直接邮寄方法),并最终提交付款。审查窗格为空,因此跳过,因此结帐直接进入第三方支付重定向窗格。
我的问题是:我根据支付方法使用规则(使用商业费用),但似乎在信息被发送到支付网关之前没有设置支付方法--支付方法比较总是评估为false。
然而,这一规则是在事实之后确认的,因为在提交付款后,费用就会增加,从而导致订单上的未付余额。
客户端设置在单个页面签出过程中,因此我需要的是:
在提交结帐表后,在第三方重定向火灾之前,我如何获取和更改订单信息?这将是非常有帮助的,因为我也希望通过这种方式向order ID添加自定义代码。
发布于 2016-02-11 19:58:58
你在这里要小心点。显然,您想要与您的客户分享,他们的订单总额将发生变化,即使是轻微的,在他们付款之前。通常,大多数支付网关强烈反对将其费用转嫁给客户,或者干脆不允许这样做。
但让我们假设你想收取更多的“现金交货”。
根据commerce_fee文档,您必须使用两个页面。
注意:如果使用基于支付类型的费用,请确保将支付类型窗格移动到admin/commerce/config/checkout上的审查窗格之前的屏幕上,以便客户在接受之前可以看到费用。
这一要求将防止几乎所有正常的付款网关,需要一个场外付款-重定向步骤后,把付款细节的形式,如果是正确的运作。
使用ajax创建单个页面的一种方法是:
在您的订单中添加支付方法字段。使用字段组和签出字段组将此字段添加到签出页。使用规则只提供基于订单字段的预选支付方法(可能需要自定义规则条件?)。使用规则计算您的费用根据该字段的选择,而不是根据实际支付网关选择。使用根据需要重新加载窗格。
https://drupal.stackexchange.com/questions/190020
复制相似问题