php - 提交 Paypal 请求 - 空白返回屏幕

标签 php paypal paypal-sandbox paypal-rest-sdk

我不是第一次创建 Paypal 付款请求。我正在尝试设置一本书的付款。图书的价格等详细信息取自数据库中存储的有关图书的数据。用户只需输入图书 ID。理想情况下,这些详细信息会变成 Paypal 付款。

然而,当我提交表单时,我只得到一个空白屏幕。理想情况下,我希望设置付款方式,然后用户可以在网站上确认购买。任何人都可以帮助我尝试消除黑屏吗?

代码:

try {
      $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_USERNAME, DB_USERNAME, DB_PASSWORD);
} catch   (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}


  $book =$_GET["book_id"];
  $user =$_GET["user"];


$sth = $dbh->prepare("SELECT title, price FROM books2 WHERE b_id=$book");
$sth->bindParam(':title', $title);
$sth->bindParam(':price', $price);
$sth->execute();




$payer = new Payer();
$payer->setPaymentMethod("paypal");


$item1 = new Item();
$item1->setName($title)
    ->setCurrency('USD')
    ->setQuantity(1)
    ->setPrice($price);



$details = new Details();
$details->setShipping(1.2)
 ->setTax(1.3)
 ->setSubtotal(17.50);




$transaction = new Transaction();
$transaction->setAmount($price)
    ->setItemList($item1)
    ->setDescription("Payment description")
    ->setInvoiceNumber(uniqid());



$payment = new Payment();
$payment->setIntent("sale")
    ->setPayer($user)
    ->setRedirectUrls($redirectUrls)
    ->setTransactions(array($transaction));

    $execution = new PaymentExecution();
$result = $payment->execute($execution, $apiContext);


$request = clone $payment;


try {
    $payment->create($apiContext);
} catch (Exception $ex) {
    ResultPrinter::printError("Created Payment Using PayPal. Please visit the URL to Approve.", "Payment", null, $request, $ex);
    exit(1);
}


$approvalUrl = $payment->getApprovalLink();

ResultPrinter::printResult("Setting up payment using Paypal. Please visit the URL to Approve.", "Payment", "<a href='$approvalUrl' >$approvalUrl</a>", $request, $payment);

return $payment;

最佳答案

获得 $approvalUrl 后,您需要 将他们重定向到 PayPal 网址。它会 看起来像这样。

$approvalUrl = $payment->getApprovalLink();  
if(isset($approvalUrl)) {
    header("Location: $approvalUrl");
    exit;
}

关于php - 提交 Paypal 请求 - 空白返回屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952814/

相关文章:

javascript - 如何检测Android浏览器而不是Android应用程序(WebView)?

paypal - 是否有任何在线支付提供商允许从中国境外向支付宝账户或中国银行账户付款?

wordpress - Paypal 订阅的访客结帐

Paypal 沙箱和 Live API

node.js - 接收 PayPal IPN 时未获取任何参数

Php/mySQL 连接到远程服务器, fatal error ,连接超时

javascript - 使用 localStorage 提交表单后保持分区处于事件状态

angularjs - 通过 PayPal API 将应用程序购物车与 PayPal 集成

javascript - 如何根据我在 HTML 表单上的用户输入更新我的 PHP 脚本

针对 PayPal 网站支付标准的移动优化结账