1

我正在尝试将 PayPal POST 数据发送到本指南中的 Mautic 表单。

我对示例中的代码所做的唯一更改是删除 IP 转发内容。

我的代码似乎正在连接到 Mautic 并发送数据,因为 Mautic 在表单提交中创建了一个新联系人,但它只记录了 IP 地址和创建日期 - 没有填写任何字段。我尝试记录来自 Mautic 的响应,我收到一个重定向到表单提交的消息和一个HTTP code 302.

这是我用来向函数发送数据的代码:

//collect contact details
$payer_email = $_POST['payer_email'];
$given_name = $_POST['first_name'];
$surname = $_POST['last_name'];
$phone = $_POST['contact_phone'];

//build array and forward to mautic
$_REQUEST = array('Given name' => $given_name, 'Surname' => $surname, 'Email' => $payer_email, 'Phone' => $phone);
pushMauticForm($_REQUEST, 4);
}

它产生一个这样的数组:

[Email] => buyer@paypalsandbox.com
[Given name] => John
[Surname] => Smith
[Phone] => 

字段名称与我的表单字段标签匹配,并且顺序相同。

我觉得我错过了一些简单的东西,但我就是不知道它是什么。有任何想法吗?

4

2 回答 2

1

这是因为你被重定向了。添加以下内容pushMauticForm以跟踪重定向。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
于 2016-06-21T02:25:18.507 回答
1

我的猜测是您尝试发送字段标签,但 Mautic 需要字段别名。尝试这样的事情:

pushMauticForm(
    array(
        'payer_email' => $_POST['payer_email'],
        'given_name' => $_POST['first_name'],
        'surname' => $_POST['last_name'],
        'phone' => $_POST['contact_phone'],
    ),
    4
);

仔细检查真正的别名。最好的方法可能是在表单详细信息页面中单击手动复制按钮,您可以在其中看到生成的表单 HTML。别名在<input name="mauticform[>>alias_is_here<<]"/>标签中。

于 2016-06-21T09:40:16.447 回答