Sorularınız veya destek talepleriniz için [email protected] adresinden bize 7/24 ulaşabilirsiniz.

Pay Hesap Entegrasyon Dokümanı

Anasayfa

PayHesap API servisi web siteleriniz üzerinden sorunsuz bir şekilde ödeme hizmeti alabilmeniz için geliştirilmiştir.

  • Pay Hesap Panel Adresimiz : https://www.payhesap.com
  • Sorularınız veya destek talepleriniz için [email protected] adresinden bize 7/24 ulaşabilirsiniz.
  • Ödeme isteği gönderebilmek için gerekli olan, üye işyerinize özel oluşturulan API Hash bilginize panel üzerinden ulaşabilirsiniz.
  • Kullanacağınız ödeme modeline göre soldaki menüden ilerleyip entegrasyon işlemlerinizi gerçekleştirebilirsiniz.

Entegrasyon Sürecimiz

  • Kullanacağınız ödeme modeline göre entegrasyon işlemlerinizi gerçekleştirdikten sonra test bilgileri ile işlem gerçekleştirerek sisteme sorunsuz bir şekilde entegre olduğunuzdan emin olmalısınız.
  • İşlem sonuçlarını kullanıcılarınızın daha rahat anlayabilmesi için bizden gelen hata kod ve mesajlarını kendinize göre düzenlemelisiniz.
  • İşlem sonunda sizin belirttiğiniz geri dönüş sayfasına verilerin eksiksiz ve doğru bir şekilde geldiğinden emin olmalısınız.
  • Tüm bu süreçler de sorularınızı veya destek taleplerinizi [email protected] adresinden bize ulaştırabilirsiniz.

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 İndir

iFrame Ödeme Modeli

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.

İstek Mesajı

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.

Cevap Mesajı

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ı

Örnek PHP Kod

İstek Kod
                

<?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 }

Cevap Kod (Callback)
                    

<?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 } }


Mağaza iFrame Ödeme Servisi İstek Modeli

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.

İstek Mesajı

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.

Örnek İstek

"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", ], ]

Cevap Mesajı

PARAMETRE AÇIKLAMA
status İşlem sonuç durumu
data[token] iFrame token kodu (https://www.payhesap.com/api/shop/{token})
Örnek PHP Kod

<?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']); }


Sipariş Durumu Sorgulama

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.

İstek Mesajı

PARAMETRE AÇIKLAMA
hash Callback dosyanıza post olarak gelen sipariş hash kodu
Örnek PHP Kod
                    

<?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 }