0 پاسخ

مشکل در استفاده از پکیج شتابیت

سلام من از پیکج شتابیت و درایور زرینپال رو حالت سندباکس استفاده میکنم ولی متاسفانه ارور
خطای ناشناخته رخ داده است. در صورت کسر مبلغ از حساب حداکثر پس از 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();
    });