我正在尝试整合paypal一次捐赠将数据保存到数据库,然后使用Paypal IPN标记付费/未付款,我昨天使用下面的代码,它工作正常,并将我重定向到沙盒页面支付然后回来。
下面是我的php表单
<form method="post" action="<?php echo base_url(); ?>controller/function" name="DonationForm" id="DonationForm" class="mt-20">
<input type="number" min="1" placeholder="Amount" id="amount" name="amount" class="form-control">
---- here i have some more variables to insert in database--
</form>
以下是我的codeigniter功能
$UniqueIdGenrated=md5(uniqid(mt_rand(), FALSE));
$UniqueId=$UniqueIdGenrated;
$paypal_email = 'my_sandbox_bussiness_email@gmail.com';
$return_url = 'https://my_domain.com/controller/payment-successful';
$cancel_url = 'https://my_domain.com/controller/payment-cancelled';
$notify_url = 'https://my_domain.com/paypal/listener.php';
$currency_code='USD';
$item_name='Donation for a cause';
$item_number=$UniqueId;
$amount=$_POST['amount'];
$cmd='_xclick';
//$lc='UK';
//$bn='PP-BuyNowBF:btn_buynow_LG.gif:NonHostedGuest';
$querystring = '';
$querystring .= "?business=".urlencode($paypal_email)."&";
$querystring .= "item_name=".urlencode($item_name)."&";
$querystring .= "amount=".urlencode($amount)."&";
$querystring .= "item_number=".urlencode($item_number)."&";
$querystring .= "currency_code=".urlencode($currency_code)."&";
$querystring .= "cmd=".urlencode($cmd)."&";
// Append paypal return addresses
$querystring .= "return=".urlencode(stripslashes($return_url))."&";
$querystring .= "cancel_return=".urlencode(stripslashes($cancel_url))."&";
$querystring .= "notify_url=".urlencode($notify_url);
header('location:https://www.sandbox.paypal.com/cgi-bin/webscr'.$querystring);
exit();
然而今天,当我再次开始测试时,贝宝表示&#34;事情似乎不会在当下发挥作用。请稍后再试。&#34;
我尝试将下面保留为标题,直播paypal
header('location:https://www.paypal.com/cgi-bin/webscr'.$querystring);
然后它已经在我的PayPal付款页面上正确拍摄了屏幕截图
任何人都可以帮助我,我错过了一些东西:(
答案 0 :(得分:0)
很奇怪,现在它使用相同的代码工作正常,并按照预期将我重定向到paypal沙盒。下面是屏幕截图。 我猜paypal沙盒服务器已经关闭或者什么的,或者可能是有一些暂时的故障...不知道。 谢谢!!