抱歉,如果标题有点夸张,我保证我会清除它:

首先,不久前,我问了一个有关销售串行键的问题:

与Ubercart购买Drupal后,我该如何执行自定义脚本

我在此处发布的信息可能会在这个问题中清除问题,但我怀疑这一点,因为这个问题更加笼统。

基本上,我不想执行我的自定义代码,直到我知道付款已被清除以及我的帐户中的款项。我有点不确定触发的条件动作是什么是“客户完成结帐”?当他们说他们完成结帐时,这是否一定意味着成功,而这笔钱在我的帐户中是否在我的帐户中?

如果没有,我该如何让Ubercart等到知道我已经从中获得了钱 任何PSP (例如Google Checkout,PayPal等)执行我的自定义代码?我无法解决,甚至有可能吗?

有帮助吗?

解决方案

它没有记录或暴露为应该可靠的东西,但我认为使用“客户完成结帐”触发器是必经之路。

请记住,以下内容适用于Ubercart 6.x-2.4。 (截至今天的最新版本)

根据我对代码的看法,似乎触发器仅在成功的订单上执行。成功的订单是否意味着您已收到付款,这在很大程度上取决于您当前的配置以及所使用的不同付款网关或方法,但在一般情况和配置中。

该触发器仅从一个函数启动:

function uc_cart_complete_sale($order, $login = FALSE);

如果您在执行该功能的何时执行该功能时进行模块范围的搜索,则应为您提供不同情况的大概。基本上,我发现它是从几个付款模块(例如PayPal和2 Checkout)执行的,以及您到达 cart/checkout/complete Drupal页面,通常是成功的订单。您特别提出的PayPal模块似乎在接收到“完成” IPN状态时调用该功能。

尝试几次购买(对与错)并不困难,看看您的触发器是否仅在正确充电时执行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top