PayPal ReturnUrl 不传递参数

PayPal ReturnUrl doesn't pass parameters

我正在尝试使用 PayPal PHP SDK 将 paypal 整合到我的网站中。除了在成功或失败之后,一切似乎都在工作 return url 既不包括我定义的参数也不包括由 paypal return 编辑的参数,例如 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 中,它将用户重定向到另一个页面,并且所有参数都在此过程中丢失。我发布的代码工作正常。