Class Pay {
public $merchant_id = '***';
public $merchant_key = '****';
public $merchant_salt = '****';
function addOrder($price) {
global $db;
$dondur = array();
$abc = rands::number(12);
$buy_user_id = users($_SESSION['id']);
$control_cart = $db->prepare("SELECT * FROM cart WHERE buy_user_id = ?");
$control_cart->execute(array($_SESSION['id']));
$orders = array();
foreach($control_cart as $array){
$orders[] = array($array['item_name'], $array['item_price'], $array['count']);
}
$dondur[] = $buy_user_id['email'];
$dondur[] = $abc;
$dondur[] = $buy_user_id['fullname'];
$dondur[] = $buy_user_id['address'];
$dondur[] = $buy_user_id['phone'];
$dondur[] = $orders;
$dondur[] = $price;
return $dondur;
}
function bringForm($mail,$orderId,$fullname,$address,$phone,$orders=array(),$price) {
global $db;
$merchant_id = $this->merchant_id;
$merchant_key = $this->merchant_key;
$merchant_salt= $this->merchant_salt;
$email = $mail;
$payment_amount = $price * 100;
$merchant_oid = $orderId;
$user_name = $fullname;
$user_address = $address;
$user_phone = $phone;
$merchant_ok_url = "https://www.1en.net/payment-successful.html";
$merchant_fail_url = "https://www.1en.net/payment-error.html";
$user_basket = base64_encode(json_encode($orders));
if( isset( $_SERVER["HTTP_CLIENT_IP"] ) ) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} elseif( isset( $_SERVER["HTTP_X_FORWARDED_FOR"] ) ) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
$user_ip = $ip;
$timeout_limit = "30";
$debug_on = 1;
$test_mode = 0;
$no_installment = 0;
$max_installment = 0;
$currency = "TL";
$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
);
$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') {
$token = $result['token'];
} else {
die("PAYTR IFRAME failed. reason:".$result['reason']);
}
echo'';
}
Paytr ödeme modülünde, tam ödeme olduğu esnada işlem yaptırmak istiyorum.