【问题标题】:IPN's/Ubercart and everything that comes with them: I want to make sure I have the moneyIPN/Ubercart 以及它们附带的一切:我想确保我有钱
【发布时间】:2011-05-25 05:46:35
【问题描述】:

对不起,如果标题有点模糊,我保证我会在下面澄清它:

首先,前段时间我问了一个关于销售序列号的问题:

How can I execute a custom script after purchase with Ubercart for Drupal

我在那里发布的信息可能有助于澄清这个问题,但我对此表示怀疑,因为这个问题更笼统。

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

如果没有,我如何让 Ubercart 等到它知道我从 任何 PSP(例如 Google Checkout、PayPal 等)获得资金来执行我的自定义代码?搞不定,有可能吗?

【问题讨论】:

    标签: drupal payment ubercart confirmation


    【解决方案1】:

    它没有记录或公开为应该可靠的东西,但我认为使用“客户完成结帐”触发器是要走的路。

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

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

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

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

    如果您在执行该函数时进行模块范围的搜索,它应该可以让您大致了解不同的情况。基本上,我发现它是从几个支付模块(例如 paypal 和 2checkout)以及当您到达cart/checkout/complete drupal 页面时执行的,该页面通常是成功的订单。当收到“已完成”IPN 状态时,您特别询问的 paypal 模块似乎正在调用该函数。

    尝试几次购买(正确和错误)并查看您的触发器是否仅在正确收取订单费用时才执行应该不难。

    【讨论】:

    • Mescalitio,感谢您的回复,我没想到过了这么久(无论如何对于这个社区)。我匆忙地在别处寻找答案,我确实找到了我需要的东西,但平心而论,你已经提供了更多信息,因为你似乎为我做了很多研究——所以我非常感谢你!安迪的亲切问候。新年快乐!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 2011-11-23
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    相关资源
    最近更新 更多