>我的支付网关中运行良好,但是当系统重定向到PayPal时,我在重定向到PayPal之前在屏幕上看到以下内容:
重定向至 https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=-=TOKEN 就在这里——
我想知道的是,是否有人知道如何停止页面显示并直接重定向到没有此中间页面的PayPal。我的重定向代码如下:
$gateway=GatewayFactory::create('PayPal_Express');
$gateway->setUsername(['username']);
$gateway->setPassword(['password']);
$gateway->setSignature(['signature']);
$gateway->setTestMode(['testing']);
$totalamount=number_format(['ordertotal'],2);
try{
$response=$gateway->purchase(
array(
'cancelUrl' => base_url('paymentMethod/'),
'returnUrl' => base_url('paypalexpress/confirm'),
'amount' => $totalamount,
'currency' => 'GBP'
)
)->send();
if($response->isSuccessful()){
print_r($response);
}elseif($response->isRedirect()){
$response->redirect();
}else{
echo $response->getMessage();
}
}
catch('Exception $e){
$this->payment(1,$e->getMessage());
}
-
我建议你从PayPal_Express切换到PayPal_Rest。您将来会为此找到更好的支持。
-
替换此代码:
$response->重定向();
。使用一些特定于您的框架的代码。例如,如果您使用的是Laravel或Symfony,它们都有RedirectResponse类。您可以使用 $response->getRedirectUrl() 而不是使用 redirect() 方法(这是在屏幕上显示重定向闪光灯的方法)从响应中获取重定向 URL。