URL: /baas/api/integration/flows/organization-customer/payment-consent-setup
---
title: 'Phase 7: Payment Consent Setup'
description: 'Create payment consents with limits and beneficiary restrictions'
---
# Phase 7: Payment Consent Setup
Payment consents define what transactions the organization can perform, including limits, allowed beneficiaries, and approval requirements.
## Consent Types
| Consent Type | Description |
|--------------|-------------|
| `TRANSFER` | Standard transfers to beneficiaries |
| `RECURRING` | Recurring/scheduled payments |
| `BULK` | Bulk payment processing |
| `INTERNATIONAL` | Cross-border transfers |
---
## Create Payment Consent
**Endpoint:** `POST /api/v2.1/fintrans/{walletId}/payment-consents/types/transfer`
**Headers:**
```http
Authorization: Bearer {jwt-token}
Content-Type: application/json
```
**Request Body:**
```json
{
"title": "Regular Business Payments Consent",
"description": "Monthly supplier and vendor payments",
"validFrom": "2026-01-15T00:00:00.000Z",
"validTo": "2026-12-31T23:59:59.000Z",
"maxUsageCount": 500,
"limits": {
"perTransaction": {
"amount": 10000000,
"currency": "EUR"
},
"perDay": {
"amount": 20000000,
"currency": "EUR"
},
"perMonth": {
"amount": 50000000,
"currency": "EUR"
}
},
"beneficiaryRestrictions": {
"allowedAccounts": [
"GB82WEST12345698765432",
"FR7612345678901234567890123",
"DE89370400440532013000"
],
"allowedTypes": ["INTERNAL", "SEPA", "SWIFT"],
"allowNewBeneficiaries": false,
"requireBeneficiaryName": true,
"requireInvoiceReference": true
},
"frequencyLimit": {
"maxTransactionsPerDay": 50,
"maxTransactionsPerWeek": 200,
"maxTransactionsPerMonth": 500
},
"approvalRequirements": {
"requiresApproval": true,
"approvalThreshold": 5000000,
"approverRoles": ["TRANSACTION_APPROVER", "ADMIN_USER"],
"minimumApprovers": 1
}
}
```
**Status:** `201 Created`
```json
{
"code": 201,
"message": "Payment consent created successfully",
"data": {
"id": "consent-3344e8400-e29b-41d4-a716-446655440200",
"consentType": "PAYMENT_CONSENT",
"status": "ACCEPTED",
"title": "Regular Business Payments Consent",
"validFrom": "2026-01-15T00:00:00.000Z",
"validTo": "2026-12-31T23:59:59.000Z",
"maxUsageCount": 500,
"currentUsageCount": 0,
"limits": {
"perTransaction": { "amount": 10000000, "currency": "EUR" },
"perDay": { "amount": 20000000, "currency": "EUR" },
"perMonth": { "amount": 50000000, "currency": "EUR" }
},
"beneficiaryRestrictions": {
"allowedAccounts": [...],
"allowNewBeneficiaries": false
},
"frequencyLimit": {
"maxTransactionsPerDay": 50,
"maxTransactionsPerWeek": 200,
"maxTransactionsPerMonth": 500
},
"approvalRequirements": {
"requiresApproval": true,
"approvalThreshold": 5000000
},
"createdAt": "2026-01-15T15:30:00.000Z"
}
}
```
---
## Consent Limits
**Amount Format:** All amounts are in minor units (cents). Example: `10000000` = €100,000.00
| Limit Type | Description |
|------------|-------------|
| `perTransaction` | Maximum amount per single transaction |
| `perDay` | Maximum total amount per day |
| `perMonth` | Maximum total amount per month |
---
## Beneficiary Restrictions
| Field | Description |
|-------|-------------|
| `allowedAccounts` | List of allowed beneficiary IBANs |
| `allowedTypes` | Allowed beneficiary types (INTERNAL, SEPA, SWIFT) |
| `allowNewBeneficiaries` | Allow payments to new beneficiaries |
| `requireBeneficiaryName` | Require beneficiary name verification |
| `requireInvoiceReference` | Require invoice reference for payments |
When `allowNewBeneficiaries` is `false`, transactions to beneficiaries not in `allowedAccounts` will be rejected.
---
## Approval Requirements
| Field | Description |
|-------|-------------|
| `requiresApproval` | Enable approval workflow |
| `approvalThreshold` | Amount threshold for approval (in cents) |
| `approverRoles` | Roles that can approve |
| `minimumApprovers` | Minimum number of approvers required |
### Approval Workflow
```mermaid
flowchart LR
A[Transaction Initiated] --> B{Amount > Threshold?}
B -->|No| C[Auto-Approved]
B -->|Yes| D[Pending Approval]
D --> E{Approver Action}
E -->|Approve| F[Executed]
E -->|Reject| G[Rejected]
```
---
## Frequency Limits
| Limit | Description |
|-------|-------------|
| `maxTransactionsPerDay` | Max transactions in 24 hours |
| `maxTransactionsPerWeek` | Max transactions in 7 days |
| `maxTransactionsPerMonth` | Max transactions in 30 days |
---
## List Payment Consents
**Endpoint:** `GET /api/v2.1/fintrans/{walletId}/payment-consents`
```json
{
"code": 200,
"message": "Payment consents retrieved successfully",
"data": [
{
"id": "consent-3344e8400-e29b-41d4-a716-446655440200",
"title": "Regular Business Payments Consent",
"status": "ACCEPTED",
"validFrom": "2026-01-15T00:00:00.000Z",
"validTo": "2026-12-31T23:59:59.000Z",
"currentUsageCount": 5,
"maxUsageCount": 500
}
]
}
```
---
## Next Step
After setting up payment consents, proceed to **Phase 8: Transaction Operations**.
Execute transfers and manage transactions