curl --request POST \
--url https://hpay-api.host-sl.com/api/v1/testing/simulate-monime-webhook \
--header 'api-key: YOUR_API_KEY' \
--header 'secret-key: YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transaction_id": "b1f2c3d4-...",
"status": "successful"
}'
from hostpay import HostPay
client = HostPay(api_key="YOUR_API_KEY", secret_key="YOUR_SECRET_KEY")
client.testing.simulate_monime_webhook("b1f2c3d4-...") # or status="failed"
import { HostPay } from "@hostpay/sdk";
const client = new HostPay({ apiKey: "YOUR_API_KEY", secretKey: "YOUR_SECRET_KEY" });
await client.testing.simulateMonimeWebhook({ transactionId: "b1f2c3d4-..." });
{
"message": "Webhook simulation processed",
"transaction_id": "b1f2c3d4-...",
"status": "completed"
}
{
"detail": "This endpoint is only available in Test Mode"
}
{
"detail": "Transaction not found"
}
Testing
Simulate Mobile Money Webhook
Complete or fail a pending Test Mode mobile-money deposit.
POST
/
api
/
v1
/
testing
/
simulate-monime-webhook
curl --request POST \
--url https://hpay-api.host-sl.com/api/v1/testing/simulate-monime-webhook \
--header 'api-key: YOUR_API_KEY' \
--header 'secret-key: YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transaction_id": "b1f2c3d4-...",
"status": "successful"
}'
from hostpay import HostPay
client = HostPay(api_key="YOUR_API_KEY", secret_key="YOUR_SECRET_KEY")
client.testing.simulate_monime_webhook("b1f2c3d4-...") # or status="failed"
import { HostPay } from "@hostpay/sdk";
const client = new HostPay({ apiKey: "YOUR_API_KEY", secretKey: "YOUR_SECRET_KEY" });
await client.testing.simulateMonimeWebhook({ transactionId: "b1f2c3d4-..." });
{
"message": "Webhook simulation processed",
"transaction_id": "b1f2c3d4-...",
"status": "completed"
}
{
"detail": "This endpoint is only available in Test Mode"
}
{
"detail": "Transaction not found"
}
Simulates the Monime provider webhook so a pending Test Mode deposit completes (or fails) without a real mobile-money payment. This is how you drive the deposit lifecycle end-to-end in the sandbox — see the testing guide.
Test Mode only. Calling this with Live Mode credentials returns
403.Request Body
string
required
The ID of the pending deposit transaction to complete or fail.
string
default:"successful"
The outcome to simulate:
successful or failed.Response
{
"message": "Webhook simulation processed",
"transaction_id": "b1f2c3d4-...",
"status": "completed"
}
{
"detail": "This endpoint is only available in Test Mode"
}
{
"detail": "Transaction not found"
}
curl --request POST \
--url https://hpay-api.host-sl.com/api/v1/testing/simulate-monime-webhook \
--header 'api-key: YOUR_API_KEY' \
--header 'secret-key: YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transaction_id": "b1f2c3d4-...",
"status": "successful"
}'
from hostpay import HostPay
client = HostPay(api_key="YOUR_API_KEY", secret_key="YOUR_SECRET_KEY")
client.testing.simulate_monime_webhook("b1f2c3d4-...") # or status="failed"
import { HostPay } from "@hostpay/sdk";
const client = new HostPay({ apiKey: "YOUR_API_KEY", secretKey: "YOUR_SECRET_KEY" });
await client.testing.simulateMonimeWebhook({ transactionId: "b1f2c3d4-..." });