首页 > 解决方案 > 重力形式 - 提交 POST 数据到托管支付网关

问题描述

我想向托管支付网关“ https://checkout.e-xact.com/pay ”提交重力表单,我正在使用下面的代码。

我在活动主题的 function.php 中添加了以下示例代码。

我想要的是:

我希望当用户提交重力表单然后表单通过 POST 提交必要的数据到这个 URL“ https://checkout.e-xact.com/pay ”然后这个页面显示来自表单的数据并且用户可以插入付款信息并提交付款。

问题:

当我提交表单时,它会显示网站感谢页面,而不是向“ https://checkout.e-xact.com/pay ”提交数据,因此用户可以插入付款信息并提交表单。

add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {

    $post_url = 'https://checkout.e-xact.com/pay';
    $body = array(
        'first_name' => rgar( $entry, '1.3' ),
        'last_name' => rgar( $entry, '1.6' ),
        'message' => rgar( $entry, '3' ),
        );
    GFCommon::log_debug( 'gform_after_submission: body => ' . print_r( $body, true ) );

    $request = new WP_Http();
    $response = $request->post( $post_url, array( 'body' => $body ) );
    GFCommon::log_debug( 'gform_after_submission: response => ' . print_r( 
$response, true ) );
}

我真的很感谢你的帮助

标签: phpwordpressgravity-forms-pluginchasepayment

解决方案


有多种选择可以实现您的目标。上次我遇到类似情况时,我使用了 UI 版本。

您上面编写的代码是绝对正确的,但它不会将您带到外部站点,而是会尝试将数据发送到提到的服务并最终显示重力表单的感谢页面。

在您的情况下:您可以简单地转到您的表单设置 -> 确认,将确认类型更改为页面重定向并选中提交查询字符​​串中的字段的选项,选择您的字段,您就完成了。


推荐阅读