Special Get 20% Discount Get for New Account Register Now

API Doc Pay Gate

This document explains how to successfully call the API with your app and get an successful call. These endpoints helps you create and manage wallets.

Get Free Quote! We’ll contact back in 24h

Getting Started

This document explains how to successfully call the API with your app and get an successful call. These endpoints helps you create and manage wallets.

Base Url http://paygate.khaytech.com

Initiate Payment

To initiate the payment process follow the example code and be careful with the parameters. Use this guide to make sure your chosen payment methods work for your business and to determine how you want to add payment methods.

Post /payment/initiate


Body Params

currency* string

Currency Code, Must be in Upper Case. e.g. USD, EUR


amount* int32

The amount you want to transaction


ipn_url* url

Instant payment notification url


callback_url* url

This url you should be redirect after successful payment


order_id* string

This is unique id generate for transaction. Its length should be 10 to 20 characters


customer_name string

The person name who make want to transaction. Name should no be greater than 20 characters


customer_email string

The person email who make want to transaction.


description string

Details of your payment or transaction. Details should no be greater than 500 characters


			
			curl --location --request POST 'http://paygate.khaytech.com/api/payment/initiate' \
			--header 'ApiKey: 9a5cd8e5beb32c70400bfdcf5f576562bd09202d' \
			--header 'SecretKey: f2cc7f986a81b14525807a37a6a89ec99b8a82b6' \
			--form 'currency="USD"' \
			--form 'amount="100"' \
			--form 'ipn_url="http://paygate.khaytech.com"' \
			--form 'callback_url="http://paygate.khaytech.com"' \
			--form 'order_id="256985412569"' \
			--form 'meta.customer_name="John Doe"' \
			--form 'meta.customer_email="example@gmail.com"' \
			--form 'meta.description=""'
			
											
			
			?php
			
			$curl = curl_init();
			
			curl_setopt_array($curl, array(
			CURLOPT_URL => 'http://paygate.khaytech.com/api/payment/initiate',
			CURLOPT_RETURNTRANSFER => true,
			CURLOPT_ENCODING => '',
			CURLOPT_MAXREDIRS => 10,
			CURLOPT_TIMEOUT => 0,
			CURLOPT_FOLLOWLOCATION => true,
			CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
			CURLOPT_CUSTOMREQUEST => 'POST',
			CURLOPT_POSTFIELDS => array('currency' => 'USD','amount' => '100','ipn_url' => 'http://paygate.khaytech.com/','callback_url' => 'http://paygate.khaytech.com/','order_id' => '256985412569','meta.customer_name' => 'John Doe','meta.customer_email' => 'example@gmail.com','meta.description' => ''),
			CURLOPT_HTTPHEADER => array(
			'ApiKey: 9a5cd8e5beb32c70400bfdcf5f576562bd09202d',
			'SecretKey: f2cc7f986a81b14525807a37a6a89ec99b8a82b6'
			),
			));
			
			$response = curl_exec($curl);
			
			curl_close($curl);
			echo $response;
			
			
			
			
			
			require "uri"
			require "net/http"
			
			url = URI("http://paygate.khaytech.com/api/payment/initiate")
			
			http = Net::HTTP.new(url.host, url.port);
			request = Net::HTTP::Post.new(url)
			request["ApiKey"] = "9a5cd8e5beb32c70400bfdcf5f576562bd09202d"
			request["SecretKey"] = "f2cc7f986a81b14525807a37a6a89ec99b8a82b6"
			form_data = [['currency', 'USD'],['amount', '100'],['ipn_url', 'http://paygate.khaytech.com/'],['callback_url', 'http://paygate.khaytech.com/'],['order_id', '256985412569'],['meta.customer_name', 'John Doe'],['meta.customer_email', 'example@gmail.com'],['meta.description', '']]
			request.set_form form_data, 'multipart/form-data'
			response = http.request(request)
			puts response.read_body
			
			
			
			
			var request = require('request');
			var options = {
			'method': 'POST',
			'url': 'http://paygate.khaytech.com/payment/initiate',
			'headers': {
			'ApiKey': '9a5cd8e5beb32c70400bfdcf5f576562bd09202d',
			'SecretKey': 'f2cc7f986a81b14525807a37a6a89ec99b8a82b6'
			},
			formData: {
			'currency': 'USD',
			'amount': '100',
			'ipn_url': 'http://paygate.khaytech.com/',
			'callback_url': 'http://paygate.khaytech.com/',
			'order_id': '256985412569',
			'meta.customer_name': 'John Doe',
			'meta.customer_email': 'example@gmail.com',
			'meta.description': ''
			}
			};
			request(options, function (error, response) {
			if (error) throw new Error(error);
			console.log(response.body);
			});
			
			
			
			
			
			import requests
			
			url = "http://paygate.khaytech.com/payment/initiate"
			
			payload={'currency': 'USD',
			'amount': '100',
			'ipn_url': 'http://paygate.khaytech.com/',
			'callback_url': 'http://paygate.khaytech.com/',
			'order_id': '256985412569',
			'meta.customer_name': 'John Maguire',
			'meta.customer_email': 'example@mail.com',
			'meta.description': ''}
			files=[
			
			]
			headers = {
			'ApiKey': '3463464374373464325456t34',
			'SecretKey': '3464364363443643634'
			}
			
			response = requests.request("POST", url, headers=headers, data=payload, files=files)
			
			print(response.text)
			
			
			
			
			
			
			{
			"status": "success",
			"data": {
				"id": "f8f2ec61-3719-4d64-b185-4951b5f71f9d",
				"currency": "USD",
				"amount": "100",
				"order_id": "256985412569",
				"ipn_url": "http://paygate.khaytech.com/",
				"callback_url": "http://paygate.khaytech.com/",
				"meta": {
					"customer_name": null,
					"customer_email": null,
					"description": null
				},
				"redirect_url": "http://paygate.khaytech.com/make/payment/test/f8f2ec61-3719-4d64-b185-4951b5f71f9d"
			}
			}
			
											
{
			"status": "error",
			"error": [
				"The currency field is required.",
				"The amount field is required.",
				"The ipn url field is required.",
				"The callback url field is required.",
				"The order id field is required.",
				"The api key field is required.",
				"The secret key field is required."
			]
			}

Verify Payment

To ensure the payment completed, your application must verify the payment state. You will need to make request with these following API end points.

Post payment/verify


Body Params

order_id* string

This is unique id what you get response.


Note: status are pending, success, failed

			
			curl --location --request POST 'http://paygate.khaytech.com/api/payment/verify' \
			--header 'ApiKey: 235623652352353262365634645235235' \
			--header 'SecretKey: 2352367536442363452352365325235' \
			--form 'order_id="23532332"'
			
											
			
			?php
			
			$curl = curl_init();
			
			curl_setopt_array($curl, array(
			CURLOPT_URL => 'http://paygate.khaytech.com/api/payment/verify',
			CURLOPT_RETURNTRANSFER => true,
			CURLOPT_ENCODING => '',
			CURLOPT_MAXREDIRS => 10,
			CURLOPT_TIMEOUT => 0,
			CURLOPT_FOLLOWLOCATION => true,
			CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
			CURLOPT_CUSTOMREQUEST => 'POST',
			CURLOPT_POSTFIELDS => array('order_id' => '1823456781'),
			CURLOPT_HTTPHEADER => array(
			'ApiKey: 9a5cd8e5beb32c70400bfdcf5f576562bd09202d',
			'SecretKey: f2cc7f986a81b14525807a37a6a89ec99b8a82b6'
			),
			));
			
			$response = curl_exec($curl);
			
			curl_close($curl);
			echo $response;
			
			
			
			
			
			
			require "uri"
			require "net/http"
			
			url = URI("http://paygate.khaytech.com/api/payment/verify")
			
			http = Net::HTTP.new(url.host, url.port);
			request = Net::HTTP::Post.new(url)
			request["ApiKey"] = "9a5cd8e5beb32c70400bfdcf5f576562bd09202d"
			request["SecretKey"] = "f2cc7f986a81b14525807a37a6a89ec99b8a82b6"
			form_data = [['order_id', '1823456781']]
			request.set_form form_data, 'multipart/form-data'
			response = http.request(request)
			puts response.read_body
			
			
			
			
			
			var request = require('request');
			var options = {
			'method': 'POST',
			'url': 'http://paygate.khaytech.com/api/payment/verify',
			'headers': {
			'ApiKey': '9a5cd8e5beb32c70400bfdcf5f576562bd09202d',
			'SecretKey': 'f2cc7f986a81b14525807a37a6a89ec99b8a82b6'
			},
			formData: {
			'order_id': '1823456781'
			}
			};
			request(options, function (error, response) {
			if (error) throw new Error(error);
			console.log(response.body);
			});
			
			
			
			
			
			
			import requests
			
			url = "http://paygate.khaytech.com/api/payment/verify"
			
			payload={'order_id': '1823456781'}
			files=[
			
			]
			headers = {
			'ApiKey': '9a5cd8e5beb32c70400bfdcf5f576562bd09202d',
			'SecretKey': 'f2cc7f986a81b14525807a37a6a89ec99b8a82b6'
			}
			
			response = requests.request("POST", url, headers=headers, data=payload, files=files)
			
			print(response.text)
			
			
			
			
			
			
			{
			"status": "success",
			"data": {
				"order_id": 1823456781,
				"status": "success"
			}
			}
			
											
{
			"status": "error",
			"error": [
				"The order id field is required.",
				"The api key field is required.",
				"The secret key field is required."
			]
			}