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) - v3 (Mağaza iFrame) Modülünü İ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 (Mağaza iFrame) Modülünü İ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 Modülünü İndir.PHP ile yazılmış hazır kodları indirip yazılımınıza entegrasyonunu yapabilirsiniz.
İFrame Ortak Ödeme Methodu Hazır Kod İndir Mağaza iFrame Ödeme Hazır Kod İndirGü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" => "https://site-adresi.com/callback.php", //İşlem durumu hakkında bilgiler ve Payhesap üzerinden ödeme sorgulama aşaması "amount" => "1", "installment" => "1", "success_url" => "https://site-adresi.com/success.php", //Ödeme başarılı ise sayfa buraya yönlencek "fail_url" => "https://site-adresi.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/shop/pay |
Mağaza iFrame Ödeme Servisi İşlem Akışı;
Mağaza iframe ödeme servisi 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) |
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ı bilgisidir. |
lastname |
İşlemi gerçekleştiren müşterinin 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. |
post_code |
İşlemi gerçekleştiren müşterinin ülke bilgisidir. |
country |
İşlemi gerçekleştiren müşterinin ülke bilgisidir. |
city |
İşlemi gerçekleştiren müşterinin şehir bilgisidir. |
state |
İşlemi gerçekleştiren müşterinin ilçe bilgisidir. |
ip |
İşlemi gerçekleştiren müşterinin IP adresi bilgisidir. |
products[0]sku (products değişken içerisinde array olarak gönderilmelidir) |
Sipariş içerisindeki ürün stok kodu bilgisidir. |
products[0]name (products değişken içerisinde array olarak gönderilmelidir) |
Sipariş içerisindeki ürün adı bilgisidir. |
products[0]image (products değişken içerisinde array olarak gönderilmelidir) |
Sipariş içerisindeki ürün resim url bilgisidir. http://siteadi.com/urun.png (sadece png ve jpg uzantı) |
products[0]price (products değişken içerisinde array olarak gönderilmelidir) |
Sipariş içerisindeki ürün fiyat bilgisidir. |
products[0]qty (products değişken içerisinde array olarak gönderilmelidir) |
Sipariş içerisindeki ürün sipariş adet bilgisidir. |
"hash" => "TEST1234", "order_id" => "123456789PAYHESAP001", "amount" => "200", "callback_url" => "https://site-adresi.com/callback.php", "installment" => "1", "name" => "Firstname", "lastname" => "Lastname", "email" => "[email protected]", "phone" => "02122356600", "postcode" => "90", "country" => "Türkiye", "city" => "İstanbul", "state" => "Şişli", "address" => "Merkez Mah. Akar Cd. No:3/115 ITower Plaza Kat:17 Bomonti Şişli/İstanbul", "ip" => "1.1.1.1", "products" => [ [ "sku" => "MCNT", "name" => "Mavi Çanta", "price" => "100", "qty" => "1", ], [ "sku" => "KCNT", "name" => "Kırmızı Çanta", "price" => "100", "qty" => "1", ], ]
PARAMETRE | AÇIKLAMA |
---|---|
status |
İşlem sonuç durumu |
data[token] |
iFrame token kodu (https://www.payhesap.com/api/shop/{token}) |
<?php $posts = [ "hash" => "TEST1234", "order_id" => "123456789PAYHESAP001", "amount" => "200", "callback_url" => "https://site-adresi.com/callback.php", "installment" => "1", "name" => "Firstname", "lastname" => "Lastname", "email" => "[email protected]", "phone" => "02122356600", "postcode" => "90", "country" => "Türkiye", "city" => "İstanbul", "state" => "Şişli", "address" => "Merkez Mah. Akar Cd. No:3/115 ITower Plaza Kat:17 Bomonti Şişli/İstanbul", "ip" => $_SERVER['REMOTE_ADDR'], "products" => [ [ "sku" => "MCNT", "name" => "Mavi Çanta", "price" => "100", "qty" => "1", ], [ "sku" => "KCNT", "name" => "Kırmızı Çanta", "price" => "100", "qty" => "1", ], ] ]; $encode = json_encode($posts, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); $ch = curl_init('https://www.payhesap.com/api/shop/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); $response = json_decode($result, true); if(isset($response['status']) && $response['status'] == 'true'){ echo '<iframe src="https://payhesap.com/api/shop/'.$response['data']['token'].'" id="payhesapiframe" frameborder="0" scrolling="yes" style="width: 100%;"></iframe><script> let iframe = document.querySelector("#payhesapiframe"); window.addEventListener(\'message\', function(e) { let message = e.data;iframe.style.height = (message.height + 100) + \'px\';},false);</script>'; }elseif(isset($response['status']) && $response['status'] == 'false'){ print_r($response['errors']); }
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 }