0

ユーザーが寄付金額を入力してから PayPal で支払うことができる寄付ページに取り組んでいます。PayPal でサンドボックス アカウントを作成しました。これが完了したら、支払いを受け取るためにビジネスアカウントを作成し、支払いを行うために個人アカウントを作成しました.

私がやろうとしているのは、即時支払い通知機能を利用することです。これにより、開発者は、ユーザーが実際に PayPal の支払いページでトランザクションを行ったことを確認できます (データベースに記録できるようにするため)。

ビジネスアカウントに私のIPNページのURLを載せてみました。問題は、URL が受け入れられないことです。これは私が提供している URL です。

http://localhost:54866/Default.aspx

Web サイトはオンラインでホストされていません。どうすればこれを行うことができますか?URL はどのように指定すればよいですか? ありがとう :)

PS私はC#とASP.NETを使用しています

4

2 に答える 2

4

そうです、localhost を指定することはできません (その場合、paypals 自身のサーバーに解決しようとします...)。

あなたがする必要があるのは:

あなたのショップが www.mynewshop.com になるとしましょう

1) Paypal で IPN リダイレクトとして設定します

2) HOSTファイルを変更して、www.mynewshop.com を 127.0.0.1 (例: localhost) にリダイレクトします。

ステップ 2 が動作していることをテストするには、たとえばブラウザで www.mynewshop.com と入力します。ポート 80 にサーバーがある場合は、localhost:80 に解決されるか、:1234 で実行されている devweb サーバーがあるとします www.mynewshop と入力します。 .com:1234 をブラウザーのアドレス バーに入力し、解決を確認します

3) プロジェクトのポートを :80 に設定します (ペイパルでも :80 以外は指定できないため)。project.properties を介してプロジェクトのテスト サーバー ポートを設定できます。動的ポートではなく、固定の :80 を設定できます。

Paypal は、あなたの PC がアクセスしようとする www.mynewshop.com にリダイレクトしようとしますが、舞台裏では localhost に行き着きます。

メモリからプロジェクト プロパティを設定して、たとえば www.mynewshop.com でブラウザを起動することもできます。これは、開発中であってもライブ URL を使用しているように見えることを意味します。これには利点があります。たとえば、localhost とライブ ホスト URL による誤った URL/デプロイの違いを見つけるのに役立ちます。

楽しむ!:) (そしてこれを回答としてマークします-私はずっと前にこれを自分で解決したので、それが機能することを知っています)

于 2012-04-24T16:54:57.323 に答える
1

ルーターにポート転送を設定する必要があります。「localhost」はパブリックにルーティングできないため、PayPal はそれに到達できません。

ルーターのポート (パブリック IP) をローカル PC に転送する場合、IP アドレスとポートの組み合わせをテスト用の IPN URL として使用できます。たとえば1.2.3.4:8080、テスト サーバーの内部 IP アドレスに転送します。

PayPal IPN は、トランザクションが発生した後、またはトランザクションに関する情報が変更されたときにサーバーに連絡することで機能するため、PayPal は IPN URL にアクセスできる必要があります。これは、hosts ファイルや訪問者とは無関係です。

于 2012-04-24T16:56:31.860 に答える