[英]PAYPAL PHP SDK doesn't redirect?
我正在嘗試使用PayPal的PHP SDK進行測試交易,並通過composer安裝了它。 問題是腳本執行完后,我沒有重定向到PayPal網關,當我將標頭函數與$ approvalurl一起使用時,我重定向到了PayPal登錄名,但是數據沒有提交(我最終在我賣家帳戶的PayPal登錄網站,但沒有傳輸任何價格或產品信息)
知道有什么問題嗎? 這是我的腳本的樣子:
<?php
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
// Autoload SDK package for composer based installations
require 'vendor/autoload.php';
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'api_key',
'api_secret'
)
);
$apiContext->setConfig(
array(
'log.LogEnabled' => true,
'log.FileName' => 'PayPal.log',
'log.LogLevel' => 'DEBUG'
)
);
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
// Create new payer and method
$payer = new Payer();
$payer->setPaymentMethod("paypal");
// Set redirect urls
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl('http://localhost:3000/process.php')
->setCancelUrl('http://localhost:3000/cancel.php');
// Set payment amount
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal(10);
// Set transaction object
$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription("Payment description");
// Create the full payment object
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
// Create payment with valid API context
try {
$payment->create($apiContext);
//echo "Payment Id is " . $payment->getId();
// Get PayPal redirect URL and redirect user
$approvalUrl = $payment->getApprovalLink();
// REDIRECT USER TO $approvalUrl
header("Location: $approvalUrl");
} catch (PayPal\Exception\PayPalConnectionException $ex) {
echo 'Exception abgefangen: ', $ex->getData(), "\n";
echo $ex->getCode();
echo $ex->getData();
die($ex);
} catch (Exception $ex) {
die($ex);
}
$approvalUrl = $payment->getApprovalLink();
return $payment;
?>
paypal.log:
[14-03-2017 01:33:23] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.sandbox.paypal.com/v1/oauth2/token
[14-03-2017 01:33:26] PayPal\Core\PayPalHttpConnection : INFO: Response Status : 200
[14-03-2017 01:33:26] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.sandbox.paypal.com/v1/payments/payment
[14-03-2017 01:33:27] PayPal\Core\PayPalHttpConnection : INFO: Response Status : 201
[14-03-2017 01:33:59] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.sandbox.paypal.com/v1/oauth2/token
[14-03-2017 01:34:02] PayPal\Core\PayPalHttpConnection : INFO: Response Status : 200
[14-03-2017 01:34:02] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.sandbox.paypal.com/v1/payments/payment
[14-03-2017 01:34:04] PayPal\Core\PayPalHttpConnection : INFO: Response Status : 201
我發現了問題。 我錯過了創建一個item
和item
itemlist
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.