私はpaypal paynowボタンでパススルーデータを送信しようとしています。支払い後にユーザーが「merchant」ボタンをクリックしたときに、そのデータをPHPページに返すようにしています。paypalボタンの返品機能が動作しない
私はこれをrm = 2と一緒にpaypalボタンの "return"機能を使ってすべてのデータをポストとして返送します。しかし、私はそれを働かせることはできません。ここに私のPayPalボタンのhtmlです:IPN通知で
<form name="paypal2" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="xxx">
<input type="hidden" name="invoice" value="testinvoice_fromcode2">
<input type="hidden" name="custom" value="testcustom_fromcode1">
<input type="hidden" name="on0" value="yes"><!--agreetc-->
<input type="hidden" name="os0" value="<?php echo $aid; ?>">
<input type="hidden" name="on1" value="<?php echo $id; ?>">
<input type="hidden" name="os1" value="<?php echo $agent; ?>">
<input type="hidden" name="return" value=http://www.example.com/Admin/conpanel/privat/phpvendorpaidad.php>
<input type="hidden" name="rm" value="2">
<input id="submit" type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
、PayPalはレンダリング:option_selection1として OS0、option_selection2として OS1、option_name1として on0、option_name2としてON1 、
私はon0ことを知っているがとos0は名前の値のペアとして使用されるはずですが、最初にこのスクリプトを書いたときには2セットしか許されていなかったため、2009年には4つすべてを使用して値を運びました。
<input type="hidden" name="return" value=http://www.example.com/Admin/conpanel/privat/phpvendorpaidad.php>
<input type="hidden" name="rm" value="2">
が機能しない理由
しかし、本質的には、私が理解することはできません。
Iいずれか
$aid=$_REQUEST['option_selection1'];
又は例えば
$aid=$_REQUEST['os0'];
などのように、受信スクリプトにphpvendorpaidad.phpをこれらの値を拾うことができません。
私が間違っていることを誰でも見ることができますか?とても有難い。
また、正常に動作しているIPNリスナーページもあります。別の方法は、IPNのリスナーのページにこれを構築することができますJavaScriptを使用して自動的にフォームのデータを送信するページonload?
あなたの助けに多くのおかげです。私はAuto ReturnとPDTの有無にかかわらず、すべてを試しました。あなたが言っているように、私はGET転送(クエリ文字列付き)を、これらと一緒にAuto Return/PDT onとPOST転送で取得します。私はすべてのケースでURLとvar_dump($ _ REQUEST)に注意しましたが、Paypalは私のリターンスクリプト(つまりReturn to Merchant)に何もPOSTしていません。奇妙なことは、2009年に最初にスクリプトを書いたときにこれがすべて機能していたことです。ボタンはまだその時からです。 –
私はこれで多くの時間を無駄にしました。今は、私のIPN処理/リスニングスクリプトの変数をjavascript form submitを使ってPOSTしようとしています。 IPN処理スクリプトは正常に機能しており、支払いは正常に完了しており(確認済みおよび完了済み)、すべての支払いデータは私に電子メールで送信されています。 –
JBart、あなたは華麗です!私は誤って私のスクリプト修正コードで 'rm = 0'を残してしまったことを発見しました(私はこれをさまざまな方法でテストしていました)。 'rm-2'に戻りましたあなたの提案re var_dump($ _ REQUEST)のおかげで、すべての支払いの詳細がPOSTされました。 POSTされたデータは配列内にあるので、配列から取り出して、必要なものにする必要があります。何度も感謝しています。 –