1

私のウェブサイトにペイパル決済システムを実装しようとしています。私はIPNを受け取るのにちょっと行き詰まっています. Web サイトは、ZendFramework および Doctrine 1.2.3 で PHP で開発されています。

Paypal サイトにあるサンプル スクリプトを使用して IPN を受信しましたが、機能しません。デバッグの目的で、mysql db のテーブルに新しいエントリを挿入するだけの IPN ページ コードを残したので、ページをロードするたびに新しいエントリが DB に挿入されます。

PayPal の即時支払い通知 (IPN) シミュレーターを再度使用して、そのページに新しい IPN を送信しようとしましたが、DB には何も挿入されていないため、私の最善の推測では、PayPal が私のページに到達できない可能性があります。 IPNが正常に送信されたと言います。

IPN URL は次のようなものです: http://mydomain.com/shop/paypal/ipn

4

2 に答える 2

0

ちゃんと答えて返ってきます。それが機能しなかった理由は、ペイパルのipn url-formの制限ではありませんでした。多言語サポートのためにZend_Translateを使用し、訪問者のブラウザが私に送り返してきたものをデフォルトの言語として使用しました。問題は、ペイパルが提供していないIPNを送ってきたときでしたコードで例外が発生し、アプリケーションがクラッシュしたため、IPN が受信されませんでした。

さらに、Zend でカスタム URL が必要な場合は、Zend_Controller_Router_Route_Regex を使用できます。詳細については、次を参照してください。

http://framework.zend.com/manual/1.10/en/zend.controller.router.html#zend.controller.router.routes.regex

于 2013-05-22T08:58:28.283 に答える
0

私はついにそれを手に入れました。どうやら、paypal は domain.com/shop/ipn のような URL に IPN データを送信しません。使用するフレームワークとは関係のない別のphpファイルを作成したため、ipn URLは domain.com/ipn.php のようになります。今、すべてが動作します。

于 2012-05-20T22:19:02.270 に答える