@dimaweyder

Почему пишет что массив пустой?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://cpay.tranzzo.com/api/v1/payment");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$headers = [
	'Content-Type: application/json',	
    'X-API-AUTH: CPAY 377e4982-4304-48ef-bacf-d100eb1e3949:UWtlaGo0R0FFMkljQWR0UWw5dU1WZUE3',
    'X-API-KEY: AIzaSyCH4mpFmGXPElJmYG_KIlU0ZvEnuTLyFnc'
];



$d = '{
	"pos_id":           "974a4a95-13f4-43ea-9670-bf0c1185ee83",
	"mode":              "hosted",
	"method":            "purchase",
	"amount":            1,
	"currency":          "RUB",
	"description":       "description_1",
	"order_id":         "123",
	"order_3ds_bypass":  "always",
	"server_url":        "https://localhost/callback.php",
	"result_url":        "https://localhost/result.php",
	"payload":         "sale=true"
}';



curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($d));

$server_output = curl_exec($ch);

curl_close ($ch);
echo $server_output;

Вот что выводит. Помогите пожалуйста
5d497276ea659686692782.jpeg
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
json-encode() https://www.php.net/manual/ru/function.json-encode.php возвращает json строку, а вы ее туда передаете. Если хотите из json строки сделать массив, используйте https://www.php.net/manual/ru/function.json-decode.php со вторым параметром $assoc установленным в true.

Но если вам нужно передать массив в CURLOPT_POSTFIELDS, то и формируйте в $d ассоциативный массив сразу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы