Неверная сумма с Брейнтри, почему?

#laravel #eloquent #laravel-7 #braintree

Вопрос:

Сумма, которую я передаю, кажется правильной, но я всегда получаю ошибку.
При оформлении заказа сумма недействительна, даже если я передаю значение с плавающей точкой, и эта ошибка отображается на странице после отправки: введите описание изображения здесь

Платежная функция выглядит следующим образом:

 public function payment(Request $request) {
       
        $data = $request->all();
        // dd($data['price']);

        $gateway = new BraintreeGateway([
            'environment' => config('services.braintree.environment'),
            'merchantId' => config('services.braintree.merchantId'),
            'publicKey' => config('services.braintree.publicKey'),
            'privateKey' => config('services.braintree.privateKey')
        ]);
        
        $amount = Sponsorship::where('price', $data['price'])->first();
        // dd($amount);c
        $nonce = $request->payment_method_nonce;
    
        $result = $gateway->transaction()->sale([
            'amount' => $amount,
            'paymentMethodNonce' => $nonce,
            'customer' => [
                'firstName' => 'Tony',
                'lastName' => 'Stark',
                'email' => 'tony@avengers.com',
            ],
            'options' => [
                'submitForSettlement' => true
            ]
        ]);
    
    
        if ($result->success) {
            $transaction = $result->transaction;
            // header("Location: transaction.php?id=" . $transaction->id);
    
            return back()->with('success_message', 'Transaction successful. The ID is:'. $transaction->id);
        } else {
            $errorString = "";
    
            foreach ($result->errors->deepAll() as $error) {
                $errorString .= 'Error: ' . $error->code . ": " . $error->message . "n";
            }
    
            // $_SESSION["errors"] = $errorString;
            // header("Location: index.php");
            return back()->withErrors('An error occurred with the message: '.$result->message);
        }
    }
 

Комментарии:

1. Вы передаете всю модель спонсорства, а не столбец суммы в ней.

2. Да, я попытался передать $data[‘цена’] и получить обратно это сообщение об ошибке: Произошла ошибка с сообщением: Не удается определить способ оплаты.