Я интегрирую шлюз Orange Money Payment с моим базовым приложением Yii2, чтобы иметь возможность получать локальные платежи по этому приложению.В этом API, когда пользователь инициирует транзакцию, я получаю некоторые данные после отправки запроса скручивания в API Orange.Я храню эти данные в моей базе данных с помощью ключевого вызова notif_token.Затем пользователь перенаправляется на оранжевый платежный портал, где производится оплата.когда пользователь завершает процесс оплаты на своем портале, он отправляет мне ответ json на определенный URL-адрес уведомления о вызове URL.Предполагается, что я получу эти данные, обновлю свою базу данных и предоставлю этому пользователю доступ к некоторым ресурсам.
Все работает хорошо до уровня получения отзывов от них через URL-адрес уведомления.
Я перепробовал все, что знаю, чтобы получить эту информацию, но безрезультатно, поскольку это действие не является URL-адресом API.Я написал свое действие, как показано ниже, но я не знаю, что мне не хватает. (Возможно, это конфигурация для этого действия или что-то в этом роде).
public function actionOnotification(){
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$request = \yii::$app->request->post();
$transaction =OrangeFeedback::findOne(['notif_token'=>$request['notif_token']]);
$transaction->status = $request['status'];
$transaction->txnid = $request['txnid'];
$transaction->save();
//do some processing here
}
Я не знаюкак решить эту проблему, поскольку я чувствую, что здесь не хватает фундаментальной концепции (может быть, о том, как настроить базовое действие приложения Yii2 для получения данных json, может быть о том, как преобразовать это действие в URL-адрес вызова API или что-то, чего я не могупока разберись).Буду очень признателен за любую помощь по этому вопросу, так как я не могу найти какие-либо ресурсы в Интернете, чтобы помочь мне.