Payments API Reference
Process payments, manage transactions, and handle virtual IBANs with enterprise-grade security. Support for cards, bank transfers, and instant payment confirmations.
Overview
The Payments API provides comprehensive payment processing capabilities including card payments, bank transfers, virtual IBAN generation, and real-time payment confirmations. All transactions are processed with bank-grade security and full compliance with financial regulations.
Cards, bank transfers, virtual IBANs, and digital wallets
Full PCI DSS compliance and end-to-end encryption
Instant payment confirmations and status updates
POSTCreate Payment
Process a payment using cards, bank transfer, or virtual IBAN
Endpoint
Request Body (Card Payment)
{
"amount": 1000.00,
"currency": "USD",
"payment_method": "card",
"payer": {
"user_id": "usr_1a2b3c4d5e6f",
"email": "payer@example.com"
},
"recipient": {
"user_id": "usr_7g8h9i0j1k2l",
"email": "recipient@example.com"
},
"card_details": {
"card_number": "4242424242424242",
"expiry_month": "12",
"expiry_year": "2025",
"cvc": "123",
"cardholder_name": "John Doe"
},
"description": "Payment for website development",
"reference": "INV-2024-001",
"metadata": {
"order_id": "ord_abc123",
"customer_id": "cust_xyz789"
}
}Request Body (Bank Transfer)
{
"amount": 2500.00,
"currency": "EUR",
"payment_method": "bank_transfer",
"payer": {
"user_id": "usr_1a2b3c4d5e6f",
"email": "payer@example.com"
},
"recipient": {
"user_id": "usr_7g8h9i0j1k2l",
"email": "recipient@example.com"
},
"bank_details": {
"iban": "DE89370400440532013000",
"bic": "COBADEFFXXX",
"account_holder": "John Doe"
},
"description": "Contract milestone payment",
"reference": "CONTRACT-001-M1"
}Response (201 Created)
{
"success": true,
"data": {
"payment_id": "pay_1a2b3c4d5e6f7g8h",
"status": "processing",
"amount": 1000.00,
"currency": "USD",
"payment_method": "card",
"payer": {
"user_id": "usr_1a2b3c4d5e6f",
"email": "payer@example.com"
},
"recipient": {
"user_id": "usr_7g8h9i0j1k2l",
"email": "recipient@example.com"
},
"fees": {
"platform_fee": 25.00,
"processing_fee": 15.00,
"total_fees": 40.00
},
"net_amount": 960.00,
"expected_completion": "2024-01-15T10:35:00Z",
"reference": "INV-2024-001",
"created_at": "2024-01-15T10:30:00Z"
},
"meta": {
"request_id": "req_1a2b3c4d5e6f",
"timestamp": "2024-01-15T10:30:00Z"
}
}GETGet Payment
Retrieve payment details and current status
Endpoint
Response (200 OK)
{
"success": true,
"data": {
"payment_id": "pay_1a2b3c4d5e6f7g8h",
"status": "completed",
"amount": 1000.00,
"currency": "USD",
"payment_method": "card",
"payer": {
"user_id": "usr_1a2b3c4d5e6f",
"email": "payer@example.com",
"name": "John Doe"
},
"recipient": {
"user_id": "usr_7g8h9i0j1k2l",
"email": "recipient@example.com",
"name": "Jane Developer"
},
"transaction_details": {
"transaction_id": "txn_9i8h7g6f5e4d",
"confirmation_code": "CONF123456",
"processor_reference": "proc_ref_789"
},
"fees": {
"platform_fee": 25.00,
"processing_fee": 15.00,
"total_fees": 40.00
},
"net_amount": 960.00,
"completed_at": "2024-01-15T10:32:15Z",
"created_at": "2024-01-15T10:30:00Z"
}
}POSTGenerate Virtual IBAN
Create a virtual IBAN for receiving payments
Endpoint
Request Body
{
"user_id": "usr_1a2b3c4d5e6f",
"currency": "EUR",
"purpose": "contract_payments",
"reference": "CONTRACT-001",
"auto_forward": true,
"forward_to": {
"iban": "DE89370400440532013000",
"account_holder": "Main Business Account"
},
"metadata": {
"contract_id": "ctr_1a2b3c4d5e6f",
"client": "Acme Corp"
}
}Response (201 Created)
{
"success": true,
"data": {
"virtual_iban_id": "viban_1a2b3c4d5e6f",
"iban": "DE89370400440532013001",
"bic": "WAFFYDEBXXX",
"account_holder": "Waffy Virtual Account",
"reference": "CONTRACT-001",
"currency": "EUR",
"status": "active",
"balance": 0.00,
"auto_forward": true,
"forward_to": {
"iban": "DE89370400440532013000",
"account_holder": "Main Business Account"
},
"created_at": "2024-01-15T10:30:00Z",
"expires_at": "2025-01-15T10:30:00Z"
}
}GETList Payments
Retrieve a list of payments with filtering options
Endpoint
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| status | string | Filter by status: pending, processing, completed, failed |
| user_id | string | Filter by payer or recipient user ID |
| payment_method | string | Filter by payment method: card, bank_transfer, virtual_iban |
| date_from | string | Filter payments from date (ISO 8601 format) |
| date_to | string | Filter payments up to date (ISO 8601 format) |
| limit | integer | Number of results to return (max 100, default 20) |
Payment Statuses
Understanding the payment lifecycle
Supported Countries & Currencies
Card Payments
Bank Transfers
Common Errors
400 Bad Request - Card Declined
{
"success": false,
"error": {
"code": "CARD_DECLINED",
"message": "Your card was declined. Please check your card details or try a different card.",
"details": {
"decline_code": "insufficient_funds",
"processor_message": "Not sufficient funds"
}
}
}402 Payment Required - Insufficient Balance
{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Insufficient balance in virtual IBAN account",
"details": {
"available_balance": 500.00,
"required_amount": 1000.00,
"currency": "EUR"
}
}
}Payment Integration Guide
Learn how to integrate payments into your application
Test Cards & Scenarios
Use test card numbers for development and testing