2017-03-15 12 views
0

私はPayPalのPHP SDKでテストトランザクションをしようとしています。作者と一緒にそれをインストールしました。問題は、スクリプトが完了したときにPayPalゲートウェイにリダイレクトされず、$ approvalurlでヘッダ機能を使用すると、PayPalログインにリダイレクトされますが、データは送信されません。私の出品者アカウントのPayPalのログインサイトが、ありません価格や製品情報PAYPAL PHP SDKはリダイレクトされませんか?

任意のアイデアは間違って何)が送信されますか?

<?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 

答えて

0

は私が問題を発見しました。私はitemitemlist

を作成するために逃しました
関連する問題