Validate a bill customer
Validates a meter, smartcard, internet account, or phone number with the selected provider before payment.
Validates a meter, smartcard, internet account, or phone number with the selected provider before payment.
x-api-key<token>Your API key: ck_test_... for test mode, ck_live_... for live. Send it with x-api-secret (or Authorization: Bearer ).
x-api-secret?stringRecommended: API secret sent over HTTPS. You may send it as Authorization: Bearer instead. If supplied, x-timestamp and x-signature are not required.
x-timestamp?stringLegacy signed mode: Unix time in milliseconds; maximum clock skew five minutes.
x-signature?stringLegacy signed mode: HMAC-SHA256(secret, timestamp.METHOD.url.idempotencyKey.bodyHash).
x-idempotency-key*string1–128 letters/digits or ._:-. Same key and payload replay for 24 hours; conflicting, in-flight, or expired keys return 409. Never change a key to retry an uncertain payment.
application/json- body
provider?string"VTPASS""VTPASS""FLUTTERWAVE"serviceCode*stringVTpass serviceID or Flutterwave biller_code.
productCode?stringVTpass variation/type or Flutterwave item_code.
customerId*stringMeter, smartcard, account, or phone number expected by the selected product.
application/json- response
provider*string"VTPASS""FLUTTERWAVE"valid*booleancustomerName?stringaddress?stringminimumAmountMinor?stringmaximumAmountMinor?stringmessage?stringcurl -X POST 'https://api.creddot.com/api/v1/bills/validate' \ -H 'x-idempotency-key: string' \ -H 'Content-Type: application/json' \ -d '{ "serviceCode": "ikeja-electric", "customerId": "1111111111111"}'{ "provider": "VTPASS", "valid": true, "customerName": "string", "address": "string", "minimumAmountMinor": "string", "maximumAmountMinor": "string", "message": "string"}Requery a pending bill payment POST
Checks the original provider only and finalizes reserved wallet funds when a definitive outcome is returned.
Create a hosted checkout session POST
Creates a single-use hosted checkout in the API key environment. Redirect the customer to checkoutUrl. Card details are collected only by Creddot checkout; they never pass through the merchant server.