www.nuubtv.com | www.siafilm.com | www.asmafilms.com | www.ropfilm.com | www.qifilms.com| www.tusfilm.com | www.danakfilms.com| www.dedfilm.com | www.nvpfilm.com| www.filmtele.com | www.bgspfilms.com| www.bonzafilms.com | www.sumifilm.com | www.filmciabi.com | www.filmeti.com | www.coptikfilm.com | www.zkefilms.com | www.irisefilms.com | www.hblfilms.com | www.hausfilms.com | www.akibafilm.com | www.kumefilm.com | www.bigifilm.com
PayU Puan Kullanımı (Loyalty Points API Entegrasyonu)

Home » Genel » PayU Puan Kullanımı ( Loyalty Points API ) Entegrasyonu

PayU Puan Kullanımı ( Loyalty Points API ) Entegrasyonu

Bildiğiniz üzere bankalar, her ne kadar isimleri farklı da olsa (Bonus,Chip Para,Paraf Puan,Para Puan vb) müşterilerine kredi kartı alışverişlerinden puan kazandırmaktadır. Buraya kadar her şey güzel. Ancak bana göre asıl mesele puan kazanabilmek değil, kazandığın bu puanları bir yerlerde bir şekilde kullanabilmektir 🙂
PayU, üye işyerlerine bu konuda da bir çözüm sunuyor. PayU’nun geliştirmiş olduğu puan sorgu apisi ile, müşterilerinizin kredi kartlarında bulunan puan miktarını sorgulayabilir ve aynı zamanda bu puanları alışverişlerinde kullanabilmelerine olanak sağlayabilirsiniz.

Bu yazımda sadece puan sorgulama kısmına ve bu işlemin nasıl yapılacağına değineceğim.

Dilerseniz şimdi bu sorgulamanın nasıl yapılacağını php programlama dili ile bir örnek ile açıklayalım.

Öncelikle, puan sorgulama işlemi için aşağıdaki url’ye istek yapacağız. Yapacağımız bu istek, HTTP(s) POST metodu ile olmalıdır.

“https://secure.payu.com.tr/api/loyalty-points/check”

Göndermemiz gereken parametreler aşağıdaki gibidir;

<?php

$apiEndPoint = ‘https://secure.payu.com.tr/api/loyalty-points/check’;

$data = array(

‘MERCHANT’ => ‘OPU_TEST’,
‘CC_NUMBER’ => ‘4355084355084358’,
‘EXP_MONTH’ => ’12’,
‘EXP_YEAR’ => ‘2018’,
‘CC_CVV’ => ‘000’,
‘CURRENCY’ => ‘TRY’,
‘DATE’ => gmdate(‘Y-m-d H:i:s’),
);
ksort($data);

$hashString = ”;

foreach ($data as $currentData) {
$hashString .= strlen(stripslashes($currentData));
$hashString .= stripslashes($currentData);
}
echo $hashString;
$data[‘HASH’] = hash_hmac(‘MD5′,$hashString,’SECRET_KEY’);

$handler = curl_init();
curl_setopt($handler, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($handler, CURLOPT_URL, $apiEndPoint);
curl_setopt($handler, CURLOPT_POST, true);
curl_setopt($handler, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($handler);
echo $result;

$resultInfo = curl_getinfo($handler);
$error = curl_error($handler);
curl_close($handler);

if (200 == $resultInfo[‘http_code’]) {
$resultXML = (array)simplexml_load_string($result);

if (isset($resultXML[‘STATUS’]) && ‘SUCCESS’ == $resultXML[‘STATUS’]) {
echo ‘Api call succeeded. There are ‘ . $resultXML[‘POINTS’] . ‘ points available worthing ‘ . $resultXML[‘AMOUNT’] . ‘ ‘ . $resultXML[‘CURRENCY’];
} else {
echo ‘Api call failed. <br>Result: ‘;
echo ‘<pre>’ . htmlentities($result) . ‘</pre>’;
}
} else {
echo ‘Api call failed. <br>Error: ‘;
echo ‘<pre>’;
print_r($error);
echo ‘</pre>’;
}

?>

Yukarıda paylaştığım kodları sırayla açıklayacak olursak;

  • Öncelikle requesti oluşturduk. Gerekli tüm parametreleri, kart bilgileri, merchant id ve diğer bilgileri doğru bir şekilde giriyoruz.
  • “ksort” fonksiyonu ile tüm parametreleri alfabetik olarak sıralıyoruz.
  • Hash fonksiyonuna göndermek üzere, hash string değerimizi oluşturuyoruz.
  • Hash değerini hesaplıyor ve diziye dahil ediyoruz.
  • Curl ile oluşturduğumuz requesti post ediyoruz.
  • Eğer tüm işlemleri doğru bir şekilde tamamladı iseniz, echo $result; satırında puan sorgusu ile dönen XML yanıtını almış olacaksınız.Aşağıda örnek XML yanıtını görebilirsiniz. Points elementi kartta bulunun puan miktarını, amount elementi ise, bu puanın TL karşılığını göstermektedir.

<epayment>
<status>SUCCESS</status>
<message>SUCCESS</message>
<points>88228</points>
<amount>882.28</amount>
<currency>TRY</currency>
<bank>AKBANK</bank>
<card_program_name>Axess</card_program_name>
<date>2015-10-08 08:03:05</date>
<hash>6246fc01bdc3267460d923e765cdf48f</hash>
</epayment>

Kodlarda bu aşamadan sonra yer alan kısımlar, XML parse işlemleri ile ilgili bu kısmı detaylandırmayacağım.

İlave bir bilgi olarak, bazı bankalar örneğin Akbank, puan sorgualama işlemlerinde kart sahibi bilgisini zorunlu tutmaktadır. Bu nedenle Akbank için puan sorgusu yaparken “CC_OWNER” parametresini de requeste dahil etmeniz gerekmektedir. Yukarıda paylaştığım örnek, test kartları ile yapıldığı için ben dahil etmedim.

 

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ataşehir escort ümraniye escort bostancı escort ankara escort bayan escort ankara bakırköy escort avcılar escort gebze escort beylikdüzü escort ankara escort