Receive SEPA payments
Learn how to receive SEPA payments with Mambu Payments
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
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 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
Numeral-->>Customer:Send incoming_payment.confirmed event
CSM->>Partner bank: Final pacs.002 ACCP
Partner bank->>Numeral: Forward pacs.002 message
Numeral-->>Customer:Send incoming_payment.received event
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 16 days ago
