php - 重力形式 - 提交 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 ) );
}
我真的很感谢你的帮助
解决方案
有多种选择可以实现您的目标。上次我遇到类似情况时,我使用了 UI 版本。
您上面编写的代码是绝对正确的,但它不会将您带到外部站点,而是会尝试将数据发送到提到的服务并最终显示重力表单的感谢页面。
在您的情况下:您可以简单地转到您的表单设置 -> 确认,将确认类型更改为页面重定向并选中提交查询字符串中的字段的选项,选择您的字段,您就完成了。
推荐阅读
- batch-file - 如何指定当前目录
- postgresql - Postgresql 通过 psql 还原转储得到“表的权限被拒绝”
- jquery - 如何在 asp.net mvc 5 中使用 jquery ajax 将模型添加到剃须刀页面?
- python - 如何在后台启动子进程并通过按键停止它?
- java - 自动雅虎邮件登录时,密码编辑框上的 Sendkey 命令不起作用
- android - 通过 Activity 更改持久化 RecylerView 适配器
- python - Client.py 没有连接到 server.py
- node.js - 加入两个以上的表在 sequalize 中不起作用
- javascript - 为什么单击操作按钮时附加的数字会消失?
- ruby-on-rails - 测试具有类名的属性的夹具