سلام من درگاهو با زرین پال پیاده کردم کامل فقط یه مشکل هست اونم این که من مقدار هزینه رو توی سشن گذاشتم و اونو توی متد amount خود زرین پال استفاده کردم ولی ارور میده که باید عددی باشه!
وقتی ریترنش میکنم عدد رو نشون میده و وقتی یه مقدار دیفالت مثلا 1000 میزارم کار میکنه
اینم کد:
// return Session::get('cost');
return Payment::purchase(
(new Invoice)->amount(Session::get('cost')),
function ($driver, $transactionId) {
Session::put('transactionId', $transactionId);
$payment = new \App\Payment();
$payment->user_id = Auth::user()->id;
$payment->payment_code = Session::get('payment_code');
$payment->transaction_id = $transactionId;
$payment->cost = Session::get('cost');
$payment->date = Carbon::now();
$payment->save();
Session::put('payment_id', $payment->id);
// Store transactionId in database.
// We need the transactionId to verify payment in the future.
}
)->pay()->render();
کسی میتونه کمک کنه؟
مقدار رو به عددی cast کنید. از type casting به صورت صریح استفاده کنید. کدتون به حالت زیر تغییر میکنه:
$amount = (int) Session::get('cost');
return Payment::purchase(
(new Invoice)->amount($amount),
function ($driver, $transactionId) {
Session::put('transactionId', $transactionId);
$payment = new \App\Payment();
$payment->user_id = Auth::user()->id;
$payment->payment_code = Session::get('payment_code');
$payment->transaction_id = $transactionId;
$payment->cost = Session::get('cost');
$payment->date = Carbon::now();
$payment->save();
Session::put('payment_id', $payment->id);
// Store transactionId in database.
// We need the transactionId to verify payment in the future.
}
)->pay()->render();
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟