无法通过 PHP cURL 将数据正确发布到 Chargify


Cannot post data correctly to Chargify via PHP cURL

我想我没有正确发送 API 所需的数据。知道我做错了什么吗?

$ch = curl_init("https://test.chargify.com/customers.json");
$data = array(
  'first_name' => 'Test',
  'last_name' => 'User',
  'email' => 'user@test.com'
);
$data = json_encode($data);
curl_setopt_array($ch, array(
  CURLOPT_USERPWD => "yyyyyyyyyyyyyyy:x", // assume this is correct
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $data,
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data)
  )
));
$output = curl_exec($ch);
curl_close($ch);

它返回

{
errors: [
        "First name: cannot be blank.",
        "Last name: cannot be blank.",
        "Email address: cannot be blank."
    ]
}

以下是 API 的文档:http://docs.chargify.com/api-customers

试试这个:

$data = array( 'customer' => array(
  'first_name' => 'Test',
  'last_name' => 'User',
  'email' => 'user@test.com'
));