Please look over below code
public function paypalNotify(Request $request, $transaction_id){
//todo: need to be check
$payment = Payment::whereLocalTransactionId($transaction_id)->where('status','!=','success')->first();
$verified = paypal_ipn_verify();
if ($verified){
//Payment success, we are ready approve your payment
$payment->status = 'success';
$payment->charge_id_or_token = $request->txn_id;
$payment->description = $request->item_name;
$payment->payer_email = $request->payer_email;
$payment->payment_created = strtotime($request->payment_date);
$payment->save();
}else{
$payment->status = 'declined';
$payment->description = trans('app.payment_declined_msg');
$payment->save();
}
// Reply with an empty 200 response to indicate to paypal the IPN was received correctly
header("HTTP/1.1 200 OK");
}
Your payment are succeeding here $payment->status = 'success';
Please read carefully your payment gateway instructions to achieve IPN request or something like that
Best regards