Мне нужно создать SKU с помощью API полосы.
Проблема в поле инвентаря.Ответ Stripe api:
'error' => [
'message' => 'Invalid hash',
'param' => 'inventory',
'type' => 'invalid_request_error'
]
Мой php-код:
$endPoint = 'https://api.stripe.com/v1/skus';
$APIKEY_TEST = 'my_api_key';
$headers = array('Authorization: Bearer '.$APIKEY_TEST);
$sku = [
'active' => 'true',
'inventory' => ['quantity' => 10000000 ,'type' => 'infinite', 'value' => null],
"currency" => "eur",
"price" => $price,
"product" => $stripe_product_id
];
$array_string ='';
foreach($sku as $key => $value) {
$array_string .= $key.'='.$value.'&';
}
rtrim($array_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $endPoint);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $array_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
curl_close($ch);
В перечне документов stripe api есть поле типа hash.Я попытался json_encode () без удачи.Возможно, проблема в отправке массива вместо хеша.В массиве $ sku поле инвентаря также является вложенным ассоциативным массивом.Может быть, проблема и в этом.
Есть ли способ отправить CURLOPT_POSTFIELDS, содержащий инвентарь, чтобы полоса его приняла?
РЕДАКТИРОВАТЬ: В панели мониторинга Stripe я вижу мой запрос:
{
"active": "true",
"inventory": "Array",
"currency": "eur",
"price": "3",
"product": "prod_F6ipvfYFvOxxQq"
}
Поле Inventory не содержит данных, но вместо этого "Array".