重力表-将POST数据提交到托管支付网关

时间:2018-12-24 22:59:20

标签: php wordpress gravity-forms-plugin chasepayment

我想将重力形式提交给托管的支付网关“ 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 ) );
}

非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

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

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

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