Skip to main content
POST
Request Mandate Approval
See the CRDB Direct Debit API overview for mandate status callbacks and payment webhooks. A CRDB debit account can have only one mandate at a time.

Authorizations

Authorization
string
header
required

Bearer token from Generate Authorization Token

Body

application/json
customer
object
required
phoneNumber
string
required

Customer's SimBanking-registered phone number for the debit account. 12 digits, starts with country code, no plus sign.

Example:

"255754712650"

debitAccount
string
required

CRDB account number to debit

Example:

"0152590146100"

startDate
string
required

Mandate start date (DD-MM-YYYY or YYYY-MM-DD)

Example:

"10-12-2025"

endDate
string
required

Mandate end date (DD-MM-YYYY or YYYY-MM-DD)

Example:

"30-12-2025"

frequencyType
enum<string>
required

Installment frequency type

Available options:
DAILY,
WEEKLY,
MONTHLY,
YEARLY
installmentAmount
number
required

Amount to debit per installment (must be positive)

Example:

2500

mandateCallbackUrl
string<uri>
required

URL where mandate status callbacks (ACTIVE, REJECTED, CANCELLED) will be sent

Example:

"https://your-system.com/webhooks/crdb-mandate-status"

frequency
number

Frequency multiplier (default: 1). Example: frequencyType=WEEKLY, frequency=2 means every 2 weeks

Example:

2

billDetails
string

Optional description of the bill or mandate

Example:

"Loan No. 233422 from Inc."

Response

Mandate request accepted

mandateRequestId
string

Unique identifier for the mandate request

mandateStatus
string

Current status of the mandate (typically REQUESTED)

paymentsTotalAmount
number

Total amount scheduled over the mandate period

paymentsInstallments
number

Total number of installments scheduled