0

我有一个 php 页面,其中包含一个名为“BuyForm”的表单和一个单独的提交按钮.. 像这样

<form id="BuyForm" name="BuyForm" method="post" action="purchase.php" enctype="multipart/form-data">
// form goes here
<input type="submit" name="submit" value="Buy Now" class="buyButton">
</form>

现在,当我想添加一个贝宝按钮时,它给了我单独的表单代码,比如这个贝宝按钮代码

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
           <input type="hidden" name="cmd" value="_s-xclick">
           <input type="hidden" name="hosted_button_id" value="SOMEVALUE">
           <input type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_buynowCC_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>

我将此表单 action="purchase.php" 重定向到此页面只是因为所有验证都仅在此页面中,所以我的想法是在检查我的表单“BuyForm”是否有任何错误并且成功时我希望它重定向到另一个页面,那里有这个贝宝表格。我想对了吗?

用户必须点击两次,一次在提交按钮上然后它重定向到贝宝表单,在那里他将再次点击购买按钮进行购买.. 或者还有什么可以做的?

4

1 回答 1

1

这不是正确的方法。您应该从购买页面重定向用户,而不是让用户点击两次。在购买页面上,您将用户重定向到贝宝表单,编写此代码并通过以下方式直接将用户重定向到贝宝:

$paypal_email = "dummy@gmail.com";
$url='https://www.paypal.com/webscr?cmd=_xclick';   
$currency="USD";
$paypal_redirect .= $url;
$paypal_redirect .= '&amount='.$cost;
$item_name = 'Item name';
$notify_url = "http://example.com/notify.php";
$cancel_url = "http://example.com/cancel.php";

$paypal_redirect .= '&return = http://example.com/thanks.php&paymentaction=authorization&business='.$paypal_email.'&item_name='.$item_name.'&no_shipping=1&no_note=1&currency_code='.$currency.'&charset=UTF-8&notify_url='.urlencode($notify_url).'&cancel_url='.urlencode($cancel_url).'&rm=2';

header("Location:".$paypal_redirect);

这是执行此操作的正确方法。

于 2013-03-10T06:17:28.207 回答