私のウェブサイトはjoomla2.5.8で構築されています。Webサイトは、支払いの処理に支払いゲートウェイを使用しています。
ご存知のように、joomlaはURLに対してこの構造を持っています(SEFなし):
index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway
ここで、支払いゲートウェイプロバイダーから、トランザクションの値を渡すためのコールバックURLを送信し、このURL値に基づいてトランザクション情報でMySQLデータベーステーブルを更新するように依頼されました。
問題は、ペイメントゲートウェイプロバイダーがコールバックURLで次の値を使用することです。
?Response=1&status=10&code=123456-123456&token=f0021bfa-7ae4-48af-b4a2-d08d7a647b5e&lang=en&ignore=1
そして、私のコンポーネントがコールバックURLとして使用するリンクは次のようになります。
index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway
したがって、支払いプロバイダーは、「?」が含まれているため、システムにこのコールバックURLを設定することを拒否しました。初期化。そして、彼らはこの「?」を使わなければなりません。コールバックURL内のトランザクション値を渡します。
したがって、私が提供したコールバックを受け入れる場合、コールバックURLは次のようになります。
index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway?Response=1&status=10&code=123456-123456&token=f0021bfa-7ae4-48af-b4a2-d08d7a647b5e&lang=en&ignore=1
上記でお気づきのように、コールバックURLには2つの「?」が含まれます。疑問符。
これまでに行ったこと:JoomlaWebサイトにSEF以外のURLをSEFできるコンポーネントがインストールされています。したがって、このリンク(index.php?option = com_componentname&controller = order&task = notify&gateway =paymentgateway)を(payment-status)にSEFし、支払いプロバイダーに送り返します。ただし、コールバックURLで渡された値は、データベーステーブルを更新しません。
したがって、支払いプロセス中はすべて問題ありません。そして、データベースを更新するためにパラメーターの値を取得するポイントに到達すると、更新されません。この問題を解決するにはどうすればよいですか?
BR、