Php 贝宝返回URL不';t通过参数

Php 贝宝返回URL不';t通过参数,php,paypal,paypal-sandbox,Php,Paypal,Paypal Sandbox,我正在尝试使用PayPal PHP SDK将PayPal集成到我的网站中。除了成功或失败之外,所有的一切似乎都正常。返回的url既不包括我定义的参数,也不包括paypal返回的参数,如paymentId、PayerID和token。这是我的php文件: use PayPal\Api\Payer; use PayPal\Api\Details; use PayPal\Api\Amount; use PayPal\Api\Transaction; use PayPal\Api\Payment; us

我正在尝试使用PayPal PHP SDK将PayPal集成到我的网站中。除了成功或失败之外,所有的一切似乎都正常。返回的url既不包括我定义的参数,也不包括paypal返回的参数,如paymentId、PayerID和token。这是我的php文件:

use PayPal\Api\Payer;
use PayPal\Api\Details;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Exception\PayPalConnectionException;

require './paypal.php';

$payer = new Payer();
$details= new Details();
$amount= new Amount();
$transaction = new Transaction();
$payment = new Payment();
$redirectUrls=new RedirectUrls();

//payer
$payer->setPaymentMethod('paypal');

//details
$details->setShipping('2.00')
        ->setTax('0.00')
        ->setSubtotal('20.00');
 //amount
 $amount->setCurrency('USD')
        ->setTotal('22.00')
        ->setDetails($details);
 //transcation
 $transaction->setAmount($amount)
            ->setDescription('Membership');
 //payment
 $payment->setIntent('sale')
         ->setPayer($payer)
         ->setTransactions([$transaction]);

 //redirect
 $redirectUrls->setReturnUrl('http://localhost/test/add-funds.php?approved=true')
 ->setCancelUrl('http://localhost/test/add-funds.php?approved=false');

$payment->setRedirectUrls($redirectUrls);

    try{
    $payment->create($api);
    //generate and store hash
    //prepare and execute transaction storage

}catch(PayPalConnectionException  $e){
echo $e->getData();
header('Location:../test/add-funds.php');
}
$approvalUrl = $payment->getApprovalLink();

header('Location:'.$approvalUrl);
这是我的paypal.php文件

use PayPal\Rest\ApiContext;
use PayPal\Auth\OAuthTokenCredential;


$client='client';
$secret='secret';

$api= new ApiContext(new OAuthTokenCredential($client,$secret));
$api->setConfig([
'mode' => 'sandbox',
'http.ConnectionTimeOut'=> 30,
'log.LogEnabled' => false,
'log.FileName' => '',
'log.LogLevel' =>'FINE',
'validation.level'=>'log'
]);

编辑:在$payment->create($api)之后;我还检查了$payment->getId(),它有正确的值。

结果表明问题出在add-funds.php中,它将用户重定向到另一个页面,并且在这个过程中所有参数都丢失了。我发布的代码工作正常。

结果发现问题出在add-funds.php中,它将用户重定向到另一个页面,并且在这个过程中所有参数都丢失了。我发布的代码运行正常。

你看过PayPal创建的日志文件了吗?@angelcool.net我收到了:[28-07-2015 02:43:39]PayPal\Core\PayPalHttpConnection:INFO:POST[28-07-2015 02:43:40]PayPal\Core\PayPalHttpConnection:信息:无效或未找到证书颁发机构-正在使用捆绑的CA证书文件重试根据日志建议检查您的CA证书文件。恐怕没有更新。更新您的CA bundle证书文件,一切将恢复正常。此外,这可能会有所帮助:您是否查看了PayPal创建的日志文件?@angelcool.net我收到了以下消息:[28-07-2015 02:43:39]PayPal\Core\PayPalHttpConnection:INFO:POST[28-07-2015 02:43:40]PayPal\Core\PayPalHttpConnection:信息:无效或未找到证书颁发机构-正在使用捆绑的CA证书文件重试根据日志建议检查您的CA证书文件。恐怕没有更新。更新您的CA捆绑证书文件,一切将恢复正常。此外,这可能会有帮助: