Example: A freelance management platform automatically pays contractors every Friday based on approved timesheets, without anyone logging into Qonto manually.Prerequisites:
- At least one beneficiary with
status: validated. - Scopes:
organization.read,payment.write
List SEPA beneficiaries
Retrieve the list of validated beneficiaries and find the one you want to pay. You can filter by IBAN or name to narrow down the results.Endpoint: List SEPA beneficiaries
OAuth scope required:
organization.read- Python
- Node.js
Verify the SEPA payee (VoP)
Before creating a transfer, you must verify the payee through Verification of Payee (VoP). This returns a
proof_token that you will include in the transfer request.Endpoint: Verify a SEPA payeeOAuth scope required:
payment.write- Python
- Node.js
Create the SEPA transfer
Submit the transfer using the
beneficiary_id from Step 1 and the proof_token from Step 2.Endpoint: Create a SEPA transferOAuth scope required:
payment.writeDo not forget to include the
X-Qonto-Idempotency-Key header to prevent duplicate transfers in case of network errors. See Idempotent requests.To retrieve your
bank_account_id, needed in this request, call GET /v2/organization or GET /v2/banks_accounts, the responses include a bank_accounts array, each with an id field.- Python
- Node.js
We now have a submitted SEPA transfer. The transfer
id and status in the response confirm it has been accepted for processing.