Mobile money collection webhook
This event notifies you about the status of a collection (funding) transaction. Collections follow a lifecycle with different states:collection.initiated, collection.processing, collection.completed, and collection.failed.
- Initiated: The request has been successfully sent to the provider.
- Processing: The customer has been notified and we are awaiting authorization.
- Completed: The funds have been successfully collected and added to the wallet.
- Failed: The collection could not be completed.
Sample Payloads
collection.initiated
collection.initiated
collection.completed
collection.completed
Payload Breakdown
| Field | Type | Description |
|---|---|---|
event | string | The name of the event that occurred (e.g., “collection.completed”). |
data.id | string | Unique identifier for the transaction. |
data.referenceNumber | string | Unique reference number assigned to the transaction. |
data.amount | string | The total gross amount of the transaction. |
data.paymentMethod | string | The method used for payment (e.g., MOBILE_MONEY). |
data.settlementAmount | string | The final amount settled after deducting all fees. |
data.type | string | The type of transaction (e.g., “FUNDING”). |
data.state | string | The final state of the transaction (e.g., “COMPLETED”). |
data.destination | string | The destination of the funds (e.g., “RW wallet”). |
data.source.provider | string | The mobile money operator (e.g., “MTN_MOMO_RWA”). |
data.source.accountNumber | string | The customer phone number or account identifier. |
data.fee.vat | string | The Value Added Tax portion of the fee. |
data.fee.stampDuty | string | The stamp duty portion of the fee. |
data.fee.base | string | The base fee for the transaction. |
data.created | string | ISO 8601 timestamp of when the transaction was created. |
data.processed | string | ISO 8601 timestamp of when the transaction was processed. |
Momo Collections Webhook
Payload Breakdown
| Field | Type | Description |
|---|---|---|
message | string | The message returned by the API. |
status | string | The status of the request. |
data | object | The data returned by the API. |
data.id | string | The ID of the webhook event. |
data.name | string | The name of the webhook event. |
data.mode | string | The mode of the webhook event. |
data.state | string | The state of the webhook event. |
data.notification | object | The notification details of the webhook event. |
data.notification.url | string | The URL of the webhook event. |
data.response | object | The response details of the webhook event. |
data.response.duration | string | The duration of the webhook event. |
data.response.code | string | The response code of the webhook event. |
data.payload | object | The payload of the webhook event. |
data.payload.event | string | The event name of the webhook event. |
data.payload.data | object | The data of the webhook event. |
data.payload.data.id | string | The ID of the webhook event. |
data.payload.data.referenceNumber | string | The reference number of the webhook event. |
data.payload.data.amount | string | The amount of the webhook event. |
data.payload.data.settlementAmount | string | The settlement amount of the webhook event. |
data.payload.data.type | string | The type of the webhook event. |
data.payload.data.state | string | The state of the webhook event. |
data.payload.data.paymentMethod | string | The payment method of the webhook event. |
data.payload.data.destination | string | The destination of the webhook event. |
data.payload.data.source | object | The source of the webhook event. |
data.payload.data.source.bankName | string | The bank name of the webhook event. |
data.payload.data.source.accountName | string | The account name of the webhook event. |
data.payload.data.source.accountNumber | string | The account number of the webhook event. |
data.payload.data.source.provider | string | The provider of the webhook event. |
data.payload.data.fee | object | The fee of the webhook event. |
data.payload.data.fee.vat | string | The VAT of the webhook event. |
data.payload.data.fee.stampDuty | string | The stamp duty of the webhook event. |
data.payload.data.fee.base | string | The base fee of the webhook event. |
data.payload.data.created | string | The created timestamp of the webhook event. |
data.payload.data.processed | string | The processed timestamp of the webhook event. |
data.created | string | The created timestamp of the webhook event. |
data.processed | string | The processed timestamp of the webhook event. |

