سلام من از پیکج شتابیت و درایور زرینپال رو حالت سندباکس استفاده میکنم ولی متاسفانه ارور
خطای ناشناخته رخ داده است. در صورت کسر مبلغ از حساب حداکثر پس از 72 ساعت به حسابتان برمیگردد
رو دارم
<?php
namespace App\Http\Controllers\Client;
use App\Http\Controllers\Controller;
use App\Models\Products\Cart;
use App\Models\Products\Order;
use App\Models\Products\Transaction;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Shetabit\Payment\Facade\Payment;
use Shetabit\Multipay\Invoice;
use Shetabit\Multipay\Exceptions\PurchaseFailedException;
use SoapFault;
use SoapClient;
use Exception;
use Shetabit\Multipay\Exceptions\InvalidPaymentException;
class PurchaseController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function purchase($id){
$user=Auth::user();
$cart=Cart::where('user_id',$user->id)->first();
$cartExist=Order::where('user_id',$user->id)->where('cart_id',$cart->id)->first();
if($cartExist){
return"sabad kharid pardakht shode ast";
}
try{
$invoice = new Invoice();
$paymentId=md5(uniqid());
$transaction=Transaction::create([
'payment_id'=>$paymentId,
'user_id'=>$user->id,
'paid'=>$invoice->getAmount(),
'invoice_dtails'=>$invoice,
'cart_id'=>$cart->id,
]);
$callbackUrl=route('product.result',[$cart->id,'payment_id'=>$paymentId]);
$payment=Payment::callbackUrl($callbackUrl);
$payment->purchase($invoice, function ($driver, $transactionId) use ($transaction) {
$transaction->transaction_id = $transactionId;
$transaction->save();
});
return $payment->pay()->render();
} catch (InvalidPaymentException $exception) {
$exception->getMessage();
// $transaction->transaction_result = [
// 'message' => $exception->getMessage(),
// 'code' => $exception->getCode(),
// ];
// $transaction->status=Transaction::STATUS_FAILED;
// $transaction->save();
}
}
}
کد کنترلر و قسمتی که ایراد میگیره دقیقا
$payment->purchase($invoice, function ($driver, $transactionId) use ($transaction) {
$transaction->transaction_id = $transactionId; $transaction->save();
});
اولین نفری باشید که به این پرسش کمک میکند و مسیر حل مشکل را باز میکند.
اولین پاسخ را بنویسیدشاید پاسخ شما همینجا باشد