• 21-10-2024, 15:43:27
    #1
    Merhaba,

    Glycon v2 için PayTR kullanıyorum ve yurt dışına satış yapıyorum. Fakat, kart bilgilerinin girildiği alan Türkçe görünüyor. PayTR API dökümanını incelerken;

    lang(string) - Türkçe için tr veya İngilizce için en (Boş gönderilirse tr geçerli olur)

    şeklinde bir bilgi gördüm. Yani müşterilere ödeme formunu İngilizce gösterebilirim diye anlıyorum. Aşağıda glycon v2 bakiye ekleme sayfasının php kodları mevcut, sadece lang bilgisini nasıl ekleyebilirim, yardımcı olabilir misiniz?

    <?php
    
    use Omnipay\Omnipay;
    $title .= $languageArray["addfunds.title"];
    
    // set your currency here
    /*
    if( !isset($_SESSION["neira_userlogin"] ) || (isset($_SESSION["neira_userlogin"] ) && $_SESSION["neira_userlogin"] != 1)  || $user["client_type"] == 1  ){
      Header("Location:".base_url());
      exit();
    }
    
    if($_SESSION["neira_userlogin"] == 1 ):
        if($settings["sms_verify"] == 2 && $user["sms_verify"] != 2){
            header("Location:".base_url('verify/sms'));
        }
        if($settings["mail_verify"] == 2 && $user["mail_verify"] != 2 ){
            header("Location:".base_url('verify/mail'));
        }
        endif;
    */
    if ($settings["sms_verify"] == 2 && $user["sms_verify"] != 2) {
        header("Location:" . base_url('verify/sms'));
    }
    if ($settings["mail_verify"] == 2 && $user["mail_verify"] != 2) {
        header("Location:" . base_url('verify/mail'));
    }
    $methodList = $conn->prepare("SELECT * FROM payment_methods WHERE method_type=:type && id!=:id ORDER BY method_line ");
    $methodList->execute(array("type" => 2, "id" => 7));
    $methodList = $methodList->fetchAll(PDO::FETCH_ASSOC);
    $paymentsList = $conn->prepare("SELECT * FROM payment_methods WHERE method_type=:type && id!=:id ORDER BY method_line ASC ");
    $paymentsList->execute(array("type" => 2, "id" => 7));
    $paymentsList = $paymentsList->fetchAll(PDO::FETCH_ASSOC);
    
    
    foreach ($paymentsList as $index => $payment) {
        $extra = json_decode($payment["method_extras"], true);
        $methodList[$index]["method_name"] = $extra["name"];
        $methodList[$index]["id"] = $payment["id"];
    }
    
    $bankPayment = $conn->prepare("SELECT * FROM payment_methods WHERE id=:id ");
    $bankPayment->execute(array("id" => 7));
    $bankPayment = $bankPayment->fetch(PDO::FETCH_ASSOC);
    
    $bankList = $conn->prepare("SELECT * FROM bank_accounts");
    $bankList->execute(array());
    $bankList = $bankList->fetchAll(PDO::FETCH_ASSOC);
    
    if ($_POST && isset($_POST["payment_bank"])) :
    
        foreach ($_POST as $key => $value) :
            $_SESSION["data"][$key] = $value;
        endforeach;
    
        $bank = htmlentities($_POST["payment_bank"]);
        $amount = htmlentities($_POST["payment_bank_amount"]);
        $gonderen = htmlentities($_POST["payment_gonderen"]);
        $method_id = 7;
        $extras = json_encode($_POST);
    
        if (open_bankpayment($user["client_id"]) == 2) {
            unset($_SESSION["data"]);
            $error = 1;
            $errorText = $languageArray["error.addfunds.bank.limit"];
        } elseif (empty($bank)) {
            $error = 1;
            $errorText = $languageArray["error.addfunds.bank.account"];
        } elseif (!is_numeric($amount)) {
            $error = 1;
            $errorText = $languageArray["error.addfunds.bank.amount"];
        } elseif (empty($gonderen)) {
            $error = 1;
            $errorText = $languageArray["error.addfunds.bank.sender"];
        } else {
    
            $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_method=:method, payment_create_date=:date, payment_ip=:ip, payment_extra=:extras, payment_bank=:bank ");
            $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "method" => $method_id, "date" => date("Y.m.d H:i:s"), "ip" => GetIP(), "extras" => $extras, "bank" => $bank));
            if ($insert) {
                unset($_SESSION["data"]);
                $success = 1;
                $successText = $languageArray["error.addfunds.bank.success"];
                if ($settings["alert_newbankpayment"] == 2) :
                    if ($settings["alert_type"] == 3) : $sendmail = 1;
                        $sendsms = 1;
                    elseif ($settings["alert_type"] == 2) : $sendmail = 1;
                        $sendsms = 0;
                    elseif ($settings["alert_type"] == 1) : $sendmail = 0;
                        $sendsms = 1;
                    endif;
                    if ($sendsms) :
                        SMSUser($settings["admin_telephone"], "Websitenizde #" . $conn->lastInsertId() . " idli yeni bir ödeme talebi mevcut.");
                    endif;
                    if ($sendmail) :
                        sendMail(["subject" => "Yeni ödeme talebi mevcut.", "body" => "Websitenizde #" . $conn->lastInsertId() . " idli yeni bir ödeme talebi mevcut.", "mail" => $settings["admin_mail"]]);
                    endif;
                endif;
            } else {
                $error = 1;
                $errorText = $languageArray["error.addfunds.bank.fail"];
            }
        }
    
    elseif ($_POST && isset($_POST["payment_type"])) :
    
        foreach ($_POST as $key => $value) :
            $_SESSION["data"][$key] = $value;
        endforeach;
    
    
        if (!$user["first_name"]) :
            $user["first_name"] = "Ad Soyad";
        endif;
    
        if (!$user["telephone"]) :
            $user["telephone"] = "05555555555";
        endif;
    
        $method_id = $_POST["payment_type"];
        $amount = htmlentities($_POST["payment_amount"]);
        $extras = json_encode($_POST);
        $method = $conn->prepare("SELECT * FROM payment_methods WHERE id=:id ");
        $method->execute(array("id" => $method_id));
        $method = $method->fetch(PDO::FETCH_ASSOC);
        $extra = json_decode($method["method_extras"], true);
        $paymentCode = time() . rand(1, 999);
        $amount = (int)$amount;
        $extra["fee"] = (int)$extra["fee"];
        $amount_fee = ($amount + ($amount * $extra["fee"] / 100)); // Komisyonlu tutar
    
        if (empty($method_id)) {
            $error = 1;
            $errorText = $languageArray["error.addfunds.online.method"];
        } elseif (!is_numeric($amount)) {
            $error = 1;
            $errorText = $languageArray["error.addfunds.online.amount"];
        } elseif ($amount < $method["method_min"]) {
            $error = 1;
            $errorText = str_replace("{min}", $method["method_min"], $languageArray["error.addfunds.online.min"]);
        } elseif ($amount > $method["method_max"] && $method["method_max"] != 0) {
            $error = 1;
            $errorText = str_replace("{max}", $method["method_max"], $languageArray["error.addfunds.online.max"]);
        } else {
            if ($method_id == 2) :
                $merchant_id = $extra["merchant_id"];
                $merchant_key = $extra["merchant_key"];
                $merchant_salt = $extra["merchant_salt"];
                $email = $user["email"];
                $payment_amount = $amount_fee * 100;
                $merchant_oid = $paymentCode;
                $user_name = $user["first_name"];
                $user_address = "Belirtilmemiş";
                $user_phone = $user["telephone"];
                $payment_type = "eft";
                $user_ip = GetIP();
                $timeout_limit = "360";
                $debug_on = 1;
                $test_mode = 0;
                $no_installment = 0;
                $max_installment = 0;
                $hash_str = $merchant_id . $user_ip . $merchant_oid . $email . $payment_amount . $payment_type . $test_mode;
                $paytr_token = base64_encode(hash_hmac('sha256', $hash_str . $merchant_salt, $merchant_key, true));
                $post_vals = array(
                    'merchant_id' => $merchant_id,
                    'user_ip' => $user_ip,
                    'merchant_oid' => $merchant_oid,
                    'email' => $email,
                    'payment_amount' => $payment_amount,
                    'payment_type' => $payment_type,
                    'paytr_token' => $paytr_token,
                    'debug_on' => $debug_on,
                    'timeout_limit' => $timeout_limit,
                    'test_mode' => $test_mode,
                    'ref_id' => "d490b3df19ed19ee4f07e013c9ec71f816499651055ae98e8bbe5c1a12ff8688"
                );
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/odeme/api/get-token");
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 20);
                $result = @curl_exec($ch);
                if (curl_errno($ch))
                    die("PAYTR IFRAME connection error. err:" . curl_error($ch));
                curl_close($ch);
                $result = json_decode($result, 1);
    
                if ($result['status'] == 'success') :
                    unset($_SESSION["data"]);
                    $token = $result['token'];
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                    $payment_url = "https://www.paytr.com/odeme/api/" . $token;
                    $_POST = $result;
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
            elseif ($method_id == 1) :
                $merchant_id = $extra["merchant_id"];
                $merchant_key = $extra["merchant_key"];
                $merchant_salt = $extra["merchant_salt"];
                $email = $user["email"];
                $payment_amount = $amount_fee * 100;
                $merchant_oid = $paymentCode;
                $user_name = $user["first_name"];
                $user_address = "Belirtilmemiş";
                $user_phone = $user["telephone"];
                $currency = "USD";
                $merchant_ok_url = base_url();
                $merchant_fail_url = base_url();
                $user_basket = base64_encode(json_encode(array(array($amount . " " . $currency . " Bakiye", $amount_fee, 1))));
                $user_ip = GetIP();
                $timeout_limit = "360";
                $debug_on = 1;
                $test_mode = 0;
                $no_installment = 1;
                $max_installment = 0;
                $hash_str = $merchant_id . $user_ip . $merchant_oid . $email . $payment_amount . $user_basket . $no_installment . $max_installment . $currency . $test_mode;
                $paytr_token = base64_encode(hash_hmac('sha256', $hash_str . $merchant_salt, $merchant_key, true));
                $post_vals = array(
                    'merchant_id' => $merchant_id,
                    'user_ip' => $user_ip,
                    'merchant_oid' => $merchant_oid,
                    'email' => $email,
                    'payment_amount' => $payment_amount,
                    'paytr_token' => $paytr_token,
                    'user_basket' => $user_basket,
                    'debug_on' => $debug_on,
                    'no_installment' => $no_installment,
                    'max_installment' => $max_installment,
                    'user_name' => $user_name,
                    'user_address' => $user_address,
                    'user_phone' => $user_phone,
                    'merchant_ok_url' => $merchant_ok_url,
                    'merchant_fail_url' => $merchant_fail_url,
                    'timeout_limit' => $timeout_limit,
                    'currency' => $currency,
                    'test_mode' => $test_mode,
                    'ref_id' => "d490b3df19ed19ee4f07e013c9ec71f816499651055ae98e8bbe5c1a12ff8688"
                );
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/odeme/api/get-token");
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 20);
                $result = @curl_exec($ch);
                if (curl_errno($ch))
                    die("PAYTR IFRAME connection error. err:" . curl_error($ch));
                curl_close($ch);
                $result = json_decode($result, 1);
    
                if ($result['status'] == 'success') :
                    unset($_SESSION["data"]);
                    $token = $result['token'];
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                    $payment_url = "https://www.paytr.com/odeme/guvenli/" . $token;
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"] . " - " . $result['reason'];
                endif;
            elseif ($method_id == 3) :
    
                $payment_types = "";
                foreach ($extra["payment_type"] as $i => $v) {
                    $payment_types .= $v . ",";
                }
                $payment_types = substr($payment_types, 0, -1);
                $hashOlustur = base64_encode(hash_hmac('sha256', $user["email"] . "|" . $user["email"] . "|" . $user['client_id'] . $extra['apiKey'], $extra['apiSecret'], true));
                $postData = array(
                    'apiKey' => $extra['apiKey'],
                    'hash' => $hashOlustur,
                    'returnData' => $user["email"],
                    'userEmail' => $user["email"],
                    'userIPAddress' => GetIP(),
                    'userID' => $user["client_id"],
                    'proApi' => TRUE,
                    'productData' => [
                        "name" => $amount . " TL Tutarında Bakiye (" . $paymentCode . ")",
                        "amount" => $amount_fee * 100,
                        "extraData" => $paymentCode,
                        "paymentChannel" => $payment_types, // 1 Mobil Ödeme, 2 Kredi Kartı,3 Banka Havale/Eft/Atm,4 Türk Telekom Ödeme (TTNET),5 Mikrocard,6 CashU
                        "commissionType" => $extra["commissionType"] // 1 seçilirse komisyonu bizden al, 2 olursa komisyonu müşteri ödesin
                    ]
                );
                $curl = curl_init();
                curl_setopt_array($curl, array(
                    CURLOPT_URL => "http://api.paywant.com/gateway.php",
                    CURLOPT_RETURNTRANSFER => true,
                    CURLOPT_ENCODING => "",
                    CURLOPT_MAXREDIRS => 10,
                    CURLOPT_TIMEOUT => 30,
                    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                    CURLOPT_CUSTOMREQUEST => "POST",
                    CURLOPT_POSTFIELDS => http_build_query($postData),
                ));
                $response = curl_exec($curl);
                $err = curl_error($curl);
                if (!$err) :
                    $jsonDecode = json_decode($response, false);
                    $jsonDecode->Message = str_replace("https://", "", str_replace("http://", "", $jsonDecode->Message));
                    $jsonDecode->Message = "https://" . $jsonDecode->Message;
                    if ($jsonDecode->Status == 100) :
                        unset($_SESSION["data"]);
                        $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                        $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                        $success = 1;
                        $successText = $languageArray["error.addfunds.online.success"];
                        $payment_url = $jsonDecode->Message;
                    else :
                        //echo $response; // Dönen hatanın ne olduğunu bastır
                        $error = 1;
                        $errorText = $languageArray["error.addfunds.online.fail"];
                    endif;
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
            elseif ($method_id == 4) :
                if ($extra["processing_fee"]) :
                    $amount_fee = $amount_fee + "0.49";
                endif;
                $form_data = [
                    "website_index" => $extra["website_index"],
                    "apikey" => $extra["apiKey"],
                    "apisecret" => $extra["apiSecret"],
                    "item_name" => "Bakiye Ekleme",
                    "order_id" => $paymentCode,
                    "buyer_name" => $user["username"],
                    "buyer_surname" => " ",
                    "buyer_email" => $user["email"],
                    "buyer_phone" => $user["telephone"],
                    "city" => "NA",
                    "billing_address" => "NA",
                    "ucret" => $amount_fee
                ];
                print_r(generate_shopier_form(json_decode(json_encode($form_data))));
                if (isset($_SESSION["data"]["payment_shopier"]) && $_SESSION["data"]["payment_shopier"] == true) :
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                    //$payment_url = $response;
                    unset($_SESSION["data"]);
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
            elseif ($method_id == 5) :
                $shoplemo = new \Shoplemo\Config();
                $shoplemo->setAPIKey($extra["apiKey"]);
                $shoplemo->setSecretKey($extra["apiSecret"]);
                $shoplemo->setServiceBaseUrl('https://payment.shoplemo.com');
    
                $request = new \Shoplemo\Paywith\CreditCard($shoplemo);
                $request->setUserEmail($user["email"]);
                $request->setCustomParams(json_encode(['payment_code' => $paymentCode, 'client_id' => $user["client_id"]]));
    
                $basket = new \Shoplemo\Model\Basket;
                $basket->setTotalPrice($amount_fee * 100);
                $item1 = new \Shoplemo\Model\BasketItem;
                $item1->setName($amount . ' TL Bakiye Ekleme');
                $item1->setPrice($amount_fee * 100);
                $item1->setType(\Shoplemo\Model\BasketItem::DIGITAL);
                $item1->setQuantity(1);
                $basket->addItem($item1);
    
                $request->setBasket($basket);
    
                $request->setRedirectUrl(base_url());
    
                if ($request->execute()) {
                    $responseShoplemo = json_decode($request->getResponse(), true);
                    $responseShoplemoUrl = $responseShoplemo["url"];
    
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                    $payment_url = $responseShoplemoUrl;
                    unset($_SESSION["data"]);
                } else {
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                }
    
            elseif ($method_id == 6) :
                // Create a new API wrapper instance
                $cps_api = new CoinpaymentsAPI($extra["coinpayments_private_key"], $extra["coinpayments_public_key"], 'json');
    
                // This would be the price for the product or service that you're selling
                $cp_amount = str_replace(',', '.', $amount_fee);
    
                // The currency for the amount above (original price)
                $currency1 = $settings['site_currency'];
    
                // Litecoin Testnet is a no value currency for testing
                // The currency the buyer will be sending equal to amount of $currency1
                $currency2 = $extra["coinpayments_currency"];
    
                // Enter buyer email below
                $buyer_email = $user["email"];
    
                // Set a custom address to send the funds to.
                // Will override the settings on the Coin Acceptance Settings page
                $address = '';
    
                // Enter a buyer name for later reference
                $buyer_name = 'No Name';
    
                // Enter additional transaction details
                $item_name = 'Add Balance';
                $item_number = $cp_amount;
                $custom = 'Express order';
                $invoice = 'addbalancetosmm001';
                $ipn_url = base_url('payment/coinpayments');
    
                // Make call to API to create the transaction
                try {
                    $transaction_response = $cps_api->CreateComplexTransaction($cp_amount, $currency1, $currency2, $buyer_email, $address, $buyer_name, $item_name, $item_number, $invoice, $custom, $ipn_url);
                } catch (Exception $e) {
                    echo 'Error: ' . $e->getMessage();
                    exit();
                }
    
                if ($transaction_response['error'] == 'ok') :
                    unset($_SESSION["data"]);
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip, payment_extra=:extra");
                    $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP(), "extra" => $transaction_response['result']['txn_id']));
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                    $payment_url = $transaction_response['result']['checkout_url'];
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
    
            elseif ($method_id == 9) :
                require_once(APPPATH . "ThirdParty/2checkout/2checkout-php/lib/Twocheckout.php");
                Twocheckout::privateKey($extra['private_key']);
                Twocheckout::sellerId($extra['seller_id']);
    
                // If you want to turn off SSL verification (Please don't do this in your production environment)
                Twocheckout::verifySSL(false);  // this is set to true by default
    
                // To use your sandbox account set sandbox to true
                Twocheckout::sandbox(false);
    
                // All methods return an Array by default or you can set the format to 'json' to get a JSON response.
                Twocheckout::format('json');
    
                $icid = md5(rand(1, 999999));
                $getcur = $extra['currency'];
                $lastcur = 1;
                $tc_amount = str_replace(',', '.', $amount_fee);
                $params = array(
                    'sid' => $icid,
                    'mode' => '2CO',
                    'li_0_name' => 'Add Balance',
                    'li_0_price' => number_format($tc_amount * $lastcur, 2, '.', '')
                );
    
                unset($_SESSION["data"]);
                $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip, payment_extra=:extra");
                $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP(), "extra" => $icid));
                $success = 1;
                $successText = $languageArray["error.addfunds.online.success"];
                Twocheckout_Charge::form($params, 'auto');
    
    
            elseif ($method_id == 12) :
                require_once(APPPATH . "ThirdParty/paytm/encdec_paytm.php");
    
                $checkSum = "";
                $paramList = array();
    
                $icid = md5(rand(1, 999999));
                $getcur = $extra['currency'];
                $lastcur = 1;
                $ptm_amount = str_replace(',', '.', $amount_fee);
    
                $paramList["MID"] = $extra['merchant_mid'];
                $paramList["ORDER_ID"] = $icid;
                $paramList["CUST_ID"] = $user['client_id'];
                $paramList["EMAIL"] = $user['email'];
                $paramList["INDUSTRY_TYPE_ID"] = "Retail";
                $paramList["CHANNEL_ID"] = "WEB";
                $paramList["TXN_AMOUNT"] = number_format($ptm_amount * $lastcur, 2, '.', '');
                $paramList["WEBSITE"] = $extra['merchant_website'];
                $paramList["CALLBACK_URL"] = base_url('payment/paytm');
    
                $checkSum = getChecksumFromArray($paramList, $extra['merchant_key']);
    
                unset($_SESSION["data"]);
                $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip, payment_extra=:extra");
                $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP(), "extra" => $icid));
                $success = 1;
                $successText = $languageArray["error.addfunds.online.success"];
    
                echo '<form method="post" action="https://securegw.paytm.in/theia/processTransaction" name="f1">
                        <table border="1">
                            <tbody>';
                foreach ($paramList as $name => $value) {
                    echo '<input type="hidden" name="' . $name . '" value="' . $value . '">';
                }
                echo '<input type="hidden" name="CHECKSUMHASH" value="' . $checkSum . '">
                            </tbody>
                        </table>
                        <script type="text/javascript">
                            document.f1.submit();
                        </script>
                    </form>';
    
            elseif ($method_id == 13) :
    
    
                $weepay['Auth'] = array(
                    'bayiId' => $extra["bayi_id"],
                    'apiKey' => $extra["api_key"],
                    'secretKey' => $extra["secret_key"]
                );
    
                $weepay['Data'] = array(
                    'paidPrice' => $amount_fee,
                    'orderId' => $paymentCode,
                    'locale' => "tr",
                    'ipAddress' => GetIP(),
                    'callBackUrl' => base_url("payment/weepay?token=" . $paymentCode),
                    'outSourceId' => $paymentCode,
                    'description' => "Bakiye yükleme",
                    'currency' => $extra["currency"]
                );
                $weepay["Customer"] = array(
                    'customerId' => $user["client_id"],
                    'customerName' => $user["username"],
                    'customerSurname' => $user["username"],
                    'gsmNumber' => $user["telephone"],
                    'email' => $user["email"],
                    'identityNumber' => "11111111111",
                    'city' => "Istanbul",
                    'country' => 'Türkiye'
                );
                $weepay['BillingAddress'] = array(
                    'contactName' => "SMMPanel",
                    'address' => '123 sokak Istanbul bahçelievler',
                    'city' => "Istanbul",
                    'country' => 'Türkiye'
                );
    
                $weepay["Products"][1] = array(
                    'productId' => "123123",
                    'name' => 'bakiye',
                    'productPrice' => $amount_fee,
                    'itemType' => 'VIRTUAL'
                );
    
                $data = json_encode($weepay);
    
    
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, "https://api.weepay.co/Payment/PaymentCreate");
                curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 20);
                $result = @curl_exec($ch);
                $responseWeepay = json_decode($result);
                curl_close($ch);
    
                if ($responseWeepay->errorCode !== 999) {
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                    unset($_SESSION["data"]);
                    echo $responseWeepay->CheckoutFormData;
    
                    if (weepayMobile()) {
                        echo '<meta name="viewport" content="width=device-width, initial-scale=1">
                            <div id="weePay-checkout-form" class="responsive"></div>';
                        die;
                    } else {
                        echo '<div id="weePay-checkout-form" class="popup"></div>';
                    }
                    echo '<div id="weePay-checkout-form" class="popup"></div>';
                } else {
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                }
    
    
            elseif ($method_id == 14) :
    
                $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, papara_amount=:p_amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "p_amount" => $amount_fee, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
    
                $response = base_url("payment/papara");
    
                $_SESSION["totoken"] = $paymentCode;
    
                if ($insert) :
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                    $payment_url = $response;
                    unset($_SESSION["data"]);
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
    
            elseif ($method_id == 15) :
    
                $id = $user["client_id"];
                $mail = $user["email"];
    
                $data = [];
                $data['apiSecret'] = $extra["apiSecret"];
                $data['hash'] = hash("sha256", $extra["appid"]. "|" .$extra["email"]. "|" .$extra["otherCode"]);
                $ch = curl_init("https://service.payizone.com/token");
    
    $payload = json_encode( array(
        "app_id"=> $extra["appid"],
        "app_secret" => $extra["apiSecret"]
        ) );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $result = curl_exec($ch);
    
    $result = json_decode($result);
    curl_close($ch);
    
    
    $authorization = "Authorization: Bearer ".$result->token;
    $ch = curl_init("https://service.payizone.com/getPos");
    $payload = json_encode( array( "card_number"=> $_POST['card_number'], "amount" => $amount_fee ) );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json', $authorization));
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $result = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($result);
                $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                $sonid = $conn->lastInsertId();
    
    
    
    $ch = curl_init("https://service.payizone.com/pay3D");
    $payload = json_encode( array(
        "card_holder"=> $_POST['cardname'],
    "card_number" => $_POST['card_number'],
    "exp_month" => $_POST['ccmonth'],
    "exp_year" => $_POST['ccyear'],
    "cvv" => $_POST['cvv'],
    'card_holder' => $_POST['name'],
    "amount" => $amount_fee,
    "payment_token" => $result->payToken,
    "redirect_url" => base_url("payment/payizone"),
    "other_code" => $paymentCode,
    "note" => "") );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $result = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($result);
    if(isset($result->redirectUrl)){
    echo '<script>setInterval(function(){window.location="' . $result->redirectUrl . '"},500)</script>';
    exit();
    }else{
                    $error = 1;
                    $errorText = $result->message;
    };
            elseif ($method_id == 16) :
    
    
                $m_url = "https://payeer.com/merchant/";
                $m_shop = $extra["mshop"];
                $m_orderid = $paymentCode;
                $m_amount = number_format($amount_fee, 2, '.', '');
                $m_curr = $extra["currency"];
                $m_desc = base64_encode($user["email"]);
                $m_key = $extra["mkey"];
                $m_lang = $extra["lang"];
    
                $arHash = array(
                    $m_shop,
                    $m_orderid,
                    $m_amount,
                    $m_curr,
                    $m_desc,
                    $m_key
                );
                $sign = strtoupper(hash('sha256', implode(':', $arHash)));
    
                $code = '<form id = "form_payment_payeer" name="form_payment_payeer" method="GET" action="' . $m_url . '">
                    <input type="hidden" name="m_shop" value="' . $m_shop . '">
                    <input type="hidden" name="m_orderid" value="' . $m_orderid . '">
                    <input type="hidden" name="m_amount" value="' . $m_amount . '">
                    <input type="hidden" name="m_curr" value="' . $m_curr . '">
                    <input type="hidden" name="m_desc" value="' . $m_desc . '">
                    <input type="hidden" name="m_sign" value="' . $sign . '">
                    <input type="hidden" name="lang" value="' . $m_lang . '">
                    <input type="submit" name="m_process" value="Submit"  hidden/></form>
                    
                    <script type="text/javascript">
                                    document.form_payment_payeer.submit();
                    </script>
                    ';
                echo $code;
    
                $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
    
    
                if ($insert) :
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
            //payhesap
            elseif ($method_id == 17) :
                $posts = [
                    "hash" => $extra["apiKey"], // Mağaza API Hash
                    "order_id" => $paymentCode, // Kendi yazılımınızdaki sipariş numarası
                    "callback_url" => base_url("payment/payhesap"), //İşlem durumu hakkında bilgiler ve Payhesap üzerinden ödeme sorgulama aşaması
                    "amount" => $amount_fee, // İşlem tutarı
                    "currency" => $extra["currency"], // İşlem tutarı
                    "installment" => "1", // Taksit sayısı
                    "success_url" => base_url("addfunds"), //Ödeme başarılı ise sayfa buraya yönlencek
                    "fail_url" => base_url("addfunds"),  //Ödeme başarısız ise sayfa buraya yönlencek
                    "name" => $user["client_id"], // Ödeme yapan müşteri bilgisi
                    "email" => $user["email"], // Ödeme yapan müşteri bilgisi
                    "phone" => $user["telephone"], // Ödeme yapan müşteri bilgisi
                    "city" => "İstanbul", // Ödeme yapan müşteri bilgisi
                    "state" => "Şişli", // Ödeme yapan müşteri bilgisi
                    "address" => "adres", // Ödeme yapan müşteri bilgisi
                    "ip" => GetIP()
                ];
    
    
                $encode = json_encode($posts, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    
                $ch = curl_init('https://www.payhesap.com/api/iframe/pay');
                curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
                curl_setopt($ch, CURLOPT_POSTFIELDS, $encode);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt(
                    $ch,
                    CURLOPT_HTTPHEADER,
                    [
                        'Content-Type: application/json',
                        'Content-Length: ' . strlen($encode)
                    ]
                );
                $result = curl_exec($ch);
    
                $decode = json_decode($result, true);
                if (isset($decode['data']['token'])) {
                    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
                    unset($_SESSION["data"]);
    ?>
                    <script src="https://www.payhesap.com/iframe/iframeResizer.min.js"></script>
                    <iframe src="https://payhesap.com/api/iframe/<?= $decode['data']['token']; ?>" id="payhesapiframe" frameborder="0" scrolling="yes" height="100%" width="100%" frameborder="0" style="width: 100%;"></iframe>
                    <script>
                        iFrameResize({}, '#payhesapiframe');
                    </script>
    <?php
                    exit();
                    echo '<div id="weePay-checkout-form" class="popup"></div>';
                } else {
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                }
            elseif ($method_id == 19) :
                $gateway = Omnipay::create('PayPal_Rest');
                $gateway->setClientId($extra["client"]);
                $gateway->setSecret($extra["secret"]);
                $gateway->setTestMode(false); //set it to 'false' when go live
                try {
                    $response = $gateway->purchase(array(
                        'amount' => $amount_fee,
                        'currency' => $extra["charge"],
                        'returnUrl' => base_url("payment/paypal"),
                        'cancelUrl' => base_url("payment/paypal"),
                    ))->send();
    
                    if ($response->isRedirect()) {
                        $response->redirect(); // this will automatically forward the customer
                    } else {
                        // not successful
                        echo $response->getMessage();
                    }
                } catch(Exception $e) {
                    echo $e->getMessage();
                }
            elseif($method_id == 21):
               // Convert product price to cent
               require_once(APPPATH . 'ThirdParty/stripe/init.php');
        $stripeAmount = round($amount_fee*100, 2);
        $productName = $user["username"]." - Balance";
        $productID = rand(999,99999)."1597231";
        $currency = $extra["currency"];
        // Create new Checkout Session for the order
        \Stripe\Stripe::setApiKey($extra["secret"]);
        try {
            $checkout_session = \Stripe\Checkout\Session::create([
                'line_items' => [
                    
                    [
                  'price_data' => [
                        'product_data' => [
                            'name' => base_url(),
                            'metadata' => [
                                'pro_id' => $paymentCode
                            ],
                            'description' => base_url()
                        ],
                        'unit_amount' => $stripeAmount,
                        'currency' => $currency,
                    ],
                    'quantity' => 1,
                ]],
                'mode' => 'payment',
                'success_url' => base_url("payment/stripe").'?session_id={CHECKOUT_SESSION_ID}',
                'cancel_url' => base_url("addfunds"),
            ]);
        } catch(Exception $e) {  
            $api_error = $e->getMessage();  
        }
        
        if(empty($api_error) && $checkout_session){
            $response = array(
                'status' => 1,
                'message' => 'Checkout Session created successfully!',
                'sessionId' => $checkout_session->id
            );
        }else{
            $response = array(
                'status' => 0,
                'error' => array(
                    'message' => 'Checkout Session creation failed! '.$api_error    
                )
            );
        }
    
     
    // Return response  
    $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                    $insert->execute(array("c_id" => $user['client_id'], "amount" => $amount, "code" => $response['sessionId'], "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
     echo "
     <script src='https://js.stripe.com/v3/'></script>
     <script>
    const stripe = Stripe('".$extra["publish"]."');
        stripe.redirectToCheckout({
                    sessionId: '".$response['sessionId']."',
                }).then(handleResult);
    </script>
     ";
            exit();
            elseif ($method_id == 18) :
    
                $code = '<form id="perfectm" name="perfectm" action="https://perfectmoney.is/api/step1.asp" method="post">
                    <input type="hidden" name="SUGGESTED_MEMO" value="Thanks for order!">
                    <input type="hidden" name="PAYMENT_ID" value="' . $paymentCode . '" />
                    <input type="hidden" name="PAYMENT_AMOUNT" value="' . $amount_fee . '" />
                    <input type="hidden" name="PAYEE_ACCOUNT" value="' . $extra["aid"] . '" />
                    <input type="hidden" name="PAYMENT_UNITS" value="' . $extra["current"] . '" />
                    <input type="hidden" name="PAYEE_NAME" value="' . $settings["site_name"] . '" />
                    <input type="hidden" name="PAYMENT_URL" value="' . base_url("payment/perfectmoney?id=" . $paymentCode) . '" />
                    <input type="hidden" name="PAYMENT_URL_METHOD" value="LINK" />
                    <input type="hidden" name="NOPAYMENT_URL" value="' . base_url("payment/perfectmoney?id=" . $paymentCode) . '" />
                    <input type="hidden" name="NOPAYMENT_URL_METHOD" value="LINK" />
                    <input type="hidden" name="STATUS_URL" value="' . base_url("payment/perfectmoney?id=" . $paymentCode) . '" />
                    <input type="submit" value="Submit" hidden />
                    <script type="text/javascript">
                                        document.perfectm.submit();
                        </script>
                    </form>';
    
                echo $code;
    
    
                $insert = $conn->prepare("INSERT INTO payments SET client_id=:c_id, payment_amount=:amount, payment_privatecode=:code, payment_method=:method, payment_mode=:mode, payment_create_date=:date, payment_ip=:ip ");
                $insert->execute(array("c_id" => $user["client_id"], "amount" => $amount, "code" => $paymentCode, "method" => $method_id, "mode" => "Otomatik", "date" => date("Y.m.d H:i:s"), "ip" => GetIP()));
    
    
                if ($insert) :
                    $success = 1;
                    $successText = $languageArray["error.addfunds.online.success"];
                else :
                    $error = 1;
                    $errorText = $languageArray["error.addfunds.online.fail"];
                endif;
            endif;
        }
    
    endif;
    
    if (isset($payment_url)) :
        echo '<script>setInterval(function(){window.location="' . $payment_url . '"},2000)</script>';
    endif;
    İlgilenen, okuyan, yardımcı olmaya çalışan tüm arkadaşlara şimdiden çok teşekkürler.
  • 21-10-2024, 15:47:47
    #2
    PHP kodu eklediğinizde bazı kodları siliyor, direkt .PHP dosyası olarak upload etme şansınız var mı ?
  • 21-10-2024, 15:49:35
    #3
    def2easy adlı üyeden alıntı: mesajı görüntüle
    PHP kodu eklediğinizde bazı kodları siliyor, direkt .PHP dosyası olarak upload etme şansınız var mı ?
    Kusura bakmayın kod konularında acemiyim, bilmiyordum


    https://dosya.co/i6kogba007ip/addfunds.php.html

    Buyrun
  • 21-10-2024, 16:04:55
    #4
    https://dosya.co/shdlo6gv3sqv/addfunds.php.html

    Yükleyip direkt var olan addfunds.php dosyası ile değiştirir misiniz?

    Ek olarak değişiklik olmaz ise,
    https://dosya.co/ugqodk4yo279/addfunds.php.html
    Bunu indirip dener misiniz?
  • 21-10-2024, 16:28:43
    #5
    def2easy adlı üyeden alıntı: mesajı görüntüle
    https://dosya.co/shdlo6gv3sqv/addfunds.php.html

    Yükleyip direkt var olan addfunds.php dosyası ile değiştirir misiniz?

    Ek olarak değişiklik olmaz ise,
    https://dosya.co/ugqodk4yo279/addfunds.php.html
    Bunu indirip dener misiniz?
    Emeğiniz için çok teşekkür ederim ama maalesef olmadı. Her iki dosyayı da denedim.
  • 21-10-2024, 18:49:45
    #6
    Selamlar.

    PayTR için olan bölümü (method_id == 2 olan kısım) ve aşağıdaki gibi güncelleyin:

    elseif ($method_id == 2) :
        $merchant_id = $extra["merchant_id"];
        $merchant_key = $extra["merchant_key"];
        $merchant_salt = $extra["merchant_salt"];
        $email = $user["email"];
        $payment_amount = $amount_fee * 100;
        $merchant_oid = $paymentCode;
        $user_name = $user["first_name"];
        $user_address = "Belirtilmemiş";
        $user_phone = $user["telephone"];
        $payment_type = "eft";
        $user_ip = GetIP();
        $timeout_limit = "360";
        $debug_on = 1;
        $test_mode = 0;
        $no_installment = 0;
        $max_installment = 0;
        $lang = "en"; // Dili İngilizce olarak ayarlıyoruz
        $hash_str = $merchant_id . $user_ip . $merchant_oid . $email . $payment_amount . $payment_type . $test_mode;
        $paytr_token = base64_encode(hash_hmac('sha256', $hash_str . $merchant_salt, $merchant_key, true));
        $post_vals = array(
            'merchant_id' => $merchant_id,
            'user_ip' => $user_ip,
            'merchant_oid' => $merchant_oid,
            'email' => $email,
            'payment_amount' => $payment_amount,
            'payment_type' => $payment_type,
            'paytr_token' => $paytr_token,
            'debug_on' => $debug_on,
            'timeout_limit' => $timeout_limit,
            'test_mode' => $test_mode,
            'lang' => $lang, // Dil parametresini ekliyoruz
            'ref_id' => "d490b3df19ed19ee4f07e013c9ec71f816499651055ae98e8bbe5c1a12ff8688"
        );
        // ... (Kodun geri kalanı aynı kalacak)
  • 23-10-2024, 14:55:43
    #7
    'language' => 'en',
  • 25-10-2024, 16:27:26
    #8
    def2easy adlı üyeden alıntı: mesajı görüntüle
    https://dosya.co/shdlo6gv3sqv/addfunds.php.html

    Yükleyip direkt var olan addfunds.php dosyası ile değiştirir misiniz?

    Ek olarak değişiklik olmaz ise,
    https://dosya.co/ugqodk4yo279/addfunds.php.html
    Bunu indirip dener misiniz?
    PropJoe adlı üyeden alıntı: mesajı görüntüle
    Selamlar.

    PayTR için olan bölümü (method_id == 2 olan kısım) ve aşağıdaki gibi güncelleyin:

    elseif ($method_id == 2) :
        $merchant_id = $extra["merchant_id"];
        $merchant_key = $extra["merchant_key"];
        $merchant_salt = $extra["merchant_salt"];
        $email = $user["email"];
        $payment_amount = $amount_fee * 100;
        $merchant_oid = $paymentCode;
        $user_name = $user["first_name"];
        $user_address = "Belirtilmemiş";
        $user_phone = $user["telephone"];
        $payment_type = "eft";
        $user_ip = GetIP();
        $timeout_limit = "360";
        $debug_on = 1;
        $test_mode = 0;
        $no_installment = 0;
        $max_installment = 0;
        $lang = "en"; // Dili İngilizce olarak ayarlıyoruz
        $hash_str = $merchant_id . $user_ip . $merchant_oid . $email . $payment_amount . $payment_type . $test_mode;
        $paytr_token = base64_encode(hash_hmac('sha256', $hash_str . $merchant_salt, $merchant_key, true));
        $post_vals = array(
            'merchant_id' => $merchant_id,
            'user_ip' => $user_ip,
            'merchant_oid' => $merchant_oid,
            'email' => $email,
            'payment_amount' => $payment_amount,
            'payment_type' => $payment_type,
            'paytr_token' => $paytr_token,
            'debug_on' => $debug_on,
            'timeout_limit' => $timeout_limit,
            'test_mode' => $test_mode,
            'lang' => $lang, // Dil parametresini ekliyoruz
            'ref_id' => "d490b3df19ed19ee4f07e013c9ec71f816499651055ae98e8bbe5c1a12ff8688"
        );
        // ... (Kodun geri kalanı aynı kalacak)
    Pixkare adlı üyeden alıntı: mesajı görüntüle
    'language' => 'en',
    Çok teşekkür ederim hocalarım yardımlarınız için. Sorun, sağlayıcı tarafından halledildi. Buraya yazmayı unutmuşum özür dilerim.