我正在将 Orange Money 支付网关与我的 Yii2 基本应用程序集成,以便能够在此应用程序上接收本地付款。在这个 API 中,当用户发起交易时,我在向 Orange money API 发送 curl 请求后会收到一些数据。我通过调用 notif_token 将这些数据存储在我的数据库中。然后用户被重定向到完成支付的橙色支付门户。当用户在他们的门户上完成支付过程时,他们会向我发送对特定 url 调用通知 URL 的 json 响应。我想接收这些数据,更新我的数据库并授予该用户对某些资源的访问权限。
在通过通知 URL 从他们那里收到反馈之前,一切都运行良好。
我已尽我所能接收此信息,但无济于事,因为此操作不是 api url。我已经编写了如下所示的操作,但我不知道我缺少什么。(可能是此操作的配置或其他内容)。
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 数据,可能是如何将该操作转换为 API 调用 URL 或其他内容我还不能弄清楚)。对此的任何帮助将不胜感激,因为我在网上找不到任何资源来帮助我。