2012-05-06 11 views
1

私は自分のウェブサイトにpaypal支払いシステムを実装しようとしています。 私はちょっとIPNを受け取っています。 このウェブサイトはZendFrameworkとDoctrine上でPHPで開発されています。1.2.3PayPal IPNを取得していません

私はIPNを受け取るためにpaypalサイトにあるサンプルスクリプトを使用しましたが、動作しません。 私は、私のmysqlデータベースのテーブルに新しいエントリを挿入するだけのページをロードするたびに、新しいエントリがDBに挿入されるたびにIPNページコードを残しました。

PayPalから即時支払い通知(IPN)シミュレータを使用してそのページに新しいIPNを送信しようとしましたが、DBに何も挿入されていないので、私の最高の推測は何とかペイパルが私のページに届くことはありませんIPNが正常に送信されたとは言っても。私は最終的にそれを得たhttp://mydomain.com/shop/paypal/ipn

+0

私たちは、おそらくあなたに良い答えを与えることをより多くの情報を必要とする、そうでなければ私はなるだろう考えられるエラーの名前を付けます。 – Gohn67

+0

とにかく、私は最初にあなたがログファイルをチェックし、paypalからの投稿要求を受け取っているかどうか、またはエラーがあったかどうかを調べることによって、応答を受け取っているかどうかをチェックします。 – Gohn67

+0

サンドボックスアカウントでも、IPNが有効になっていることを確認する必要があります。あなたはおそらくすでにそれをしていますが、私は明らかにしています。 – Gohn67

答えて

0

私は適切な回答を得ています。 それがうまくいかなかった理由は、paypal ipn url-form restriction.iは多言語対応のZend_Translateを使用していて、訪問者のブラウザが私に送ってきたデフォルト言語として使用されていました。問題はpaypalが私にIPNを送っていたときでした私のコードとアプリケーションのクラッシュで例外が発生したので、IPNは受信されませんでした。誰もがカスタム彼らはZend_Controller_Router_Route_Regexを使用することができますZendの中のURL、ここではより多くの情報を持っている必要がある場合

さらに、:

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

+0

デフォルト言語でこの問題を解決する方法はありますか? – MrD

0

IPNのURLは次のようなものです。 ように、paypalはIPNデータをURL:domain.com/shop/ipnに送信しません。 私は別のphpファイルを作成しましたが、使用しているフレームワークには関係しませんので、ipn urlはdomain.com/ipn.phpのように見えます。今はすべてが動作します。

+0

これは当てはまりません。 PayPalは '.php'拡張子なしでPHP経由でIPNデータを送信できます。あなたのWebホストが書き換えられたURLのPOSTデータをブロックしている可能性があります。あなたの '.htaccess'ファイルに' Options -Multiviews'を追加してみてください。 – rybo111

+0

上記の答えを見てください:) – private

関連する問題