Payments
Pay-as-you-go credit top-ups via vouchers. Check the rate first, then create a voucher in TZS; credits are computed server-side.
rate = client.payments.rate()
print(rate.min_amount_tzs, [(t.max_amount_tzs, t.rate_tzs_per_credit) for t in rate.tiers])
payment = client.payments.create(
amount=10000, # TZS — converted to credits server-side
provider="snippe", # or "manual"
phone="0712345678", # required for mobile-money providers
)
print(payment.id, payment.status, payment.credit_amount)POST /v1/vouchers/rate
POST /v1/vouchersDeclared-payer OTP flow
When the payer’s number differs from the account phone, verify it first:
client.payments.send_declared_phone_otp("0765432109")
client.payments.verify_declared_phone_otp("0765432109", "4921")| Method | Endpoint |
|---|---|
payments.rate() | GET /vouchers/rate |
payments.create(amount, provider, ...) | POST /vouchers |
payments.send_declared_phone_otp(phone) | POST /vouchers/otp/send |
payments.verify_declared_phone_otp(phone, otp) | POST /vouchers/otp/verify |
See Payments & Vouchers for the full contract.
Last updated on