3

Web サイトで Paypal IPN を使用しようとしています。

  • 支払いが機能し、「完了」とマークされます。
  • リターンURLは機能します。
  • 支払いが完了したことを通知するメールが送信されます

しかし、ペイパルは IPN スクリプトと通信していないようです。Wiresharkで確認すると、支払いが送信されたときに私のウェブサイトとの通信はありません.

  1. この通信が非セキュア HTTP ではなく SSL 通信に組み込まれているためでしょうか?

  2. サーバーが Paypal からの IPN リクエストの処理を拒否する可能性はありますか?

すぐに使えると思いましたが、違います。私のサーバーに届いていないようで、Paypal は「あなたのサーバーは IPN 情報の受信を拒否しました」のようなメッセージを返しません。したがって、Paypal は IPN スクリプトを呼び出していません。

私のリクエストが正しいと 99% 確信していますが、私が作成したボタンは次のとおりです。

<form action="<%=paypalurl%>" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<%=appsettings.paypalemail%>">
<input type="hidden" name="item_name" value="<%=appsettings.paypalitem%>">
<input type="hidden" name="item_number" value="<%=appsettings.paypalid%>">
<input type="hidden" name="amount" value="<%=appsettings.paypalamount%>">
<input type="hidden" name="currency_code" value="<%=appsettings.paypalcurrency%>">
<input type="hidden" name="custom" value="<%=userid%>">
<input type="hidden" name="notify_url" value="http://www.mysite.com/ipnscript.aspx">
<input type="hidden" name="return" value="http://www.mysite.com/ppreturnurl.aspx">
<input type="hidden" name="cancel_return" value="http://www.mysite.com/ppcancelurl.aspx">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif"  border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
4

2 に答える 2

4

IPN が有効になっていることを確認しましたか?

アカウント -> マイ プロフィール -> 即時支払い通知設定

次に、IPN履歴を確認します

アカウント -> 履歴 -> IPN履歴

これにより、ステータスを確認し、必要に応じて再送信できます。

  • 最初にこれをテストするためにサンドボックスを使用していると仮定します。
于 2012-07-12T23:09:52.513 に答える
2

2013 年 6 月 20 日現在、ビジネス アカウントをお持ちの場合、IPN メッセージを有効にするには:

(PayPal にログイン) > プロフィール > 販売ツール > 支払いの受け取りとリスクの管理 / 即時支払い通知 / 更新 > IPN 設定を選択 > (o) IPN メッセージの受信 (有効) > 保存

*注: 支払いフォーム/ボタン コードに「notify_url」フィールドを指定する場合は、「通知 URL」を空白のままにすることができます。

于 2013-06-20T18:01:34.043 に答える