сумма заказа PayPal с Laravel - PullRequest
0 голосов
/ 27 июня 2018

Кто-нибудь использует PayPal API из srmklive с этим проектом laravel?

https://github.com/srmklive/laravel-paypal

Установил его, и я заставил его работать, пока не получил следующую ошибку. Я искал несколько часов, но не могу найти решение.

В чем здесь проблема? Это продолжает говорить следующее; Общая сумма заказа недействительна.

Array ( [TIMESTAMP] => 2018-06-27T08:06:32Z [CORRELATIONID] => c8e16efc9b6e4 [ACK] => Failure [VERSION] => 123 [BUILD] => 47483429 [L_ERRORCODE0] => 10401 [L_ERRORCODE1] => 10426 [L_ERRORCODE2] => 10431 [L_SHORTMESSAGE0] => Transaction refused because of an invalid argument. See additional error messages for details. [L_SHORTMESSAGE1] => Transaction refused because of an invalid argument. See additional error messages for details. [L_SHORTMESSAGE2] => Transaction refused because of an invalid argument. See additional error messages for details. [L_LONGMESSAGE0] => Order total is invalid. [L_LONGMESSAGE1] => Item total is invalid. [L_LONGMESSAGE2] => Item amount is invalid. [L_SEVERITYCODE0] => Error [L_SEVERITYCODE1] => Error [L_SEVERITYCODE2] => Error [paypal_link] => )

Я не вижу ничего о сумме заказа в документации? Или я что-то упустил?

Код, который я сейчас использую;

`$provider = new ExpressCheckout;

        $data = [];
        $order_id = 1;

        $data['items'] = [
            [
                'name'  => 'Product 1',
                'price' => 9.99,
                'qty'   => 1,
            ],
        ];
        $data['return_url'] = url('/paypal/ec-checkout-success');

        $data['invoice_id'] = config('paypal.invoice_prefix').'_'.$order_id;
        $data['invoice_description'] = "Order #$order_id Invoice";
        $data['cancel_url'] = url('/');
        $total = 0;

        foreach ($data['items'] as $item) {
            $total += $item['price'] * $item['qty'];
        }

        $data['total'] = $total;

        //return print_r($data);

        $response = $provider->setExpressCheckout($data);

        //return dd($respons);

        // This will redirect user to PayPal
        return print_r($response); `

Заранее спасибо.

1 Ответ

0 голосов
/ 28 июня 2018

Я нашел решение вышеуказанной проблемы. Каким-то образом PayPal не принимает 9,99 долларов США. Когда я делаю круглое число, например, 10 долларов, это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...