这是我遇到问题的代码我下载了 api paypal whi composer.json 我收到错误
“注意:使用未定义的常量 CURLOPT_SSLVERSION - 在第 57 行的 C:\wamp\www\Nouveau dossier\vendor\paypal\rest-api-sdk-php\lib\PayPal\Transport\PayPalRestCall.php 中假定为'CURLOPT_SSLVERSION'”
<?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;
require '../src/start.php';
$payer = new Payer();
$details = new Details();
$amount= new Amount();
$transaction = new Transaction();
$payment = new Payment();
$redirectUrls = new RedirectUrls();
$payer->setPaymentMethod("paypal");
//detail
$details->setShipping('2.00')
->setTax('0.00')
->setSubtotal('20.00');
// amount
$amount->setCurrency('GBP')
->setTotal('22.00')
->setDetails($details);
// transaction
$transaction->setAmount($amount)
->setDescription('membership');
// payment
$payment->setIntent('sale')
->setPayer($payer)
->setTransactions([$transaction]);
//redirectUrls
$redirectUrls->setReturnUrl('http://localhost/Nouveau%20dossier/paypal/pay.php?approved=true')
->setCancelUrl('http://localhost/Nouveau%20dossier/paypal/pay.php?approved=false');
$payment->setRedirectUrls($redirectUrls);
try{
$payment->create($api);
}
catch (PayPal\Exception\PPConnectionException $ex) {
echo "Exception: " . $ex->getMessage() . PHP_EOL;
echo "<pre>";
var_dump($ex->getData());
exit(1);
//catch(PPConnectionException $e){
//header('Location: ../paypal/error.php');
}
//foreach($payment->getLinks() as $link){
//if($link->getRek() == 'approval_url'){
//$redirectUrl = $link->getHref();
//}
//}
//var_dump($redirectUrl);
$approvalUrl = $payment->getApprovalLink();
?>
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 PHP 5.1+,此错误意味着您尚未PHP cUrl安装(或者,您的 php.ini 未配置为使用 cUrl)。我在我的 Ubuntu 主机上遇到了同样的问题,安装 cUrl 并重新启动服务器后,问题解决了。要安装 cUrl,请在 SSH 控制台中键入以下内容:
sudo apt-get install php5-curl
Run Code Online (Sandbox Code Playgroud)
然后重启你的 apache 服务器:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
当然,对于不同类型的服务器,命令会有所不同。
| 归档时间: |
|
| 查看次数: |
2416 次 |
| 最近记录: |