ZyronPay Developer Documentation

Complete integration guide, REST API reference, and ready-to-use SDKs to accept and automate bKash, Nagad, Rocket, and card payments seamlessly with ZyronPay.

Automated Gateway
REST API Live
256-bit Encrypted
01

Get Credentials

Acquire your API-KEY, SECRET-KEY, and BRAND-KEY from your merchant portal.

02

Initialize Request

POST customer and amount details to create an automated checkout link.

03

Auto Reconcile

Listen to webhooks or query the verify endpoint to complete orders in real time.

Payment Initialization API

Generate dynamic checkout links and redirect customers to complete payments securely through ZyronPay.

What This API Does

This endpoint receives transaction details (customer name, email, amount, return URLs) and responds with a unique payment_url. Redirect the customer to this URL to complete payment via bKash, Nagad, Rocket, or Bank Transfer.

POST https://pay.zyronpay.top/api/payment/create

Request Parameters

Field Name Required Type Description
cus_name Required string Full name of the customer
cus_email Required string Customer email address for invoice and transaction records
amount Required number Payable amount in BDT (e.g. 100, 550.00)
success_url Required url URL where customer is redirected after successful payment
cancel_url Required url URL where customer is redirected if payment is cancelled
meta_data Optional json Custom tracking information or order payload

Authentication Headers

Header Type Value Description
Content-Type string application/json
API-KEY string Public App Key from API Credentials in Merchant Portal
SECRET-KEY string Private Secret Key from API Credentials
BRAND-KEY string Verified Brand Key identifier

Implementation Code

Request Example
<?php$curl = curl_init();curl_setopt_array($curl, array( CURLOPT_URL => 'https://pay.zyronpay.top/api/payment/create', CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode(array( "cus_name" => "John Doe", "cus_email" => "john@example.com", "amount" => "100", "success_url" => "https://yourdomain.com/success", "cancel_url" => "https://yourdomain.com/cancel", "meta_data" => json_encode(array("order_id" => "1024")) )), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'API-KEY: YOUR_API_KEY', 'SECRET-KEY: YOUR_SECRET_KEY', 'BRAND-KEY: YOUR_BRAND_KEY' ),));$response = curl_exec($curl);curl_close($curl);echo $response;?>
const axios = require('axios');axios.post('https://pay.zyronpay.top/api/payment/create', { cus_name: "John Doe", cus_email: "john@example.com", amount: "100", success_url: "https://yourdomain.com/success", cancel_url: "https://yourdomain.com/cancel", meta_data: JSON.stringify({ order_id: "1024" })}, { headers: { 'Content-Type': 'application/json', 'API-KEY': 'YOUR_API_KEY', 'SECRET-KEY': 'YOUR_SECRET_KEY', 'BRAND-KEY': 'YOUR_BRAND_KEY' }}).then(res => console.log(res.data)).catch(err => console.error(err));
import requests, jsonurl = "https://pay.zyronpay.top/api/payment/create"payload = { "cus_name": "John Doe", "cus_email": "john@example.com", "amount": "100", "success_url": "https://yourdomain.com/success", "cancel_url": "https://yourdomain.com/cancel", "meta_data": json.dumps({"order_id": "1024"})}headers = { "Content-Type": "application/json", "API-KEY": "YOUR_API_KEY", "SECRET-KEY": "YOUR_SECRET_KEY", "BRAND-KEY": "YOUR_BRAND_KEY"}response = requests.post(url, json=payload, headers=headers)print(response.json())
package mainimport ( "fmt" "net/http" "io/ioutil" "strings")func main() { url := "https://pay.zyronpay.top/api/payment/create" payload := strings.NewReader(`{"cus_name":"John Doe","cus_email":"john@example.com","amount":"100","success_url":"https://yourdomain.com/success","cancel_url":"https://yourdomain.com/cancel"}`) req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/json") req.Header.Add("API-KEY", "YOUR_API_KEY") req.Header.Add("SECRET-KEY", "YOUR_SECRET_KEY") req.Header.Add("BRAND-KEY", "YOUR_BRAND_KEY") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(string(body))}

Gateway Response

Success Response (200 OK)
{ "status": true, "message": "Payment URL generated successfully", "payment_url": "https://pay.zyronpay.top/checkout/session/pay_78291048"}

Frequently Asked Developer Questions

How do I get my API Credentials?

Log in to your ZyronPay merchant dashboard, navigate to Settings > API Credentials, and copy your API-KEY, SECRET-KEY, and BRAND-KEY.

Is SSL/HTTPS required for production?

Yes, in production environments your success_url and webhook endpoints must use valid SSL certificates (HTTPS) to maintain bank-grade confidentiality.

How does automatic payment verification work?

Our system reconciles MFS transaction messages in real-time, verifying matching amounts and TrxIDs with sub-second latency.

Need Direct Integration Assistance?

Our senior technical engineers are available around the clock to guide your deployment.
Developer Support