Receive SEPA payments
Learn how to receive SEPA payments with Mambu Payments (formerly Numeral)
Payments received with Mambu Payments are represented as incoming payments. Mambu Payments receives incoming payment files, debatches them if applicable, parses them into individual incoming payments, and creates and sends events to your webhooks.
Receive SCT payment
When receiving an SCT payment, Mambu Payments creates an incoming payment and sends an event to an asynchronous webhook URL. No response is expected from customer.
sequenceDiagram participant Customer participant Numeral as Mambu Payments participant Partner bank as SEPA partner bank (if applicable) participant CSM as SEPA CSM CSM->>Partner bank: Forward pacs.008 message Partner bank->>Numeral: Forward pacs.008 message Numeral->>Numeral: Decrypt file and verify signature Numeral->>Numeral: Create incoming payment Numeral-->>Customer:Send incoming_payment.received event activate Customer Customer->>Customer: Check if beneficiary account exists<br>and is not blocked alt Payment can be credited Customer->>Customer: Credit payment else Payment cannot be credited Customer->>Customer: Return payment end deactivate Customer
Receive SCT Inst payment
When receiving an SCT Inst payment, Mambu Payments create an incoming payment and sends an event to a synchronous webhook URL dedicated to receiving instant payments. Customer must respond to this request with a positive or negative response within 3 seconds.
sequenceDiagram participant Customer participant Numeral as Mambu Payments participant Partner bank as SEPA partner bank (if applicable) participant CSM as SEPA CSM CSM->>Partner bank: Forward pacs.008 message Partner bank->>Numeral: Forward pacs.008 message Numeral->>Numeral: Decrypt file and verify signature Numeral->>Numeral: Create incoming payment Numeral-->>Customer:Send incoming_payment.pending_confirmation<br>event to synchrononous webhook activate Customer Customer->>Customer: Check if beneficiary account exists<br>and is not blocked alt Payment can be credited Customer->>Customer: Confirm and credit payment Customer->>Numeral: Send positive response<br>status = confirmed Numeral->>Partner bank: Generate and send pacs.002 ACCP Partner bank->>CSM: Forward pacs.002 ACCP else Payment cannot be credited Customer->>Customer: Reject payment Customer->>Numeral: Send negative response<br>status = rejected<br>reason = AC04 Numeral->>Partner bank: Generate and send pacs.002 RJCT Partner bank->>CSM: Forward pacs.002 RJCT end deactivate Customer
Below are request and response samples:
{
"id": "cb97daf4-d6b0-4e58-aa4a-25087ca526b2",
"object": "event",
"topic": "incoming_payment",
"type": "pending_confirmation",
"data": {
"id": "5019fceb-8114-556e-81a5-67ad3a64342a",
"status": "pending_confirmation",
"status_details": "",
"object": "incoming_payment",
"idempotency_key": "",
"type": "sepa_instant",
"direction": "credit",
"amount": 685,
"currency": "EUR",
"connected_account_id": "507f2821-240e-4c83-b441-5881a6f907d4",
"originating_account": {
"account_number": "FR7688511000011234567890107",
"bank_code": "BNPAFRPP",
"holder_name": "PartnerCo",
"holder_address": {
"line_1": "",
"line_2": "",
"building_number": "",
"street_name": "",
"postal_code": "",
"region_state": "",
"city": "Paris",
"country": "FR"
},
"creditor_identifier": ""
},
"receiving_account": {
"account_number": "FR7688511000011234567890107",
"bank_code": "SOGEFRPP",
"holder_name": "TechCo",
"holder_address": {
"line_1": "",
"line_2": "",
"building_number": "",
"street_name": "",
"postal_code": "",
"region_state": "",
"city": "Lyon",
"country": "FR"
}
},
"receiving_account_id": "",
"reference": "",
"metadata": {},
"direct_debit_mandate": null,
"direct_debit_mandate_id": "",
"value_date": "2025-11-03",
"requested_execution_date": "",
"bank_data": {
"end_to_end_id": "10IBZ20240806000000010000427135",
"file_id": "953d6f51-d4b0-5387-803d-c51c49d12980",
"message_id": "10IBZ20240806000000010000427135",
"original_instruction_id": "1",
"transaction_id": "10IBZ20240806000000010000427135"
},
"reconciliation_status": "unreconciled",
"reconciled_amount": 0,
"created_at": "2025-11-03T14:40:25.655337Z",
"connected_account": "507f2821-240e-4c83-b441-5881a6f907d4"
},
"status": "created",
"status_details": "",
"related_object_id": "5019fceb-8114-556e-81a5-67ad3a64342a",
"related_object_type": "incoming_payment",
"created_at": "2025-11-03T14:40:25.721171152Z"
}{
"status": "confirmed",
"reason": null
}{
"status": "rejected",
"reason": "AC04" /* SEPA rejection code */
}If the request does not receive a response within 3 seconds, Mambu Payments will automatically respond to the SEPA sponsor bank or SEPA CSM with one of the following rejection codes
| Cause | Rejection code |
|---|---|
| Timeout | AB06 - Timeout instructed agent |
Non-200 response (3xx or 4xx) | AB09 - Error creditor agent |
Error (5xx) | AB08 - Offline creditor agent |
Receive SDD payment
When receiving an SDD payment, Mambu Payments creates an incoming payment and sends an event to an asynchronous webhook URL. No response is expected from customer.
Receive incoming payment status updates
| Status | Description |
|---|---|
| received | Incoming payment has been received. |
| pending_confirmation | Incoming payment has been created and is pending confirmation. It can be confirmed or rejected. Only applicable to SCT Inst payments. |
| confirmed | Incoming payment has been confirmed. Only applicable to SCT Inst payments. |
| rejected | Incoming payment has been rejected, either by the customer or by the SEPA partner bank in case of SCT Inst payment timing out. |
Related resources
Updated 18 days ago
