API v1.0  ยท  Last updated 2026-08-25

Welcome to Ignore Pay API

Ignore Pay is a simple, secure payment automation tool โ€” integrate once, accept payments from your customers everywhere, instantly.

Secure & Verified
Domain verification and intelligent amount checking.
Clean REST API
JSON in/out, simple to integrate in any stack.
Free Sandbox
Unrestricted domain testing on localhost & staging.

API Introduction

Ignore Pay Payment Gateway enables merchants to receive money from customers by temporarily redirecting them to our secure gateway. The gateway connects card systems, mobile financial services, and local wallets. After payment, the customer is returned to your site with full transaction details.

API Operation

Use HTTPS POST requests to the endpoints below. Your server must support cURL. Authentication uses only your API-KEY obtained from the Brands section of your dashboard.

Create Payment
POST https://pay.new-api-bazar.site/api/payment/create
Verify Payment
POST https://pay.new-api-bazar.site/api/payment/verify
Parameter Details
POST Create Payment โ€” Request Body
FieldDescription Required Example
cus_nameCustomer full nameYesJohn Doe
cus_emailCustomer email addressYes[email protected]
amountTotal amount payable.Yes10 / 10.50
success_urlRedirect URL after successful payment. (Must belong to registered domain in live mode; unrestricted in sandbox)Yesyourdomain.com/success
cancel_urlRedirect URL if payment is cancelled.Yesyourdomain.com/cancel
webhook_urlServer-to-server callback URL for payment notifications.Noyourdomain.com/webhook
metadataAny extra JSON-formatted data to attach to the transaction.No{"uid":"123"}
POST Verify Payment โ€” Request Body
FieldDescription Required Example
transaction_idTransaction ID received via query parameter on your success URL after payment completes.YesOVKPXW165414
Request Headers
Authentication: Only your API-KEY is needed. Obtain it from your merchant dashboard under Brands, or use the Universal Sandbox Key for local development.
HeaderValueRequired
Content-Type application/json Yes
API-KEY Your Brand Key from merchant dashboard, or sb_test_sandbox_api_key_ignorepay for Sandbox testing. Yes
โœ“ Success / Cancel URL โ€” Callback Query Parameters
yourdomain.com/success?transactionId=XXXX&paymentMethod=bkash&paymentAmount=10.00&paymentFee=0.50&status=completed

Integration

Integrate Ignore Pay into any platform โ€” PHP, Laravel, Node.js, Python, or any HTTP-capable environment.

Create Payment โ€” Code Examples

POST to the create endpoint with your customer details, amount, and redirect URLs. Pass your API-KEY as a request header. On success you receive a payment_url โ€” redirect your customer there.

 <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://pay.new-api-bazar.site/api/payment/create', 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 =>'{"success_url":"yourdomain.com/success","cancel_url":"yourdomain.com/cancel","webhook_url":"yourdomain.com/payment-webhook","metadata":{"phone":"016****"},"amount":"10"}', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'API-KEY: YourBrandKeyHere' ), )); $response = curl_exec($curl); curl_close($curl); echo $response; ?> 
 <?php $client = new Client(); $headers = [ 'Content-Type' => 'application/json', 'API-KEY' => 'YourBrandKeyHere' ]; $body = '{ "success_url": "yourdomain.com/success", "cancel_url": "yourdomain.com/cancel", "webhook_url": "yourdomain.com/payment-webhook", "metadata": { "phone": "016****" }, "amount": "10" }'; $request = new Request('POST', 'https://pay.new-api-bazar.site/api/payment/create', $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getBody(); ?> 
 const axios = require('axios'); let data = JSON.stringify({ "success_url": "yourdomain.com/success", "cancel_url": "yourdomain.com/cancel", "webhook_url": "yourdomain.com/payment-webhook", "metadata": { "phone": "016****" }, "amount": "10" }); let config = { method: 'post', maxBodyLength: Infinity, url: 'https://pay.new-api-bazar.site/api/payment/create', headers: { 'Content-Type': 'application/json', 'API-KEY': 'YourBrandKeyHere' }, data : data }; axios.request(config) .then((response) => { console.log(JSON.stringify(response.data)); }) .catch((error) => { console.log(error); }); 
 import requests import json url = "https://pay.new-api-bazar.site/api/payment/create" payload = json.dumps({ "success_url": "yourdomain.com/success", "cancel_url": "yourdomain.com/cancel", "webhook_url": "yourdomain.com/payment-webhook", "metadata": { "phone": "016****" }, "amount": "10" }) headers = { 'Content-Type': 'application/json', 'API-KEY': 'YourBrandKeyHere' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text) 
 package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://pay.new-api-bazar.site/api/payment/create" method := "POST" payload := strings.NewReader(`{"success_url":"yourdomain.com/success","cancel_url":"yourdomain.com/cancel","webhook_url":"yourdomain.com/payment-webhook","metadata":{"phone":"01521412457"},"amount":"10"}`) client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("Content-Type", "application/json") req.Header.Add("API-KEY", "YourBrandKeyHere") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) } 

Response Details

Field Name Type Description
Success Response
status bool TRUE
message String Message for Status
payment_url String Payment Link (where customers will complete their payment)
transaction_id String Gateway transaction ID. Store this in your order table so webhook and late approval can update the same order later.
Error Response
status bool FALSE
message String Message associated with the error response
Completing Payment Page task you will be redirected to success or cancel page based on transaction status with the following Query Parameters: yourdomain.com/(success/cancel)?transactionId=******&paymentMethod=***&paymentAmount=**.**&paymentFee=**.**&status=pending or success or failed
Verify Payment โ€” Code Examples

After the customer returns to your success_url, use the transactionId query param to verify the transaction server-side.

<?php
$curl = curl_init();
curl_setopt_array($curl, array( CURLOPT_URL => 'https://pay.new-api-bazar.site/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 =>'{"transaction_id":"ABCDEFH"}', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'API-KEY: YourBrandKeyHere' ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?> 
<?php
$client = new Client();
$headers = [ 'Content-Type' => 'application/json', 'API-KEY' => 'YourBrandKeyHere'
];
$body = '{ "transaction_id": "ABCDEFH"
}';
$request = new Request('POST', 'https://pay.new-api-bazar.site/api/payment/verify', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?> 
const axios = require('axios');
let data = JSON.stringify({ "transaction_id": "ABCDEFH"
});
let config = { method: 'post', maxBodyLength: Infinity, url: 'https://pay.new-api-bazar.site/api/payment/verify', headers: { 'Content-Type': 'application/json', 'API-KEY': 'YourBrandKeyHere' }, data : data
};
axios.request(config)
.then((response) => { console.log(JSON.stringify(response.data));
})
.catch((error) => { console.log(error);
}); 
import http.client
import json
conn = http.client.HTTPSConnection("local.pay.expensivepay.com")
payload = json.dumps({ "transaction_id": "ABCDEFH"
})
headers = { 'Content-Type': 'application/json', 'API-KEY': 'YourBrandKeyHere'
}
conn.request("POST", "/api/payment/verify", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8")) 
package main
import ( "fmt" "strings" "net/http" "io/ioutil"
)
func main() { url := "https://pay.new-api-bazar.site/api/payment/verify" method := "POST" payload := strings.NewReader(`{"transaction_id":"ABCDEFH"}`) client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("Content-Type", "application/json") req.Header.Add("API-KEY", "YourBrandKeyHere") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body))
} 
Sample Response
{ "cus_name": "John Doe", "cus_email": "[email protected]", "amount": "900.000", "transaction_id": "OVKPXW165414", "metadata": { "phone": "015****", }, "payment_method": "bkash", "status": "COMPLETED"
} 

Response Details

Field Name Type Description
Success Response
status string COMPLETED or PENDING or ERROR
cus_name String Customer Name
cus_email String Customer Email
amount String Amount
transaction_id String Transaction id Generated by System
metadata json Metadata used for Payment creation
Error Response
status bool FALSE
message String Message associated with the error response
Pending Payments & Late Approval

Mobile banking SMS can arrive late. When that happens the payment may stay PENDING. Your website should save the order as pending first, then mark it paid later when the gateway approves the payment.

Status mapping for your website
Gateway statusYour website actionWhen it happens
COMPLETED or webhook completedMark local order/invoice as paid.Payment matched or manually approved.
PENDINGKeep local order pending.SMS not received yet, manual review requested, or waiting for approval.
ERROR or webhook failedMark failed/cancelled, or let customer retry.Payment rejected, duplicate, expired, or invalid.

Always send webhook_url in the create payment request. When the payment completes, the gateway will call that webhook URL with transaction details.

๐Ÿงช Free Sandbox Test Environment
FREE FOR DEVELOPERS

Test your integration seamlessly on localhost, staging, or any development domain without domain restrictions or real money. Anyone can test immediately without registration or buying a subscription plan.

๐ŸŒ
No Domain Limit
Works on localhost, 127.0.0.1, any port, or any domain.
โšก
1-Click Simulation
Simulate instant success or cancellation on checkout.
๐Ÿ”—
Webhook & Verify
Test complete payment verification and webhooks.
Universal Sandbox API Key
Ready to Use
sb_test_sandbox_api_key_ignorepay
๐Ÿš€ Try Sandbox Live Tester

Create a test payment immediately right from your browser.

cURL Example (Sandbox)
curl -X POST "https://pay.new-api-bazar.site/api/payment/create" \ -H "Content-Type: application/json" \ -H "API-KEY: sb_test_sandbox_api_key_ignorepay" \ -d '{ "amount": "500", "cus_name": "Test User", "cus_email": "[email protected]", "success_url": "http://localhost:3000/payment/success", "cancel_url": "http://localhost:3000/payment/cancel", "webhook_url": "http://localhost:3000/payment/webhook" }'

Plugins & Modules

๐Ÿ›๏ธ
WooCommerce Plugin

Official WordPress / WooCommerce payment gateway extension. Supports auto-confirm & pending webhook.

Download Plugin
๐Ÿ–ฅ๏ธ
WHMCS Payment Gateway

Automate web hosting billing with instant payment verification for WHMCS v8.x.

Download Module
๐Ÿ“Š
SMM Panel Module

Compatible with SmartPanel, RentalPanel, and PerfectPanel scripts.

Download Module
๐Ÿ“ฑ
Mobile App (APK)

Gateway Android sync application for SMS forwarder & automatic payment matching.

Download APK