/
/
home
/
u523034047
/
domains
/
psassociate.org
/
public_html
/
phonepe
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.60
PHP 8.3.16
Dir:
/home/u523034047/domains/psassociate.org/public_html/phonepe
Edit:
/home/u523034047/domains/psassociate.org/public_html/phonepe/phonepe_config.php
<?php error_reporting(0); ini_set('display_errors', '0'); date_default_timezone_set('Asia/Kolkata'); $PHPMAILER_AVAILABLE = false; if (file_exists(__DIR__ . '/../vendor/autoload.php')) { require_once __DIR__ . '/../vendor/autoload.php'; $PHPMAILER_AVAILABLE = class_exists('PHPMailer\\PHPMailer\\PHPMailer'); } define('PHONEPE_CLIENT_ID', 'SU2602091807172181976390'); define('PHONEPE_CLIENT_SECRET', 'eed7a83d-46cd-4b42-aa45-d101d8843cec'); define('PHONEPE_CLIENT_VERSION', '1'); define('PHONEPE_MERCHANT_ID', 'M23TTIJ4VKPRU'); define('PHONEPE_AUTH_URL', 'https://api.phonepe.com/apis/identity-manager/v1/oauth/token'); define('PHONEPE_PAY_URL', 'https://api.phonepe.com/apis/pg/checkout/v2/pay'); define('PHONEPE_STATUS_URL', 'https://api.phonepe.com/apis/pg/checkout/v2/order'); $PLANS = [ '600' => ['amount_paisa' => 60000, 'amount_inr' => 600, 'label' => 'Basic (3 Months)', 'duration' => '3 Months'], '1000' => ['amount_paisa' => 100000, 'amount_inr' => 1000, 'label' => 'Premium (Lifetime)', 'duration' => 'Lifetime'], ]; define('SITE_BASE_URL', 'https://psassociate.org'); define('PHONEPE_REDIRECT_URL', SITE_BASE_URL . '/phonepe/return.php'); define('PHONEPE_CALLBACK_URL', SITE_BASE_URL . '/phonepe/callback.php'); define('ADMIN_EMAIL', 'psassociate@zohomail.in'); define('SITE_NAME', 'PS Associate'); function sendEmail($to, $subject, $body, $replyTo = '') { global $PHPMAILER_AVAILABLE; if ($PHPMAILER_AVAILABLE) { try { $mail = new \PHPMailer\PHPMailer\PHPMailer(true); $mail->isMail(); $mail->CharSet = 'UTF-8'; $mail->setFrom('no-reply@psassociate.org', 'PS Associate'); if ($replyTo) $mail->addReplyTo($replyTo); $mail->addAddress($to); $mail->isHTML(false); $mail->Subject = $subject; $mail->Body = $body; $mail->send(); logPayment('EMAIL_SENT', ['to' => $to, 'subject' => $subject, 'via' => 'PHPMailer']); return true; } catch (\Exception $e) { logPayment('EMAIL_PHPMAILER_FAIL', ['to' => $to, 'error' => $e->getMessage()]); } } $headers = "From: PS Associate <no-reply@psassociate.org>\r\n"; if ($replyTo) $headers .= "Reply-To: {$replyTo}\r\n"; $headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; $ok = @mail($to, $subject, $body, $headers); logPayment('EMAIL_MAIL_FUNC', ['to' => $to, 'result' => $ok ? 'sent' : 'failed']); return $ok; } function getPhonePeToken() { $ch = curl_init(PHONEPE_AUTH_URL); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query([ 'client_id' => PHONEPE_CLIENT_ID, 'client_secret' => PHONEPE_CLIENT_SECRET, 'client_version' => PHONEPE_CLIENT_VERSION, 'grant_type' => 'client_credentials', ]), CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded'], CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => 15, ]); $response = curl_exec($ch); $err = curl_error($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($err) { logPayment('AUTH_CURL_ERROR', ['error' => $err]); return false; } $data = json_decode($response, true); logPayment('AUTH_RESPONSE', ['http_code' => $httpCode, 'has_token' => !empty($data['access_token'])]); if ($httpCode === 200 && !empty($data['access_token'])) return $data['access_token']; logPayment('AUTH_FAILED', ['http_code' => $httpCode, 'response' => $data]); return false; } function generateOrderId() { return 'PSASSOC_' . time() . '_' . mt_rand(1000, 9999); } function showError($title, $message, $backUrl = '../post-resume.php', $backText = 'Go Back') { if (ob_get_length()) ob_clean(); http_response_code(400); echo '<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>' . htmlspecialchars($title) . '</title>'; echo '<meta name="viewport" content="width=device-width, initial-scale=1">'; echo '<style>*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5;padding:15px}.box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);text-align:center;max-width:480px;width:100%}.box h2{color:#dc2626;margin-bottom:12px;font-size:22px}.box p{color:#666;margin-bottom:25px;font-size:15px;line-height:1.6}.btn{display:inline-block;padding:13px 28px;background:#333;color:#fff;text-decoration:none;border-radius:10px;font-size:15px;font-weight:600;transition:all .2s}.btn:hover{background:#111}.contact{margin-top:20px;font-size:13px;color:#999}</style></head><body><div class="box">'; echo '<h2>' . htmlspecialchars($title) . '</h2>'; echo '<p>' . htmlspecialchars($message) . '</p>'; echo '<a href="' . htmlspecialchars($backUrl) . '" class="btn">' . htmlspecialchars($backText) . '</a>'; echo '<div class="contact">Need help? Call +91 9452530458 | psassociate@zohomail.in</div>'; echo '</div></body></html>'; exit; } function parseUdfData($metaInfo) { if (empty($metaInfo)) return []; return [ 'name' => $metaInfo['udf1'] ?? '', 'email' => $metaInfo['udf2'] ?? '', 'mobile' => $metaInfo['udf3'] ?? '', 'gender' => $metaInfo['udf4'] ?? '', 'state' => $metaInfo['udf5'] ?? '', 'city' => $metaInfo['udf6'] ?? '', 'studying' => $metaInfo['udf7'] ?? '', 'resume' => $metaInfo['udf8'] ?? '', 'plan_type' => $metaInfo['udf9'] ?? '', 'plan_amount' => $metaInfo['udf10'] ?? '', 'payment_status' => 'SUCCESS', 'payment_date' => date('d M Y, h:i A'), 'payment_amount' => 'Rs.' . number_format((int) ($metaInfo['udf10'] ?? 0)) ]; } function logPayment($type, $data) { $logDir = __DIR__ . '/logs/'; if (!is_dir($logDir)) @mkdir($logDir, 0755, true); $entry = '[' . date('Y-m-d H:i:s') . '] [' . $type . '] ' . json_encode($data) . "\n"; @file_put_contents($logDir . date('Y-m-d') . '.log', $entry, FILE_APPEND | LOCK_EX); } ?>
Ukuran: 6.2 KB