Payments

Trigger Push Payment

Retry or trigger a USSD push notification for pending payments

Trigger or retry a USSD push notification for a pending payment. Use this when the customer missed the initial push or it timed out.


Trigger Push

POST /v1/payments/{reference}/push
Authorization: Bearer <api_key>
Content-Type: application/json

Path Parameter

ParameterTypeDescription
referencestringPayment reference or payment token (from QR)

Request Body (Optional)

{
  "phone": "+255712345678"
}
FieldTypeRequiredDescription
phonestringNoPhone number to send push to (defaults to original payer phone)

Response

{
  "status": 200,
  "message": "USSD push sent successfully",
  "data": {
    "reference": "pi_a1b2c3d4e5f6",
    "external_reference": "SEL123456789",
    "status": "pending",
    "phone": "+255712345678"
  }
}

Error Responses

StatusCodeDescription
400invalid_requestPayment is not in pending status
403forbiddenPayment doesn't belong to your account
404not_foundPayment not found

Examples

Retry push by reference

curl -X POST https://api.snippe.sh/v1/payments/pi_a1b2c3d4e5f6/push \
  -H "Authorization: Bearer sk_live_xxx"

Trigger push for QR payment using payment token

curl -X POST https://api.snippe.sh/v1/payments/63877176/push \
  -H "Authorization: Bearer sk_live_xxx"

Send push to different phone number

curl -X POST https://api.snippe.sh/v1/payments/pi_a1b2c3d4e5f6/push \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+255787654321"}'

On this page