0

支払いを行うためにユーザーをPaypalにリダイレクトしようとしていますが、代わりにこのコードを記述した通常のhtmlフォーム(サイトにデータを送信するためのフォームが必要です。その後、Paypalにリダイレクトします)

    ($sandbox) ? $url = "https://www.sandbox.paypal.com/cgi-bin/webscr" : $url = "https://www.paypal.com/cgi-bin/webscr";
    ($sandbox) ? $button = "XXXXX" : $button = "YYYYY";

    $notify_url = urlencode($site_url . "index.php?act=member-pn&mid=" . $ld['member_id']);
    $return_url = urlencode($site_url . "index.php?act=member-ps");
    $cancel_url = urlencode($site_url . "index.php?act=member-pc&mid=" . $ld['member_id']);

    $url .= "/?notify_url=$notify_url&return=$return_url&cancel_return=$cancel_url&cmd=_s-xclick&hosted_button_id=$button";

    header("Location: $url");

キャンセルURLのみが機能しているのはなぜですか?返品と通知が機能していないようです。

4

3 に答える 3

1

POSTリクエストとして値を送信する必要があると思います。コードからGETリクエストを実行しているようです。

notify_urlとreturn_urlに関しては、これらの機能がPaypalアカウントですでに有効になっていると想定しています。

考えられる解決策は、たとえばjQuery Validateを使用してフォーム送信をキャプチャし、その初期データをサーバーに送信してユーザーを登録し、それが完了したらフォームをペイパルに送信することです。

于 2012-04-04T15:16:58.250 に答える
0

だから...私の質問への答えは簡単です:あなたが作業しているサイトのhtaccess認証を持っているかどうかを常に覚えておいてください。PaypalのIPNは私のスクリプトにアクセスする機会がありませんでした:)

そして、はい、POSTの代わりに単純なボタンに対してGETリクエストを実行できます。

于 2012-04-05T07:56:50.547 に答える
0

数日前に非常に似たものを作りました。ajaxとjqueryについて考えましたが、現在は2つのフォームを使用しているため、これが最も簡単な方法です。ショップでのチェックアウト時のユーザークリック(1.フォーム)->サーバーへの投稿->データベースに保存->「ペイパルで支払う」(2.フォーム)でのユーザークリック->ペイパルへのリダイレクトを取得->支払い->私たちのサーバーは確認を受け取ります->私たちのサーバーはショップに確認を送信します

この方法はどうですか?

于 2012-04-05T09:46:46.430 に答える