Make Payment
curl --request POST \
--url https://mobiska-api.stimuluzdev.com/make_payment \
--header 'Content-Type: application/json' \
--data '
{
"service_id": 123,
"reference": "<string>",
"nickname": "<string>",
"transaction_id": "<string>",
"trans_type": "<string>",
"customer_number": "<string>",
"nw": "<string>",
"amount": 123,
"payment_option": "<string>",
"callback_url": "<string>",
"currency_code": "<string>"
}
'import requests
url = "https://mobiska-api.stimuluzdev.com/make_payment"
payload = {
"service_id": 123,
"reference": "<string>",
"nickname": "<string>",
"transaction_id": "<string>",
"trans_type": "<string>",
"customer_number": "<string>",
"nw": "<string>",
"amount": 123,
"payment_option": "<string>",
"callback_url": "<string>",
"currency_code": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
service_id: 123,
reference: '<string>',
nickname: '<string>',
transaction_id: '<string>',
trans_type: '<string>',
customer_number: '<string>',
nw: '<string>',
amount: 123,
payment_option: '<string>',
callback_url: '<string>',
currency_code: '<string>'
})
};
fetch('https://mobiska-api.stimuluzdev.com/make_payment', 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://mobiska-api.stimuluzdev.com/make_payment",
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([
'service_id' => 123,
'reference' => '<string>',
'nickname' => '<string>',
'transaction_id' => '<string>',
'trans_type' => '<string>',
'customer_number' => '<string>',
'nw' => '<string>',
'amount' => 123,
'payment_option' => '<string>',
'callback_url' => '<string>',
'currency_code' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://mobiska-api.stimuluzdev.com/make_payment"
payload := strings.NewReader("{\n \"service_id\": 123,\n \"reference\": \"<string>\",\n \"nickname\": \"<string>\",\n \"transaction_id\": \"<string>\",\n \"trans_type\": \"<string>\",\n \"customer_number\": \"<string>\",\n \"nw\": \"<string>\",\n \"amount\": 123,\n \"payment_option\": \"<string>\",\n \"callback_url\": \"<string>\",\n \"currency_code\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://mobiska-api.stimuluzdev.com/make_payment")
.header("Content-Type", "application/json")
.body("{\n \"service_id\": 123,\n \"reference\": \"<string>\",\n \"nickname\": \"<string>\",\n \"transaction_id\": \"<string>\",\n \"trans_type\": \"<string>\",\n \"customer_number\": \"<string>\",\n \"nw\": \"<string>\",\n \"amount\": 123,\n \"payment_option\": \"<string>\",\n \"callback_url\": \"<string>\",\n \"currency_code\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mobiska-api.stimuluzdev.com/make_payment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"service_id\": 123,\n \"reference\": \"<string>\",\n \"nickname\": \"<string>\",\n \"transaction_id\": \"<string>\",\n \"trans_type\": \"<string>\",\n \"customer_number\": \"<string>\",\n \"nw\": \"<string>\",\n \"amount\": 123,\n \"payment_option\": \"<string>\",\n \"callback_url\": \"<string>\",\n \"currency_code\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"response_code": "<string>",
"response_message": "<string>"
}Payment APIs
Make Payment
Process a payment transaction
POST
/
make_payment
Make Payment
curl --request POST \
--url https://mobiska-api.stimuluzdev.com/make_payment \
--header 'Content-Type: application/json' \
--data '
{
"service_id": 123,
"reference": "<string>",
"nickname": "<string>",
"transaction_id": "<string>",
"trans_type": "<string>",
"customer_number": "<string>",
"nw": "<string>",
"amount": 123,
"payment_option": "<string>",
"callback_url": "<string>",
"currency_code": "<string>"
}
'import requests
url = "https://mobiska-api.stimuluzdev.com/make_payment"
payload = {
"service_id": 123,
"reference": "<string>",
"nickname": "<string>",
"transaction_id": "<string>",
"trans_type": "<string>",
"customer_number": "<string>",
"nw": "<string>",
"amount": 123,
"payment_option": "<string>",
"callback_url": "<string>",
"currency_code": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
service_id: 123,
reference: '<string>',
nickname: '<string>',
transaction_id: '<string>',
trans_type: '<string>',
customer_number: '<string>',
nw: '<string>',
amount: 123,
payment_option: '<string>',
callback_url: '<string>',
currency_code: '<string>'
})
};
fetch('https://mobiska-api.stimuluzdev.com/make_payment', 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://mobiska-api.stimuluzdev.com/make_payment",
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([
'service_id' => 123,
'reference' => '<string>',
'nickname' => '<string>',
'transaction_id' => '<string>',
'trans_type' => '<string>',
'customer_number' => '<string>',
'nw' => '<string>',
'amount' => 123,
'payment_option' => '<string>',
'callback_url' => '<string>',
'currency_code' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://mobiska-api.stimuluzdev.com/make_payment"
payload := strings.NewReader("{\n \"service_id\": 123,\n \"reference\": \"<string>\",\n \"nickname\": \"<string>\",\n \"transaction_id\": \"<string>\",\n \"trans_type\": \"<string>\",\n \"customer_number\": \"<string>\",\n \"nw\": \"<string>\",\n \"amount\": 123,\n \"payment_option\": \"<string>\",\n \"callback_url\": \"<string>\",\n \"currency_code\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://mobiska-api.stimuluzdev.com/make_payment")
.header("Content-Type", "application/json")
.body("{\n \"service_id\": 123,\n \"reference\": \"<string>\",\n \"nickname\": \"<string>\",\n \"transaction_id\": \"<string>\",\n \"trans_type\": \"<string>\",\n \"customer_number\": \"<string>\",\n \"nw\": \"<string>\",\n \"amount\": 123,\n \"payment_option\": \"<string>\",\n \"callback_url\": \"<string>\",\n \"currency_code\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mobiska-api.stimuluzdev.com/make_payment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"service_id\": 123,\n \"reference\": \"<string>\",\n \"nickname\": \"<string>\",\n \"transaction_id\": \"<string>\",\n \"trans_type\": \"<string>\",\n \"customer_number\": \"<string>\",\n \"nw\": \"<string>\",\n \"amount\": 123,\n \"payment_option\": \"<string>\",\n \"callback_url\": \"<string>\",\n \"currency_code\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"response_code": "<string>",
"response_message": "<string>"
}Process a payment transaction using mobile money, cards, or hosted checkout.
Authentication
All requests must include Basic Authentication header. See Authentication for more details.Authorization: Basic YOUR_ENCODED_API_KEYS
Example Request
curl -X POST https://mobiska-api.stimuluzdev.com/make_payment \
-H "Authorization: Basic YOUR_ENCODED_API_KEYS" \
-H "Content-Type: application/json" \
-d '{
"service_id": 2,
"reference": "Payment on PasquoAI",
"nickname": "PasquoAI",
"transaction_id": "5",
"trans_type": "CTM",
"customer_number": "0541840988",
"nw": "MTN",
"amount": 1,
"payment_option": "MOM",
"callback_url": "https://your-callback-url.com/webhook",
"currency_code": "GHS",
"currency_val": 1,
"request_time": "2025-01-30T16:31:56Z"
}'
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mobiska-api.stimuluzdev.com/make_payment",
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([
"service_id" => 2,
"reference" => "Payment on PasquoAI",
"nickname" => "PasquoAI",
"transaction_id" => "5",
"trans_type" => "CTM",
"customer_number" => "0541840988",
"nw" => "MTN",
"amount" => 1,
"payment_option" => "MOM",
"callback_url" => "https://your-callback-url.com/webhook",
"currency_code" => "GHS",
"currency_val" => 1,
"request_time" => "2025-01-30T16:31:56Z"
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic YOUR_ENCODED_API_KEYS",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import requests
import base64
# Your API credentials
username = "YOUR_USERNAME"
password = "YOUR_PASSWORD"
# Create Basic Auth header
credentials = base64.b64encode(f"{username}:{password}".encode()).decode()
headers = {
"Authorization": f"Basic {credentials}",
"Content-Type": "application/json"
}
payload = {
"service_id": 2,
"reference": "Payment on PasquoAI",
"nickname": "PasquoAI",
"transaction_id": "5",
"trans_type": "CTM",
"customer_number": "0541840988",
"nw": "MTN",
"amount": 1,
"payment_option": "MOM",
"callback_url": "https://your-callback-url.com/webhook",
"currency_code": "GHS",
"currency_val": 1,
"request_time": "2025-01-30T16:31:56Z"
}
response = requests.post(
"https://mobiska-api.stimuluzdev.com/make_payment",
headers=headers,
json=payload
)
print(response.json())
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://mobiska-api.stimuluzdev.com/make_payment"
payload := `{
"service_id": 2,
"reference": "Payment on PasquoAI",
"nickname": "PasquoAI",
"transaction_id": "5",
"trans_type": "CTM",
"customer_number": "0541840988",
"nw": "MTN",
"amount": 1,
"payment_option": "MOM",
"callback_url": "https://your-callback-url.com/webhook",
"currency_code": "GHS",
"currency_val": 1,
"request_time": "2025-01-30T16:31:56Z"
}`
req, _ := http.NewRequest("POST", url, strings.NewReader(payload))
req.Header.Add("Authorization", "Basic YOUR_ENCODED_API_KEYS")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
public class MakePayment {
public static void main(String[] args) {
try {
HttpResponse<String> response = Unirest.post("https://mobiska-api.stimuluzdev.com/make_payment")
.header("Authorization", "Basic YOUR_ENCODED_API_KEYS")
.header("Content-Type", "application/json")
.body("{\n" +
" \"service_id\": 2,\n" +
" \"reference\": \"Payment on PasquoAI\",\n" +
" \"nickname\": \"PasquoAI\",\n" +
" \"transaction_id\": \"5\",\n" +
" \"trans_type\": \"CTM\",\n" +
" \"customer_number\": \"0541840988\",\n" +
" \"nw\": \"MTN\",\n" +
" \"amount\": 1,\n" +
" \"payment_option\": \"MOM\",\n" +
" \"callback_url\": \"https://your-callback-url.com/webhook\",\n" +
" \"currency_code\": \"GHS\",\n" +
" \"currency_val\": 1,\n" +
" \"request_time\": \"2025-01-30T16:31:56Z\"\n" +
"}")
.asString();
System.out.println(response.getBody());
} catch(Exception e) {
e.printStackTrace();
}
}
}
const makePayment = async () => {
// Your API credentials
const username = 'YOUR_USERNAME';
const password = 'YOUR_PASSWORD';
// Create Basic Auth header
const credentials = Buffer.from(`${username}:${password}`).toString('base64');
const response = await fetch('https://mobiska-api.stimuluzdev.com/make_payment', {
method: 'POST',
headers: {
'Authorization': `Basic ${credentials}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
service_id: 2,
reference: "Payment on PasquoAI",
nickname: "PasquoAI",
transaction_id: "5",
trans_type: "CTM",
customer_number: "0541840988",
nw: "MTN",
amount: 1,
payment_option: "MOM",
callback_url: "https://your-callback-url.com/webhook",
currency_code: "GHS",
currency_val: 1,
request_time: "2025-01-30T16:31:56Z"
})
});
const data = await response.json();
console.log(data);
};
Request Body
integer
required
Your service identifier
string
required
Payment description or reference
string
required
Merchant name or identifier
string
required
Unique transaction identifier
string
required
Transaction type (e.g., “CTM” for customer to merchant)
string
required
Customer’s phone number
string
required
Network provider code:
- MTN: MTN Mobile Money
- VOD: Vodafone Cash
- AIR: AirtelTigo Money
- VIS: Visa Card
- MAS: Mastercard
number
required
Transaction amount
string
required
Payment method:
- MOM: Mobile Money
- CRD: Bank Cards
- CRM: Hosted Checkout (Mobile Money and Cards)
string
required
URL to receive transaction status updates
string
required
Three-letter currency code (e.g., “GHS”)
Response
string
Status code of the request
string
Human-readable status message
{
"response_message": "Request successfully received for processing",
"response_code": "202"
}
⌘I