cURL
curl -X POST "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add" \
--header "Authorization: Bearer your-jwt-token" \
--header "Content-Type: application/json" \
--header "Accept-Language: en" \
-d '{
"merchantAccountNumber": 35253486,
"eventCode": "payment.success",
"callbackUrl": "https://merchant.example.com/webhooks/payment",
"capturedBy": "johndoe@example.com"
}'import requests
url = "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add"
payload = {
"merchantAccountNumber": 35253486,
"eventCode": "payment.success",
"callbackUrl": "https://merchant.example.com/webhooks/payment",
"capturedBy": "johndoe@example.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchantAccountNumber: 35253486,
eventCode: 'payment.success',
callbackUrl: 'https://merchant.example.com/webhooks/payment',
capturedBy: 'johndoe@example.com'
})
};
fetch('https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'merchantAccountNumber' => 35253486,
'eventCode' => 'payment.success',
'callbackUrl' => 'https://merchant.example.com/webhooks/payment',
'capturedBy' => 'johndoe@example.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add"
payload := strings.NewReader("{\n \"merchantAccountNumber\": 35253486,\n \"eventCode\": \"payment.success\",\n \"callbackUrl\": \"https://merchant.example.com/webhooks/payment\",\n \"capturedBy\": \"johndoe@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchantAccountNumber\": 35253486,\n \"eventCode\": \"payment.success\",\n \"callbackUrl\": \"https://merchant.example.com/webhooks/payment\",\n \"capturedBy\": \"johndoe@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"merchantAccountNumber\": 35253486,\n \"eventCode\": \"payment.success\",\n \"callbackUrl\": \"https://merchant.example.com/webhooks/payment\",\n \"capturedBy\": \"johndoe@example.com\"\n}"
response = http.request(request)
puts response.read_body"Merchant webhook has been created successfully"Management
Add Webhook
This endpoint allows the merchants to create a new webhook to receive transaction notifications in the system.
POST
/
merchants
/
webhooks
/
add
cURL
curl -X POST "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add" \
--header "Authorization: Bearer your-jwt-token" \
--header "Content-Type: application/json" \
--header "Accept-Language: en" \
-d '{
"merchantAccountNumber": 35253486,
"eventCode": "payment.success",
"callbackUrl": "https://merchant.example.com/webhooks/payment",
"capturedBy": "johndoe@example.com"
}'import requests
url = "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add"
payload = {
"merchantAccountNumber": 35253486,
"eventCode": "payment.success",
"callbackUrl": "https://merchant.example.com/webhooks/payment",
"capturedBy": "johndoe@example.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchantAccountNumber: 35253486,
eventCode: 'payment.success',
callbackUrl: 'https://merchant.example.com/webhooks/payment',
capturedBy: 'johndoe@example.com'
})
};
fetch('https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'merchantAccountNumber' => 35253486,
'eventCode' => 'payment.success',
'callbackUrl' => 'https://merchant.example.com/webhooks/payment',
'capturedBy' => 'johndoe@example.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add"
payload := strings.NewReader("{\n \"merchantAccountNumber\": 35253486,\n \"eventCode\": \"payment.success\",\n \"callbackUrl\": \"https://merchant.example.com/webhooks/payment\",\n \"capturedBy\": \"johndoe@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchantAccountNumber\": 35253486,\n \"eventCode\": \"payment.success\",\n \"callbackUrl\": \"https://merchant.example.com/webhooks/payment\",\n \"capturedBy\": \"johndoe@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://dev.api.onekhusa.com/sandbox/v1/merchants/webhooks/add")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"merchantAccountNumber\": 35253486,\n \"eventCode\": \"payment.success\",\n \"callbackUrl\": \"https://merchant.example.com/webhooks/payment\",\n \"capturedBy\": \"johndoe@example.com\"\n}"
response = http.request(request)
puts response.read_body"Merchant webhook has been created successfully"Authorizations
Bearer authentication header of the form Bearer Token, Where accessToken is the access token used to authenticate the request.
Headers
Preferred language for the response
Body
application/json
The unique identifier of the merchant account
Required range:
10000000 <= x <= 99999999Example:
35253486
The event code to trigger the webhook (free-form string). See webhook events documentation for common codes.
Example:
"payment.success"
The URL that will receive webhook notifications (must be reachable)
Example:
"https://merchant.example.com/webhooks/payment"
Email address of the user creating the webhook
Example:
"johndoe@example.com"
Response
201 - application/json
Created - Webhook successfully created
Example:
"Merchant webhook has been created successfully"
βI