Make an STK Push Prompt to the Payer`s phone number.
JavaScript Python Ruby Java PHP Curl
Copy const axios = require('axios');
const data = {
amount: 1,
phone: "254722000000",
username: "username"
};
const config = {
headers: {
'Content-Type': 'application/json',
'Authorization': 'secret_key'
}
};
axios.post('https://api.rotsi.co.ke/payments/stkPush/v1', data, config)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
Copy import requests
url = "https://api.rotsi.co.ke/payments/stkPush/v1"
headers = {
'Content-Type': 'application/json',
'Authorization': 'secret_key'
}
data = {
"amount": 1,
"phone": "254722000000",
"username": "username"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
Copy require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://api.rotsi.co.ke/payments/stkPush/v1")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request["Authorization"] = "secret_key"
request.body = JSON.dump({
"amount" => 1,
"phone" => "254722000000",
"username" => "username"
})
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body
Copy import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class ApiRequest {
public static void main(String[] args) {
try {
URL url = new URL("https://api.rotsi.co.ke/payments/stkPush/v1");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Authorization", "secret_key");
connection.setDoOutput(true);
String jsonInputString = "{\"amount\": 1, \"phone\": \"254722000000\", \"username\": \"username\"}";
try(OutputStream os = connection.getOutputStream()) {
byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
}
int code = connection.getResponseCode();
System.out.println("Response Code: " + code);
// Read response if needed
} catch (Exception e) {
e.printStackTrace();
}
}
}
Copy <?php
$url = "https://api.rotsi.co.ke/payments/stkPush/v1";
$data = array(
"amount" => 10
"username" => "username",
"phone" => "254722000000"
);
$headers = array(
'Content-Type: application/json',
'Authorization: secret_key'
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);
?>
Copy curl -X POST \
https://api.rotsi.co.ke/payments/stkPush/v1 \
-H 'Content-Type: application/json' \
-H 'Authorization: secret_key' \
-d '{
"amount": 1,
"phone": "254722000000",
"username": "username"
}'
200 Pet successfully created 401 Permission denied
Copy {
"status": "Success",
"Service": "RotsiSTK",
"RotsiAPITransactionId": STK719hcbjh2,
"CustomerMessage": "The payment is successful"
}
Copy {
"status": "Failed",
"Service": "RotsiSTK",
"message": "Payment request cancelled by the user",
"RotsiAPITransactionId": STK719hcbjh2,
}