Не так давно Робокасса ввела решение "Робочеки", которое позволяет не заботиться о приобретении ККТ. Для того, чтобы его использовать, нужно добавить в код всего один параметр receipt (мануал). И с ним большая проблема - никак не могу его правильно сформировать. Пробую что-то вроде этого:
$receipt = array(
'sno' => 'usn_income',
'items' => array(
array(
"name" => 'Предоплата',
"quantity" => 1.0,
"sum" => 300.00,
"payment_method" => "full_payment",
"payment_object" => "payment",
"tax" => "none"
)
)
);
$encoded_receipt = json_encode($receipt);
$crc = md5("$mrh_login:$out_summ:$inv_id:$encoded_receipt:$mrh_pass1");
Получаю ошибку crc. Техподдержка ответила следующее:
Необходимо добиться такого вида -
receipt={"sno": "usn_income","items":[{"name":"Предоплата экскурсии","quantity":1.0,"sum":300.00,"payment_method":"full_payment","payment_object":"payment","tax":"none"}]}
И теперь вопрос: как добиться такого вида на php? Пробовал и так, и сяк, получаю ошибку. Может быть, как-то неправильно вкладываю объекты/массивы.
В общем, если кто-то уже реализовывал подобное решение Робокассы на php, помогите, пожалуйста :)
Есть объекты { .. }
, а есть массивы [ .. ]
. Объекты в PHP это экземпляры классов.
В простом варианте собрать можно так:
$receipt = new stdClass();
$receipt->sno = 'usn_income';
$receipt->items = [];
$item = new stdClass();
$item->name = 'Предоплата';
$item->quantity = 1.0;
$item->sum = 300.00;
$item->payment_method = "full_payment";
$item->payment_object = "payment";
$item->tax = "none";
$receipt->items[] = $item;
$encoded_receipt = json_encode($receipt, JSON_UNESCAPED_UNICODE);
Что бы не собирать объекты вручную можно сразу читать объект из базы (или десериализовать из API) в объект. А избежать рутины можно если использовать библиотеки сериалайзеров, например JmsSerializer
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Ошибка проявляется не всегда, чаще после очистки кеша сайтаБывает 5 проходов по сайту нормально, на 6 выскакивает ошибка
Я хочу сделать проверку: Если файл перемещен, то сделать что-тоПодскажите какой код верный:
У меня есть скрипт на php, который работает используя pthreadsТо есть многопоточность