Binance Pay License

Complete API documentation for integrating automatic Binance Pay payment verification into your script.

Get Your License Key

What is a License Key?

Your license key is a unique identifier that links your account to a specific plan. When you embed this key into your script, our API will return the Binance credentials (API key, secret, email or id, etc.) associated with that plan, allowing your customers to send payments via Binance Pay and have them verified automatically.

Prerequisite: You must have an active plan and have configured Binance credentials for that plan in your dashboard.

API Endpoints

All API calls must be made over HTTPS. The base URL for all endpoints is:

https://panel.smmpanelbdlab.com
1. Verify License & Get Binance Credentials
GET /api/verify-license?license=YOUR_LICENSE_KEY

Description: Validates the license key, checks if the plan is active, and returns the Binance credentials configured for that plan.

ParameterTypeRequiredDescription
licensestringYesYour license key

Success Response (200):

{ "success": true, "data": { "binance_email_id": "user@example.com", "qrcode_url": "https://...", "api_key": "xEAx3rf6aNzT...", "secret_key": "zcVAfhNRitGY...", "currency": "USDT", "plan_expiry": "2027-12-31 23:59:59", "time_limit": 30 } }

Error Responses:

  • {"success":false,"message":"Invalid or expired license key"}
  • {"success":false,"message":"Plan expired or inactive"}
  • {"success":false,"message":"Binance credentials not configured for this plan"}
  • {"success":false,"message":"Domain not allowed"}
2. Verify a Binance Pay Order ID
POST /api/verify-payment

Description: Confirms a Binance Pay transaction by checking the Order ID against the Binance API using the credentials of the license’s plan.

ParameterTypeRequiredDescription
licensestringYesYour license key.
order_idstringYesBinance Order ID (15-22 digits).
amountfloatYesExpected payment amount (must match within 0.01 tolerance).

Success Response (200):

{ "success": true, "message": "Payment verified successfully", "transaction_id": "1234567890" }

Error Responses:

  • {"success":false,"message":"Invalid Order ID format"}
  • {"success":false,"message":"Order ID already used"}
  • {"success":false,"message":"Amount mismatch"}
  • {"success":false,"message":"Order ID too old (must be within X minutes)"}

Integration Examples

Below are examples showing how to fetch credentials and verify payments using your license key. Click the Copy button on any code block to copy the code.

PHP (cURL)
/* Step 1: Get Binance credentials */ $license_key = 'YOUR_LICENSE_KEY'; $api_url = 'https://panel.smmpanelbdlab.com/api/verify-license?license=' . urlencode($license_key); $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $api_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => true, ]); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if (!$data['success']) { die('License error: ' . $data['message']); } /* Use $data['data'] for Binance credentials */ /* Step 2: Show the payment modal (popup) – no redirect needed */ /* Your script should open a modal with Binance ID, QR, amount, etc. */
PHP – Full HTML Payment Modal
/* Step 1: Get Binance credentials */ $license_key = 'YOUR_LICENSE_KEY'; $api_url = 'https://panel.smmpanelbdlab.com/api/verify-license?license=' . urlencode($license_key); $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $api_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => true, ]); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if (!$data['success']) { die('License error: ' . $data['message']); } $creds = $data['data']; $binance_id = $creds['binance_email_id']; $qrcode_url = $creds['qrcode_url'] ?? ''; $currency = $creds['currency'] ?? 'USDT'; $amount = 5.00; $display_amount = number_format($amount, 2, '.', ''); /* Step 2: Display payment modal */ ?> <!DOCTYPE html> <html> <head><title>Binance Pay</title></head> <body> <div id="bnp-modal" style="max-width:420px;margin:20px auto;padding:20px;border:1px solid #ddd;border-radius:8px;font-family:sans-serif;"> <h3 style="text-align:center;">Binance Pay</h3> <div style="text-align:center;font-size:28px;font-weight:700;color:#2b6cb0;"> <?php echo $display_amount; ?> <small><?php echo $currency; ?></small> </div> <p style="text-align:center;font-weight:600;">Send payment to:</p> <div style="text-align:center;background:#f0f0f0;padding:8px;border-radius:6px;font-family:monospace;"> <?php echo htmlspecialchars($binance_id); ?> <button onclick="copyText('<?php echo htmlspecialchars($binance_id); ?>')" style="margin-left:8px;">Copy</button> </div> <?php if ($qrcode_url): ?> <div style="text-align:center;margin:12px 0;"> <img src="<?php echo htmlspecialchars($qrcode_url); ?>" alt="QR" style="max-width:150px;"> </div> <?php endif; ?> <hr> <div style="font-size:14px;color:#555;"> <strong>How to complete:</strong> <ol> <li>Scan QR or send funds to the ID above.</li> <li>After payment, enter the Order ID below.</li> </ol> </div> <input type="text" id="order_id" placeholder="Enter Binance Order ID" style="width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;text-align:center;"> <button onclick="verifyPayment()" style="width:100%;padding:10px;background:#2b6cb0;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;margin-top:10px;">Verify Payment</button> <div id="result" style="margin-top:10px;padding:10px;border-radius:4px;display:none;"></div> </div> <script> function copyText(text) { var ta = document.createElement('textarea'); ta.value = text; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta); alert('Copied!'); } function verifyPayment() { var oid = document.getElementById('order_id').value.trim(); var result = document.getElementById('result'); result.style.display = 'block'; if (!oid || !/^\d{15,22}$/.test(oid)) { result.style.background = '#fee2e2'; result.style.color = '#991b1b'; result.textContent = 'Invalid Order ID format. Must be 15-22 digits.'; return; } var data = new FormData(); data.append('license', '<?php echo $license_key; ?>'); data.append('order_id', oid); data.append('amount', '<?php echo $amount; ?>'); fetch('https://panel.smmpanelbdlab.com/api/verify-payment', { method: 'POST', body: data }) .then(res => res.json()) .then(res => { if (res.success) { result.style.background = '#dcfce7'; result.style.color = '#166534'; result.innerHTML = ' Payment verified! Transaction ID: ' + (res.transaction_id || 'N/A'); } else { result.style.background = '#fee2e2'; result.style.color = '#991b1b'; result.textContent = res.message || 'Verification failed.'; } }) .catch(err => { result.style.background = '#fee2e2'; result.style.color = '#991b1b'; result.textContent = 'Network error: ' + err.message; }); } </script> </body> </html>
Node.js (axios)
const axios = require('axios'); const licenseKey = 'YOUR_LICENSE_KEY'; /* Step 1: Get credentials */ const res = await axios.get(`https://panel.smmpanelbdlab.com/api/verify-license?license=${licenseKey}`); if (!res.data.success) { throw new Error(res.data.message); } const { api_key, secret_key, binance_email_id } = res.data.data; /* Step 2: Show payment modal */ /* Step 3: Verify payment */ const verifyRes = await axios.post('https://panel.smmpanelbdlab.com/api/verify-payment', { license: licenseKey, order_id: orderId, amount: amount });
Python (requests)
import requests license_key = 'YOUR_LICENSE_KEY' /* Step 1: Get credentials */ resp = requests.get(f'https://panel.smmpanelbdlab.com/api/verify-license?license={license_key}') data = resp.json() if not data['success']: raise Exception(data['message']) creds = data['data'] /* Step 2: Show payment details in a modal */ /* Step 3: Verify payment */ verify_resp = requests.post('https://panel.smmpanelbdlab.com/api/verify-payment', { 'license': license_key, 'order_id': order_id, 'amount': amount })
React / Next.js (fetch)
const licenseKey = 'YOUR_LICENSE_KEY'; /* Step 1: Fetch credentials */ const res = await fetch(`https://panel.smmpanelbdlab.com/api/verify-license?license=${licenseKey}`); const data = await res.json(); if (!data.success) { throw new Error(data.message); } /* Step 2: Open modal with Binance ID, QR, etc. */ /* Step 3: Verify payment */ const verifyRes = await fetch('https://panel.smmpanelbdlab.com/api/verify-payment', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ license: licenseKey, order_id: orderId, amount: amount }) });
Vanilla JavaScript (fetch)
const licenseKey = 'YOUR_LICENSE_KEY'; /* Step 1: Get credentials */ fetch(`https://panel.smmpanelbdlab.com/api/verify-license?license=${licenseKey}`) .then(res => res.json()) .then(data => { if (!data.success) { alert('License error: ' + data.message); return; } /* Step 2: Show modal with Binance ID, QR */ }); /* Step 3: Verify payment */ fetch('https://panel.smmpanelbdlab.com/api/verify-payment', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ license: licenseKey, order_id: orderId, amount: amount }) }) .then(res => res.json()) .then(data => { if (data.success) { /* Payment verified */ } });

Endpoint URL: https://panel.smmpanelbdlab.com/api/verify-payment

Live Demo: Try the full integration at https://panel.smmpanelbdlab.com/demo-binance-pay

Module Download

Download the official Binance Pay integration module for your platform. Choose the version that matches your environment.

WooCommerce Plugin

Seamless integration with WooCommerce – automatic payment verification.

View on GitHub Download ZIP
SMM Script Module

Add Binance Pay as a payment method to your Modified SMM script.

View on GitHub Download ZIP
API Library (PHP)

Standalone PHP library for custom integrations.

View on GitHub Download ZIP
Installation Instructions
  1. WooCommerce: Upload the ZIP via Plugins → Add New → Upload Plugin.
  2. SMM Script: Extract the files into your SMM script’s module folder and enable the payment method.
  3. API Library: Include the PHP file and follow the integration examples above.

All modules are open‑source and require a valid license key to operate.

How to Add the Module to Your Website

Adding Binance Pay auto‑verification to your SMM script or any PHP website is straightforward. Follow these steps:

  1. Purchase a plan from your dashboard and obtain a license key.
  2. Configure Binance credentials for that plan (API key, secret, email/ID, QR code, currency).
  3. Embed the license key in your website’s admin panel.
  4. Write a small integration using one of the examples above:
    • Fetch credentials using the license key when a user initiates a payment.
    • Display the payment details (Binance ID, QR, amount) in a modal/popup on your site.
    • After the user sends the payment, ask for the Order ID and call /api/verify-payment to confirm.
  5. That’s it – your customers will now see the Binance Pay modal and payments will be verified automatically.

Important: Your callback URL (if you use one) must be publicly accessible and should expect POST parameters: payment_id, order_id, status, and message.

Error Codes & Common Issues

Error MessageLikely CauseSolution
Invalid or expired license keyIncorrect or deactivated keyCheck dashboard for correct key
Plan expired or inactivePlan has expiredRenew your plan
Binance credentials not configuredAPI keys missingAdd Binance credentials in plan settings
Order ID already usedDuplicate Order IDUse a unique Order ID
Amount mismatchAmount doesn't matchDouble‑check the amount
Order ID too oldTransaction is older than time limitUse a recent transaction

Testing

You can test your integration by making a small payment using the Binance Pay sandbox or a real wallet. The API will return success: true only if the Order ID is valid and matches all criteria.

If you encounter issues, check your Binance API credentials and ensure your server can connect to the Binance API (port 443).