Skip to Content
SDKsPythonPayments

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/vouchers

Declared-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")
MethodEndpoint
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