curl --request POST \
--url https://api-eu.flexportal.io/v1/payments/{paymentId}/mark-paid \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Tenant-ID: <tenant-id>' \
--data '
{
"paymentReference": "<string>",
"notes": "<string>"
}
'{
"success": true,
"message": "<string>",
"payment": {
"paymentId": "<string>",
"tenantId": "<string>",
"customerId": "<string>",
"subtotal": 1,
"total": 1,
"currency": "<string>",
"paymentType": "individual",
"billingPeriod": "<string>",
"status": "pending",
"idempotencyKey": "<string>",
"dueDate": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"taxAmount": 0,
"taxRate": 0,
"amount": 1,
"rentalId": "<string>",
"billingGroupId": "<string>",
"provider": "stripe",
"transactionId": "<string>",
"providerResponse": {},
"manuallyMarked": false,
"paymentReference": "<string>",
"markedBy": "<string>",
"captureAttempts": 0,
"lastCaptureError": {
"code": "<string>",
"message": "<string>",
"declineCode": "<string>"
},
"lineItems": [
{
"rentalId": "<string>",
"description": "<string>",
"amount": 1,
"taxAmount": 0
}
],
"lateFeeApplied": false,
"lateFeeAmount": 1,
"originalAmount": 1,
"notes": "<string>",
"paidAt": "<string>",
"lastCaptureAttempt": "<string>",
"nextRetryAt": "<string>"
}
}Manually marks a payment as paid. Use for offline payments (check, wire transfer, cash).
curl --request POST \
--url https://api-eu.flexportal.io/v1/payments/{paymentId}/mark-paid \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Tenant-ID: <tenant-id>' \
--data '
{
"paymentReference": "<string>",
"notes": "<string>"
}
'{
"success": true,
"message": "<string>",
"payment": {
"paymentId": "<string>",
"tenantId": "<string>",
"customerId": "<string>",
"subtotal": 1,
"total": 1,
"currency": "<string>",
"paymentType": "individual",
"billingPeriod": "<string>",
"status": "pending",
"idempotencyKey": "<string>",
"dueDate": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"taxAmount": 0,
"taxRate": 0,
"amount": 1,
"rentalId": "<string>",
"billingGroupId": "<string>",
"provider": "stripe",
"transactionId": "<string>",
"providerResponse": {},
"manuallyMarked": false,
"paymentReference": "<string>",
"markedBy": "<string>",
"captureAttempts": 0,
"lastCaptureError": {
"code": "<string>",
"message": "<string>",
"declineCode": "<string>"
},
"lineItems": [
{
"rentalId": "<string>",
"description": "<string>",
"amount": 1,
"taxAmount": 0
}
],
"lateFeeApplied": false,
"lateFeeAmount": 1,
"originalAmount": 1,
"notes": "<string>",
"paidAt": "<string>",
"lastCaptureAttempt": "<string>",
"nextRetryAt": "<string>"
}
}API key obtained from FlexPortal dashboard
Your tenant identifier
The payment ID
Payment marked as paid
true, false Show child attributes
111x >= 0x >= 03individual, consolidated pending, processing, paid, failed, cancelled 1x >= 00 <= x <= 100x >= 0stripe, adyen, paypal, manual x >= 0x >= 0x >= 0