在Paypal中完成购买后重定向到原始网站


Redirection to the original site after purchase is completed in Paypal

我正在制作一个web应用程序。我已经集成了贝宝在其中使用简单的表单提交到贝宝网站。一切都很好。但无论何时付款成功,它都应该通过Paypal的响应重定向回我的原始网站。然而,它并没有发挥应有的作用。目前它只停留在Paypal网站上。

<form action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post' name='form'>
 <input type='hidden' name='business' value='<?php echo $paypal_id; ?>'>
<input type='hidden' name='cmd' value='_xclick'>
<input type='hidden' name='item_name' id='item_name' value=''>
<input type='hidden' name='item_number' id='item_number' value=''>
<input type='hidden' name='amount' id='amount' value=''>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='cancel_return' value='http://yoursite.com/cancel.php'>
<input type='hidden' name='return' value='http://mysite.com/user_credits/purchase_credits'>
<input type="image" src="https://paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" name="submit">

我在里面缺了什么?我使用的是CakePHP 2.0。

您必须在贝宝中启用自动退货功能设置。

只需按照以下步骤启用

  1. 登录并单击"我的帐户"下的"配置文件"子选项卡
  2. 单击"销售首选项"下的"网站付款首选项"链接
  3. 单击On单选按钮以启用Auto Return
  4. 输入返回URL。注意:您必须满足退货URL要求才能设置自动退货。了解有关返回URL的详细信息

对于沙箱帐户,请执行以下

  1. 登录到Sandbox Merchant Id,然后单击"我的帐户"下的"配置文件"子选项卡
  2. 单击配置文件下的"更多选项"链接
  3. 查看第三排的"销售偏好"
  4. 单击销售首选项下的网站付款首选项链接
  5. 单击On单选按钮以启用Auto Return
  6. 单击On单选按钮以启用Auto Return
  7. 输入返回URL。注意:您必须满足退货URL要求才能设置自动退货。了解有关返回URL的详细信息

根据PayPal按钮参数的规范,您需要设置返回方法。

<input type='hidden' name='return' value='http://mysite.com/user_credits/purchase_credits'>
<input type='hidden' name='rm' value='1'>

值如下:

  • 0-不要重定向,而是使用GET
  • 1-使用GET自动重定向到return URL
  • 2-使用POST自动重定向到return URL,包括所有支付变量

要实现PayPal按钮html表单参数,请使用此

<form method=post action=https://api-3t.sandbox.paypal.com/nvp>
  <input type=hidden name=USER value=API_username>
  <input type=hidden name=PWD value=API_password>
  <input type=hidden name=SIGNATURE value=API_signature>
  <input type=hidden name=VERSION value=XX.0>
  <input type=hidden name=PAYMENTREQUEST_0_PAYMENTACTION value=Sale>
  <input name=PAYMENTREQUEST_0_AMT value=19.95>
  <input type=hidden name=RETURNURL value=https://www.YourReturnURL.com>
  <input type=hidden name=CANCELURL value=https://www.YourCancelURL.com>
  <input type=submit name=METHOD value=SetExpressCheckout>
</form>

此页面包含您需要的所有信息https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECGettingStarted/

或者使用集成向导生成反表单https://devtools-paypal.com/integrationwizard/ecpaypal/main.php