/home/techb158/immovalet.com/platform/plugins/razorpay/src/Providers
Edit: /home/techb158/immovalet.com/platform/plugins/razorpay/src/Providers/HookServiceProvider.php (5648B)
'label-success status-label'])
->toHtml();
}
return $value;
}, 20, 2);
add_filter(PAYMENT_FILTER_GET_SERVICE_CLASS, function ($data, $value) {
if ($value == RAZORPAY_PAYMENT_METHOD_NAME) {
$data = RazorpayPaymentService::class;
}
return $data;
}, 20, 2);
add_filter(PAYMENT_FILTER_PAYMENT_INFO_DETAIL, function ($data, $payment) {
if ($payment->payment_channel == RAZORPAY_PAYMENT_METHOD_NAME) {
$paymentService = (new RazorpayPaymentService);
$paymentDetail = $paymentService->getPaymentDetails($payment->charge_id);
if ($paymentDetail) {
$data = view('plugins/razorpay::detail', ['payment' => $paymentDetail])->render();
}
}
return $data;
}, 20, 2);
}
/**
* @param string $settings
* @return string
* @throws Throwable
*/
public function addPaymentSettings($settings)
{
return $settings . view('plugins/razorpay::settings')->render();
}
/**
* @param string $html
* @param array $data
* @return string
*/
public function registerRazorpayMethod($html, $data)
{
$apiKey = get_payment_setting('key', RAZORPAY_PAYMENT_METHOD_NAME);
$apiSecret = get_payment_setting('secret', RAZORPAY_PAYMENT_METHOD_NAME);
if (!$apiKey || !$apiSecret) {
return $html;
}
try {
$api = new Api($apiKey, $apiSecret);
$receiptId = Str::random(20);
$amount = $data['amount'] * 100;
$order = $api->order->create([
'receipt' => $receiptId,
'amount' => (int) $amount,
'currency' => $data['currency'],
]);
$data['orderId'] = $order['id'];
return $html . view('plugins/razorpay::methods', $data)->render();
} catch (Exception $exception) {
info($exception->getMessage());
return $html;
}
}
/**
* @param Request $request
* @param array $data
* @return array
*/
public function checkoutWithRazorpay(array $data, Request $request)
{
if ($request->input('payment_method') == RAZORPAY_PAYMENT_METHOD_NAME) {
try {
$api = new Api(get_payment_setting('key', RAZORPAY_PAYMENT_METHOD_NAME),
get_payment_setting('secret', RAZORPAY_PAYMENT_METHOD_NAME));
$api->utility->verifyPaymentSignature([
'razorpay_signature' => $request->input('razorpay_signature'),
'razorpay_payment_id' => $request->input('razorpay_payment_id'),
'razorpay_order_id' => $request->input('razorpay_order_id'),
]);
$status = PaymentStatusEnum::COMPLETED;
$data['charge_id'] = $request->input('razorpay_payment_id');
if ($data['charge_id']) {
do_action(PAYMENT_ACTION_PAYMENT_PROCESSED, [
'account_id' => Arr::get($data, 'account_id'),
'amount' => $request->input('amount'),
'currency' => $data['currency'],
'charge_id' => $data['charge_id'],
'payment_channel' => RAZORPAY_PAYMENT_METHOD_NAME,
'status' => $status,
'order_id' => (array) $request->input('order_id', []),
]);
} else {
$data['error'] = true;
$data['message'] = __('Payment failed!');
}
} catch (SignatureVerificationError $exception) {
$data['message'] = $exception->getMessage();
$data['error'] = true;
}
}
return $data;
}
}