Skip to main content

Receive Payments from Across Europe

Your customers don’t just send payments — they receive them too. When a payment arrives via CENTROlink or EKS, Inventi notifies you in real-time through webhooks so you can credit your customer’s balance immediately.
What happens when a payment arrives:
  1. Payment comes through CENTROlink or EKS to your customer’s IBAN
  2. Inventi validates and processes the incoming transfer
  3. Your webhook receiver gets notified instantly
  4. You credit your customer’s balance in your system

Supported Payment Types

SEPA Credit Transfer

Standard transfers with next business day settlement

SEPA Instant

Real-time payments settled in under 10 seconds

API Reference

Business Requirements

Use the Transaction Status Change webhook to create and update incoming transaction records in your system. This is the primary signal for all inbound payments.
Webhooks provide near real-time notifications. Use polling only as a fallback for reconciliation.
If your webhook endpoint fails, the platform retries until success and holds all subsequent notifications until the blocked one is delivered.
Your webhook receiver must respond with 2xx quickly. Process heavy work asynchronously using a queue.
When Instant Confirmation is enabled, incoming SEPA Instant transactions arrive as Pending confirmation. You must respond within 5 seconds after receiving the webhook.
Build an automated decision service. Manual review is not viable with a 5-second deadline.

How It Works

The platform sends webhook notifications as transactions progress through the payment lifecycle.

Webhook Payload

Each status change notification includes these fields:
trx_id
string
required
Unique transaction identifier
end_to_end_id
string
End-to-end reference from the originator
direction
string
required
INBOUND for incoming payments
status
string
required
Current transaction status
amount
integer
required
Amount in cents
currency
string
required
Currency code (EUR)
debtor_iban
string
Sender’s IBAN
creditor_iban
string
Recipient’s IBAN
updated_at
datetime
required
Status change timestamp

Transaction Statuses

StatusDescriptionYour Action
CreatedPayment received from originatorStore transaction
AcceptedValidated by platform
CompletedReady to creditCredit customer balance

Handle SEPA Instant Confirmation

When instant confirmation is enabled for your account, incoming SEPA Instant payments require your approval.

Confirmation Endpoint

curl -X POST https://api.pgw-sandbox.finventi.com/v1/transactions/{id}/response \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"response": "ACCEPT"}'
You must respond within 5 seconds. The transaction must be in Pending confirmation status.

Decision Patterns

Auto-accept

Accept all payments automatically. Best for low-risk scenarios with trusted counterparties.

Rules-based

Apply amount limits, counterparty checks, and AML screening. Recommended for most use cases.

Manual review

Human approval required. Not viable due to 5-second time limit.

Integration Checklist

1

Implement webhook endpoint

Create an endpoint that responds with 2xx immediately and processes asynchronously
2

Handle idempotency

Upsert transactions by trx_id to safely handle duplicate deliveries
3

Process inbound direction

Filter for direction=INBOUND and update your ledger accordingly
4

Implement confirmation flow

If using instant confirmation, build a fast decision service that responds within 5 seconds
5

Maintain status history

Store all status transitions for audit and investigation purposes

What’s Next?

Your integration now handles both sending and receiving payments. Complete it with exception handling and reconciliation: