私は次のようなページを作成しようとしています:
- 1.ユーザーが[購入]というボタンをクリックします
- 2.ユーザーは、ログインして支払う必要があるペイパルページにリダイレクトされます。
彼が支払った後、彼は別のページにリダイレクトされます:
- 1.ページの読み込みで、支払いが正常に行われたかどうかを確認します。
私はこれを行いましたが、機能していないようです。 私が何をした?
1.ペイパルアカウントからIPNを有効にし、URLをaspページに設定しました。
2. Webサイトで2つのファイル(php / asp.net)をホストしました
3.テスト済みですが、ラベルのテキストが「完了、支払い済み」に変更されていません。これは、彼が支払いを処理できなかったことを意味します。
製品を購入するためのphpページ:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="seller@domain.com" />
<input type="hidden" name="item_name" value="Happiness" />
<input type="hidden" name="amount" value="6.52" />
<input type="submit" value="Buy!" />
</form>
asp.netページ:
protected void Page_Load(object sender, EventArgs e)
{
string strSandbox = "https://www.sandbox.paypal.com/cgi-bin/webscr";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strSandbox);
//Set values for the request back
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
byte[] param = Request.BinaryRead(HttpContext.Current.Request.ContentLength);
string strRequest = Encoding.ASCII.GetString(param);
strRequest += "&cmd=_notify-validate";
req.ContentLength = strRequest.Length;
StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
streamOut.Write(strRequest);
streamOut.Close();
StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream());
string strResponse = streamIn.ReadToEnd();
streamIn.Close();
if (strResponse == "VERIFIED")
{
Label1.Text = "Done,payment was made.";
}
else if (strResponse == "INVALID")
{
//whatever
}
else
{
//whatever
}
}
私に何ができる?