-
Роман ЦукановРазработчик
-
Дата публикации26.02.2020
-
КатегорияAPI
Задача:Подключение Яндекс Кассы через API V3
Яндекс выпустил новую версию API. При этом документация на данный момент не исчерпывающая. Пришлось повозится и даже звонить в поддержку, чтобы полноценно подключить кассу с возможностью оплаты банковскими картами.
Во-первых, нам необходимо было подключить, так называемую, одноэтапную оплату. Т.е. сначала происходит создание платежа и, собственно, сама оплата. После чего Яндекс сам стучится на указанный в настройках кассы урл и сообщает о результатах (успешно или нет). На основании данных яндекса мы подтверждаем оплату в своей системе.
Нет смысла копипастить сюда инструкции яндекса. А вот описать парочку подводных камней все же стоит.
- В настройках кассы вы указываете урл для уведомлений от Яндекса. На данной странице должен находится скрипт для обработки уведомлений.
- Уведомления об успешной оплате оправляются Яндексом в $_POST без какой-либо аутентификации и в формате JSON.
- Попытки вообще получить хоть какую-то информацию из массива $_POST закончились ничем. Приведенный ниже код поможет в решении данной проблемы
$source = file_get_contents('php://input');
$json = json_decode($source, true);
- Если вам нужно обратиться данным, которые вы передали при создании платежа, например, orderId, то данный пример кода поможет вам.
$orderID = $json['object']['metadata']['order_id'];