| Server IP : 46.105.57.169 / Your IP : 216.73.216.67 Web Server : Apache System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : verseaumee ( 152031) PHP Version : 8.5.7 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/verseaumee/chatblueversion/payment/ |
Upload File : |
<?php
require dirname(__DIR__).'/includes/bootstrap.php';require_login();$provider=$_GET['provider']??'';$reference=$_GET['reference']??$_GET['tx_ref']??$_GET['trxref']??'';$verified=false;$transaction='';
if($provider==='paystack'&&$reference&&!empty($config['paystack']['secret_key'])){$ch=curl_init('https://api.paystack.co/transaction/verify/'.rawurlencode($reference));curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>true,CURLOPT_HTTPHEADER=>['Authorization: Bearer '.$config['paystack']['secret_key']],CURLOPT_TIMEOUT=>30]);$d=json_decode(curl_exec($ch)?:'{}',true);$verified=($d['data']['status']??'')==='success';$transaction=(string)($d['data']['id']??'');}
if($provider==='flutterwave'&&!empty($_GET['transaction_id'])&&!empty($config['flutterwave']['secret_key'])){$transaction=(string)$_GET['transaction_id'];$ch=curl_init('https://api.flutterwave.com/v3/transactions/'.rawurlencode($transaction).'/verify');curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>true,CURLOPT_HTTPHEADER=>['Authorization: Bearer '.$config['flutterwave']['secret_key']],CURLOPT_TIMEOUT=>30]);$d=json_decode(curl_exec($ch)?:'{}',true);$verified=($d['data']['status']??'')==='successful';}
if($verified){$pdo->beginTransaction();$q=$pdo->prepare("UPDATE payments SET status='paid',paid_at=NOW() WHERE reference=? AND user_id=?");$q->execute([$reference,current_user()['id']]);$p=$pdo->prepare('SELECT plan FROM payments WHERE reference=? AND user_id=?');$p->execute([$reference,current_user()['id']]);if($row=$p->fetch()){$pdo->prepare('UPDATE users SET plan=? WHERE id=?')->execute([$row['plan'],current_user()['id']]);$_SESSION['user']['plan']=$row['plan'];}$pdo->commit();}header('Location: ../account.php?payment='.($verified?'success':'failed'));exit;