دوستان من از پکیج شتابیت استفاده میکنم
مشکل اینجاست که بعضی مواقع پول رو از پرداخت کننده کم میکنه ولی روی سایت وضعیت پرداخت تایید نمیشه
فانکشن کال بک رو میزارم براتون
لطفا کمک کنین
'''
public function callBack(Request $request){
$transaction_id= (int)$request->Authority;
try {
$payment = \App\Models\Payment::where('transaction_id',$transaction_id)->latest()->first();
$cart = Cart::where('id',$payment->cart_id)->first();
$receipt = Payment::via($payment->port)->amount($payment->price)->transactionId($transaction_id)->verify();
if ($receipt && $receipt->getReferenceId()) {
$ReferenceId=$receipt->getReferenceId();
$Date=$receipt->getDate();
$cart->orderLogs()->create([
'status' => 0,
'text' => 'تراکنش تایید شد.کد رهگیری: :'.$ReferenceId
]);
$payment->update([
'ref_id' => $ReferenceId,
'status' => 'SUCCEED',
'result_message' => 'SUCCEED',
'payment_date' => $Date,
]);
$cart->update([
'tracking_code' => $ReferenceId,
'pay_status' => 1,
'paid_price' => $payment->price,
'transactions_id' => $payment->id
]);
$cart->cartAddress()->create([
'province_id'=> $cart->address->province_id,
'city_id'=> $cart->address->city_id,
'name'=> $cart->address->name,
'address'=> $cart->address->address,
'postal_code'=> $cart->address->postal_code,
'location'=> $cart->address->location,
'phone'=> $cart->address->phone,
]);
}else{
$cart->orderLogs()->create([
'status' => 0,
'text' => 'مشکل در تایید تراکنش در بانک : شماره تراکنش :'.$transaction_id
]);
return "مشکل در تایید تراکنش در بانک.شماره تراکنش:".$transaction_id;
}
$date = Jalalian::forge($receipt->getDate())->format('Y/m/d H:i');
$cart->orderLogs()->create([
'status' => 0,
'text' => 'پرداخت سبد خرید|زمان :'.$date
]);
ultraFastSend([
'order_id' => "$cart->id",
], config('sms.new_order'), $cart->user->mobile);
foreach (config('website.manager_mobile') as $mobile){
ultraFastSend([
'user_name' => $cart->user->name,
'date' => "$date",
], config('sms.manager_order_alert'), $mobile);
}
session()->flash('pay-success');
return redirect(route('orders.show',$cart));
} catch (InvalidPaymentException $exception) {
/**
when payment is not verified, it will throw an exception.
We can catch the exception to handle invalid payments.
getMessage method, returns a suitable message that can be used in user interface.
**/
$transID =null;
$message = $exception->getMessage();
return view('cart.payment_failed',compact('message','transID'));
}
}
'''
به سعید رضازاده کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟