【问题标题】:wordpress Gravity forms bank account paymentwordpress Gravity 形成银行账户付款
【发布时间】:2016-10-30 12:04:23
【问题描述】:

我正在尝试使用重力形式制作一个页面以通过银行帐户付款进行交易。

我需要将数据发送到 iDevAffiliate 数据库。

支持和谷歌搜索的响应使我只使用此功能

add_action( 'gform_post_payment_completed', my_function,  10, 2 );

我不明白我可能需要自己创建的函数 my_function 是什么,最后两个参数 10 和 2 是什么?

在某些示例中,我发现 $entry$action 关联数组,我不明白如何将数据放入其中。它们是自动填充的还是我需要填充它们?

我对这里的文档一无所知:https://www.gravityhelp.com/documentation/article/gform_post_payment_completed/

我发现了一个我不理解的 github 示例。 https://gist.github.com/NikV/7b7ec046df69b1f390bf.

如果有人使用这些表格或有工作示例,我希望看到它。或者获得关于我需要传入的函数和参数的更清晰的解释。

【问题讨论】:

    标签: php wordpress gravity-forms-plugin


    【解决方案1】:

    add_action 调用

    add_action 调用是 Wordpress 的一部分,而不是重力形式组件的一部分,您可以找到 here

    • 第一个参数包含要调用的函数(在您的情况下为“gform_post_payment_completed”)。

    • 第二个包含所谓的“回调函数”,即在第一个函数完全执行后立即触发的函数。

    • 第三个参数是 Wordpress 的内部优先级标志

    • 最后一个参数告诉 Wordpress 有多少参数将被传输到初始函数,在给定函数的情况下,两个参数($entry$action)被发送到初始函数。

    一旦通话结束,就会调用回调函数,即告诉访问者付款已被接受或将他重定向到下载页面或任何您的业务案例。

    $entry 和 $action 参数

    $entry 参数包含有关当前处理的订阅的所有信息,entry_info() function 可以帮助您了解更多信息,这里是 documentation

    $action 包含有关当前执行命令的信息(即更改订阅、执行付款),只需在documentation page for GFPaymentAddon 上搜索“$action”即可。

    我没有使用过重力形式,但我希望您能在文档页面上找到必要的详细信息。

    通过 curl 将部分数据发送到外部页面

    如前所述,我没有使用 Gravity Forms 组件,也无法对其进行测试,但它的工作原理应该与此类似:

    function gfroms_after_payment_complete( $entry, $action ) {
    
        // for more info, check https://www.gravityhelp.com/documentation/article/entry-object/
    
        $orderNo= $entry['id']; // not sure if this would be the order number but it should be a unique payment ID
        $ipAddress= $entry['ip'];
        $amount= $entry['payment_amount'];
    
        curl_setopt($ch, CURLOPT_URL, "fund.abarila-foundation.org/…Summe:{$amount}&idev_ordernum={$orderNo}&ip_address={$ipAddress}");
    }
    // Tells the notification to be sent only when this hook is found and to include the arguments ($entry and $action)
    add_action( 'gform_post_payment_completed', 'gfroms_after_payment_complete',  10, 2 );
    

    【讨论】:

    • 你能告诉我更多关于 $action 和 $entry 的信息吗?如何将数据插入这些数组?
    • @МаркоСиндел 我没有使用重力形式,但将我在文档章节中找到的信息添加到我的答案中。希望这会有所帮助!
    • 我们需要这样发送数据: curl_setopt($ch, CURLOPT_URL, "fund.abarila-foundation.org/…{Summe:22}&idev_ordernum={entry_id}&ip_address={ip:19}");你能举个例子吗?我们需要订单号、IP 地址和金额。
    • 我添加了一些源自 Github 示例的示例代码,希望对您有所帮助。
    猜你喜欢
    • 2013-02-11
    • 2016-05-09
    • 2018-09-26
    • 2016-07-18
    • 2012-11-09
    • 2023-03-23
    • 2021-06-06
    • 2018-04-26
    • 1970-01-01
    相关资源
    最近更新 更多