PayPalで支払いを作成しようとしていますが、エラーが発生します。PayPal着信JSONリクエストがAPIにマップされていません
エラー:
400 { "名前": "MALFORMED_REQUEST"、 "メッセージ"、 "着信JSON要求がAPI要求にマップされない" "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST"、 "debug_id": 「f79dc9a739991」メッセージを}例外 'ペイパル\例外の\ PayPalConnectionException「ガットHTTP応答コード400 https://api.sandbox.paypal.com/v1/payments/paymentアクセス」。 in /home/nork/domains/nork.lt/public_html/cms/xxx/system/payments/PayPal-PHP-SDK/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php:202 Stackトレース:#0 /home/nork/domains/nork.lt/public_html/cms/xxx/system/payments/PayPal-PHP-SDK/paypal/rest-api-sdk-php/lib/PayPal/Transport/PayPalRestCall.php (73):PayPal \ Core \ PayPalHttpConnection-> execute( '{"インテント": "sale ...")#1 /home/nork/domains/nork.lt/public_html/cms/xxx/system/payments/PayPal -PHP-SDK /ペイパル/残り-API-SDK-PHP/libに/ペイパル/共通/ PayPalResourceModel.php(104):PayPalの\交通\ PayPalRestCall->(アレイ、実行 '/ PA/V1 /支払いを...' 、 'POST'、 '{"インテント": "売却..."、NULL)#2 /home/nork/domains/nork.lt/public_html/cms/xxx/system/payments/PayPal-PHP-SDK/paypal PayPal \ Common \ PayPalResourceModel :: executeCall( '/ v1/payments/pa ...'、 'POST'、 '{')/rest-api-sdk-php/lib/PayPal/Api/Payment.php(577) (PayPal \ Rest \ ApiContext)、NULL)#3 /home/nork/domains/nork.lt/public_html/cms/xxx/checkout.php(73):ペイパル\ Api \ Paym ENT->作成(オブジェクト(ペイパル\休憩\ ApiContext))#4 {メイン}
コード:
<?php
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;
if(isset($_GET['type']) && isset($_GET['amount']) && isset($_GET['gold']))
{
if($_GET['type'] == 'paypal') // If payment is PayPal
{
require 'system/payments/paypal.php';
$gold = $_GET['gold'];
$amount = $_GET['amount'];
$pricePerVnt = 0.00;
$productName = '';
$shipping = 0.00;
switch($gold)
{
case 'first':
{
$productName = 'first name';
$pricePerVnt = 1.19;
break;
}
case 'second':
{
$productName = 'second name';
$pricePerVnt = 0.21;
break;
}
}
if(!$pricePerVnt) die();
$totalAmount = $amount * $pricePerVnt;
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item = new Item();
$item->setName($productName)->setCurrency('USD')->setQuantity('1')->setPrice($pricePerVnt);
$itemList = new ItemList();
$itemList->setItems($item);
$amount = new Amount();
$amount->setCurrency('USD')->setTotal($totalAmount);
$transaction = new Transaction();
$transaction->setAmount($pricePerVnt)->setDescription($productName)->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl('http://google.lt')->setCancelUrl('http://cancel.lt');
$payment = new Payment();
$payment->setIntent('sale')->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions($transaction);
try {
$payment->create($paypal);
} 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);
}
//print_r($payment);
//echo $approvalUrl = $payment->getApprovalLink();
//header('Location: {$approvalUrl}');
}
}
?>