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.
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.
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.
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 | ||
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))
} { "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 |
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.
Always send webhook_url in the create payment request. When the payment completes, the gateway will call that webhook URL with transaction details.
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.
sb_test_sandbox_api_key_ignorepay Create a test payment immediately right from your browser.
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
Official WordPress / WooCommerce payment gateway extension. Supports auto-confirm & pending webhook.
Download PluginAutomate web hosting billing with instant payment verification for WHMCS v8.x.
Download ModuleGateway Android sync application for SMS forwarder & automatic payment matching.
Download APK