API - Portmanat Checkout

Portmanat Checkout-u saytınızda qurmaq üçün əvvəlcə sistemdə partnyor kimi qeydiyyatdan keçmək lazımdır. Bunun üçün https://portmanat.az/partners səhifəsinə daxil olun. Daha sonra "Xidmət əlavə et" bölməsinə daxil olaraq xidmət əlavə edin:


Xidmət əlavə etmək üçün zəruri məlumatlar:

 

Xidmətin adı

Saytınızda qurduğunuz xidmətin (layihənin) adı

Təsvir

Xidmətin (layihənin) qısa təsviri

Şifrə

Checkoutda skriptde istifade ediləcək məxfi kod

Məlumat göndəriləcək ünvan

Ödəniş ugurlu olduqda dataların ötürüləcəyi URL (result.php)

Uğurlu URL

Ödəniş uğurlu olduqda istifadəçinin yönlənəcəyi URL (success.php)

Uğursuz URL

Ödəniş uğursuz olduqda istifadəçinin yönlənəcəyi URL (fail.php)

Test rejimi

Portmanat checkoutu qurduqdan sonra skripti yoxlamaq üçün test rejimini aktiv seçin. Bu zaman Portmanat hesabından ödəniş edildikde hesabdan pul çıxılmayacaq. P.S.: Skriptin işlək olması yoxlanıldıqdan sonra Test rejimini söndürməyi unutmayın.

 

Xidmət əlavə edildikdən sonra API-ni saytınızda quraşdırmağa başlaya bilərsiniz. Checkoutun qurulmasında lazım olacaq məlumatları "Xidmətlər" bölməsindən ala bilərsiniz:

 

Portmanat Hesab və Portmanat Kodla ödəməni qurmaq üçün

POST-la ötürüləcək lazımı məlumatlar:

s_id

Əlavə edilmiş xidmətin ID-si

o_id

Order ID-si (unikal)

method

Portmanat hesabla ödəmə formasında method=account , Portmanat Kodla ödəmə formasında isə method=code olaraq ötürülməsi gərəkdir.

amount

Məbləğ (Portmanat hesabla ödəmə formasında zəruridir)

 

HTML nümunə (Portmanat Hesabla ödəniş üçün):

<form action='https://www.portmanat.az/checkout' method='post'>
	<input type='hidden' name='s_id' value='XİDMƏT_ID'>
	<input type='hidden' name='o_id' value='Order_ID'>
	<input type='hidden' name='method' value='account'>
	<input type='text' name='amount' value='1'>
	<input type='submit' value='Portmanat Hesabla ödə'>
</form>

 

HTML nümunə (Portmanat Kodla ödəniş üçün):

<form action='https://www.portmanat.az/checkout' method='post'>
	<input type='hidden' name='s_id' value='XİDMƏT_ID'>
	<input type='hidden' name='o_id' value='Order_ID'>
	<input type='hidden' name='method' value='code'>
	<input type='submit' value='Portmanat Kodla ödə'>
</form>

 

Qeydlər:

  1. Ötürülən zəruri məlumatlardan başqa digər ötürülən POST-lar eyni adla "Məlumat göndəriləcək ünvan"a göndəriləcəkdir.
  2. Siz eyni səhifədə həm Portmanat Hesabla, hem də Portmanat Kodla ödəniş formasını qura bilərsiniz.

 

"Məlumat göndəriləcək ünvan" (result.php)

<?php

class Checkout
{
	private $p_id;		// Partnyor ID
	private $s_id;		// Xidmət ID 
	private $key;		// Xidmətin şifrəsi
	private $o_id;		// Order ID
	private $tr_id;		// Tranzaksiya ID
	private $method;	// Metod (account və ya code)
	private $amount; 	// Məbləğ
	private $test; 		// Xidmət rejimin statusu
	private $hash; 		// Məlumatların şifrələnmiş adı
        
	public function __construct()
	{
		$this->p_id = xxxxx; 		//partnyor ID-ni bura yazın
		$this->s_id = xxxxx; 		//xidmət ID-ni bura yazın
		$this->key = 'xxxxxxxxx'; 	//xidmət şifrəsini bura yazın
		$this->o_id = $_POST['o_id'];
		$this->tr_id= $_POST['transaction'];
		$this->method = $_POST['method'];
		$this->amount = $_POST['amount'];
		$this->test = $_POST['test'];
		$this->hash = $_POST['hash'];
	}

	public function result()
	{
		$hash = strtoupper(md5($this->p_id.$this->s_id.$this->o_id.
		$this->tr_id.$this->key));

		if($hash == $this->hash) //Əgər dogrudursa 1, yoxsa 0 qaytarılmalı
		{
			if($this->test == '0')//Əgər test rejimi söndürülübsə
        		{
        			//Baza əməliyyatlarını burada qeyd edin.
				//(Məsələn: Hesab artirılsın, bal yüklənsin və s.)
        		}
           		echo '1';
		}
		else
		{
			echo '0';
		}
	}
}

if(!empty($_POST))
{
	$portmanat = new Checkout;
	$portmanat->result();
}

?>