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.
