Я использую API PayPal Rest и получаю сообщение об ошибке

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

    $amount = new Amount();
    $amount->setCurrency("INR")
        ->setTotal($request->get('amount'));

    $payee = new Payee();
    $payee->setEmail($request->get('email'));
    $transaction = new Transaction();
    $transaction->setAmount($amount)
        ->setDescription("Payment description")
        ->setPayee($payee)
        ->setInvoiceNumber(uniqid());

    $redirectUrls = new RedirectUrls();
    $redirectUrls->setReturnUrl("http://udhaarcopy.test/paymentsuccess?success=true")
                ->setCancelUrl("http://udhaarcopy.test/paymentsuccess?success=false");

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


    $request = clone $payment;


    try {
        $payment->create($apiContext);
          // dd( $payment->create($apiContext));
    } catch (PayPal\Exception\PPConnectionException  $ex) {
        dd($ex);
    }
     $payment->getApprovalLink();
    $approvalUrl = $payment->getApprovalLink();

    return redirect($approvalUrl)->with('payment' , $payment);
}

public function getPaymentStatus()
{
    dd($_GET);
    $status = $_GET['success'];
    $paymentId = $_GET['paymentId'];
    $PayerID = $_GET['PayerID'];
    return view('paymentstatus' , compact($status , $paymentId , $PayerID));
}

Он работал нормально, пока я не включил переменную $ payee. После включения $ payee мой код выдает ошибку

PayPal \ Exception \ PayPalConnectionException (400)

Получил код ответа Http 400 при доступе к https://api.sandbox.paypal.com/v1/payments/payment.

На самом деле мое требование: Один пользователь может отправлять платеж другому пользователю, но не в мою учетную запись. Кто-нибудь с любыми предложениями или фиктивным кодом?

Возможно, вы получите больше ответов, если попытаетесь более подробно описать свою проблему в заголовке вопроса.

T K 27.09.2018 14:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
985
1

Ответы 1

Пожалуйста, обратитесь к Группы кодов статуса HTTP Paypal.

Разберитесь в своих ошибках

PayPal возвращает подробные данные по каждому исключению (кроме 500 INTERNAL_SERVER_ERROR), объясняя, в чем именно заключалась ошибка. Вы можете получить это следующим образом:

Обновите обработку исключений, чтобы перехватить PayPalConnectionException и print $ex->getData(), как показано ниже:

try {
    $payment->create($apiContext);
} 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);
}

Теперь, если вы попробуете еще раз, вы увидите что-то вроде этого:

{
    "name": "VALIDATION_ERROR",
    "details": [
        {
            "field": "transactions[0].amount",
            "issue": "Transaction amount details (subtotal, tax, shipping) must add up to specified amount total"
        }
    ],
    "message": "Invalid request - see details",
    "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR",
    "debug_id": "0faff23b719d8"
}

Другие вопросы по теме