Я пытаюсь использовать SDK для разработчиков Paypal для PHP в первый раз. Я следил за учебником по youtube, все хорошо, пока я не попытался выполнить его, и ответ, который я получил, был malformed_request. Запрос JSON не отображает запрос API. Как получить строгу и содержимое объекта JSON, чтобы я мог продолжить исследование? см. код ниже, ошибка возникает при попытке. Я развиваюсь в netbeans 7.4Json данные, как получить содержимое PHP
<?PHP
//this is copied from this tutorial here on youtube https://www.youtube.com/watch?v=BD1dOWIABe0
use PayPal\Api\Payer;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Details;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Payment;
require '/../app/start.php';
$pTotal = 20.00;
$shipping = 1.00;
$Total = $pTotal + $shipping ;
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item = new Item();
$item->setName("tieThisToSomething")
->setCurrency('GBP')
->setQuantity(1)
->setPrice($pTotal);
$itemList = new ItemList();
$itemList->setItems($item); //I have removed square brackets from here []
$details = new Details();
$details->setShipping($shipping)
->setSubtotal($pTotal);
$amount = new Amount();
$amount->setCurrency('GBP')
->setTotal($Total)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription('Pay for all your santa fun')
->setInvoiceNumber(uniqid());//perhaps tie this to order number?
$redirectUrls = new RedirectUrls();
$redirectUrls->setCancelUrl(SITE_URL . '/pay.php?success=false')
->setReturnUrl(SITE_URL . '/pay.php?success=true');
$payment = new Payment();
$payment->setPayer($payer)
->setTransactions($transaction)
->setIntent('sale')
->setRedirectUrls($redirectUrls) ; //should [] be needed here?
//try {
// $payment->create($paypal);
//} catch (Exception $e) {
// die($e);
//}
try {
$payment->create($paypal); //Error happens here!
} catch (PayPal\Exception\PayPalConnectionException $ex) {
echo $ex->getCode(); // Prints the Error Code
echo $ex->getData(); // Prints the detailed error message
die($ex);
} catch (Exception $ex) {
die($ex);
}
$approvalUrl = $payment->getApprovalLink();
header("Location: {$approvalUrl}");
Вы передаете '$ paypal', но это не используется как переменная? Кроме того, по его мнению, вызов 'setItems' должен передаваться массивом. –
Я установил элементы как массив, используя [], но у меня получилось сообщение об ошибке «['expected] – user2247671
Тогда похоже, что вы на PHP 5.3 или ниже? Предположим, что оберните элемент в массив, например. 'array ($ item)' вместо этого. –