PayHesap API servisi web siteleriniz üzerinden sorunsuz bir şekilde ödeme hizmeti
alabilmeniz için geliştirilmiştir.
Yaygın kullanım ağına sahip e-ticaret sistemleri için ödeme işlemlerinizi gerçekleştirmeye imkan sağlayan Pay Hesap hazır modüllerini indirip kolayca ödeme almaya başlayabilirsiniz.
OpenCart, PHP tabanlı MySQL veritabanı ile MVC olarak geliştirilmiş açık kaynaklı bir e-ticaret yönetim sistemidir. Kolay kurulumunun yanı sıra geniş tema ve eklenti desteği sayesinde en çok kullanılan e-ticaret altyapılarından birisidir. Basit bir hosting hesabı üzerinde dahi çalıştırabileceğiniz hafif bir yapıda kodlanmıştır. Pay Hesap OpenCart modülleri eklentisiz opencart kurulumu üzerinden geliştirilip test edilmiştir. Kullanılan OpenCart sürümüne göre ilgili Pay Hesap modülünü aşağıdan indirip sitenize kurabilirsiniz.
Opencart Dönüş Callback URL Adresi : Opencart kullanacağınızı bize bildirmeniz durumunda , dönüş urlniz ayarlanacaktır.
Opencart (v3.0) İndir.WooCommerce, WordPress'in açık kaynaklı e-ticaret eklentisidir. Wordpress kullanıcıları tarafından kolaylıkla yönetilebilen WooCommerce pratik ve kullanışlı bir e-ticaret çözümü sunmakatdır. Pay Hesap WooCommerce modülü eklentisiz WooCommerce kurulumu üzerinden geliştirilip test edilmiştir.
WooCommerce (v2 Yeni Tasarım) İndir.WHMCS, tüm gereklilikleri içerisinde barındıran hazır paket bir web hosting yönetim yazılımı, otomasyonudur. WHMCS kurulumu üzerinden geliştirilip test edilmiştir.
WHMCS İndir.Güvenli Ödeme Sayfası Servisi İstek Modeli;
Metod | API URL |
---|---|
POST | https://www.payhesap.com/api/iframe/pay |
Güvenli ödeme sayfası modelini kullanarak başarılı bir tahsilat gerçekleştirmek için aşağıda maddeler halinde açıklanan işlemleri takip ederek entegrasyonunuzu tamamlamanız gerekmektedir.
PARAMETRE | AÇIKLAMA |
---|---|
hash |
Üye işyerinize özel oluşturulan kullanıcı bilginizdir. (PayHesap paneli üzerinden bu bilgiye erişebilirsiniz.) |
callback_url |
Ödeme işlemi sonlandığında arka planda POST atılacak olan sayfa |
success_url |
Ödeme işlemi başarılı ise bulunan sayfa hangi adrese yönlensin |
fail_url |
Ödeme işlemi başarısız ise bulunan sayfa hangi adrese yönlensin |
amount |
Gerçekleştirmek istediğiniz işleme ait tutar bilgisidir. (Örn: 15,90) |
order_id |
Ödeme isteğinde bulunurken gönderdiğiniz işleme ait referans numarasıdır. Ödemenizi bu referans numarası ile takip edebilirsiniz. (Maksimum 24 Karekter Olmalıdır.) |
currency |
Gerçekleştirmek istediğiniz işleme ait para birimi (TRY / EUR / USD) |
installment |
İşlem için istenen taksit sayısının belirtildiği paremetredir. (Örn: Tek çekim işlem için "1" göndermelisiniz.) |
name |
İşlemi gerçekleştiren müşterinin ad soyad bilgisidir. |
address |
İşlemi gerçekleştiren müşterinin adres bilgisidir. |
email |
İşlemi gerçekleştiren müşterinin mail bilgisidir. |
phone |
İşlemi gerçekleştiren müşterinin telefon numarası bilgisidir. |
city |
İşlemi gerçekleştiren müşterinin şehir bilgisidir. |
state |
İşlemi gerçekleştiren müşterinin ilçe bilgisidir. |
ip (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin IP adresi bilgisidir. |
PARAMETRE | AÇIKLAMA |
---|---|
STATUS |
İşlem sonuç durumu |
errors |
Başarısız işlemler için hata mesajı. |
data[token] |
İframe için kullanacağınız token |
data[orderID] |
Gönderdiğiniz sipariş numarası |
<?php $posts = [ "hash" => "xxxxxxxxxxxx", "order_id" => "43", "callback_url" => "xxxxxxxxxxx", //İşlem durumu hakkında bilgiler ve Payhesap üzerinden ödeme sorgulama aşaması "amount" => "1", "installment" => "1", "success_url" => "https://payhesap.com/success.php", //Ödeme başarılı ise sayfa buraya yönlencek "fail_url" => "https://payhesap.com/fail.php", //Ödeme başarısız ise sayfa buraya yönlencek "name" => "Onur Samancı", "email" => "[email protected]", "phone" => "123123123", "city" => "İstanbul", "state" => "Şişli", "address" => "Test işlem adres", "ip" => $_SERVER['REMOTE_ADDR'] ]; $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'])){ ?> <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" style="width: 100%;"></iframe> <script>iFrameResize({},'#payhesapiframe');</script> <?php }else{ print_r($decode); // Bir sorun var mesajlar burada }
<?php if(isset($_POST['STATUS'])){ $orderID = $_POST['ORDER_REF_NUMBER']; $hash = $_POST['HASH']; $ch = curl_init('https://www.payhesap.com/api/pay/checkOrder'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, array('hash' => $hash)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);; $result = json_decode(curl_exec($ch),true); //$orderID ile siparişinizn işlemlerini yapabilirsiniz if($result['statusID'] == 1 ){ // Ödeme Başarılı }else{ // Ödeme Başarısız } }
Metod | API URL |
---|---|
POST | https://www.payhesap.com/api/pay |
3D Ödeme Servisi İşlem Akışı;
3D ödeme modelini kullanarak başarılı bir tahsilat gerçekleştirmek için aşağıda maddeler halinde açıklanan işlemleri takip ederek entegrasyonunuzu tamamlamanız gerekmektedir.
PARAMETRE | AÇIKLAMA |
---|---|
hash |
Üye işyerinize özel oluşturulan kullanıcı bilginizdir. (PayHesap paneli üzerinden bu bilgiye erişebilirsiniz.) |
callback_url |
Opencart veya WooCommerce modülü kullanmıyorsanız ödeme sonucunu alabilmek için geri dönüş URLsi göndermeniz gerekmektedir |
amount |
Gerçekleştirmek istediğiniz işleme ait tutar bilgisidir. (Örn: 15,90) |
order_id |
Ödeme isteğinde bulunurken gönderdiğiniz işleme ait referans numarasıdır. Ödemenizi bu referans numarası ile takip edebilirsiniz. (Maksimum 24 Karekter Olmalıdır.) |
currency |
Gerçekleştirmek istediğiniz işleme ait para birimi (TRY / EUR / USD) |
cardnumber |
Ödeme işlemini gerçekleştireceğiniz karta ait 16 haneli numarasını içeren paremetredir. |
cardcustomername |
Kart sahibinin ad ve soyad bilgisinin belirtildiği parametredir. |
cardexpmonth |
Kartın son kullanım tarihinin ay bilgisinin belirtildiği parametredir. (Örn: 06) |
cardexpyear |
Kartın son kullanım tarihinin yıl bilgisinin belirtildiği parametredir. (Örn: 2023) |
cardcvv |
Kartın arka yüzeyinde bulunan güvenlik kodunun bilgisinin belirtildiği parametredir. (Örn: 000) |
installment |
İşlem için istenen taksit sayısının belirtildiği paremetredir. (Örn: Tek çekim işlem için "1" göndermelisiniz.) |
customer['firstname'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin adı bilgisidir. |
customer['lastname'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin soyadı bilgisidir. |
customer['address'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin adres bilgisidir. |
customer['email'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin mail bilgisidir. |
customer['phone'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin telefon numarası bilgisidir. |
customer['city'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin şehir bilgisidir. |
customer['state'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin ilçe bilgisidir. |
customer['ip'] (customer değişken içerisinde array olarak gönderilmelidir) |
İşlemi gerçekleştiren müşterinin IP adresi bilgisidir. |
"hash" => "TEST1234", "order_id" => "001", "amount" => "15" "cardnumber" => "4159562885391991", "cardexpmonth" => "12", "cardexpyear" => "2023", "cardcvv" => "000", "cardcustomername" => "test", "installment" => "1" "customer" => [ "firstname" => "Firstname", "lastname" => "Lastname", "email" => "[email protected]", "phone" => "02122356600", "city" => "İstanbul", "state" => "Şişli", "address" => "Merkez Mah. Akar Cd. No:3/115 ITower Plaza Kat:17 Bomonti Şişli/İstanbul" ]
PARAMETRE | AÇIKLAMA |
---|---|
ORDER_REF_NUMBER |
Ödeme isteğinde bulunurken gönderdiğiniz işleme ait referans numarası |
STATUS |
İşlem sonuç durumu |
errors |
Başarısız işlemler için hata mesajı. |
payUrl |
Kullanıcıyı yönlendireceğiniz 3D Doğrulama Sayfası url adresi. |
returnHash |
İşleme ait hash numarası |
<?php $posts = [ "hash" => "12312312312", "order_id" => "1", "callback_url" => "payhesap.com/callback", "amount" => "1", "cardnumber" => "11111111111", "cardexpmonth" => "22", "cardexpyear" => "24", "cardcvv" => "222", "cardcustomername" => "Test İşlem", "installment" => "1", "customer" => [ "firstname" => "Test", "lastname" => "İşlem", "email" => "[email protected]", "phone" => "123123123", "city" => "İstanbul", "state" => "Şişli", "address" => "Test işlem adres şişli / İstanbul", "ip" => $_SERVER['REMOTE_ADDR'] ] ]; $encode = json_encode($posts, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); $ch = curl_init('https://www.payhesap.com/api/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['payUrl'])){ header('Location:'.$decode['payUrl']); }else{ print_r($decode); // Bir sorun var mesajlar burada }
Metod | API URL |
---|---|
POST | https://www.payhesap.com/api/pay/checkOrder |
Oluşturulan siparişin durumunu kontrol etmek için aşağıdaki komutları kullanabilirsiniz.
PARAMETRE | AÇIKLAMA |
---|---|
hash |
Callback dosyanıza post olarak gelen sipariş hash kodu |
<?php if(isset($_POST['STATUS'])){ $orderID = $_POST['ORDER_REF_NUMBER']; $hash = $_POST['HASH']; $ch = curl_init('https://www.payhesap.com/api/pay/checkOrder'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, array('hash' => $hash)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);; $result = json_decode(curl_exec($ch)); //$orderID ile siparişinizn işlemlerini yapabilirsiniz if($result['statusID'] == 1 ){ // Ödeme Başarılı }else{ // Ödeme Başarısız }