# Settle float payment
Enables users to manually settle a float payment and credit the pending float amount.
To settle a float payment, you must provide a valid `tracking_id`.
See the Examples dropdown menu for a sample payload.
For more information about payments operations, see [Corporate Banking Launch Reference](doc:corporate-banking-launch-reference).
The payment created generates the following events:
- [Float payment status change](https://developers.pismo.io/events/docs/corporate-float-payment-status-change-1)
- [Authorization created](https://developers.pismo.io/events/docs/authorization-authorization-event-1)
- [Account balance changed](https://developers.pismo.io/events/docs/account-balances-balance-change-1).
- [Account balance changed (Availables)](https://developers.pismo.io/events/docs/availables-change-available-1)
- [Transaction created](https://developers.pismo.io/events/docs/transaction-creation-1).
- [Accounting entry created](https://developers.pismo.io/events/docs/accounting-entry-creation-1)
- If flex controls are configured, a [Flex control evaluated](https://developers.pismo.io/events/docs/rules-evaluation-requested-1) event is triggered.
For more information about events and setting up event notifications, refer to [Data and reporting](doc:data-reporting-overview).
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"info": {
"title": "Banking - Transaction banking",
"version": "0.9.0",
"description": "Transaction banking API",
"contact": {
"name": "API Support",
"url": "https://developers.pismo.io/support/"
},
"license": {
"name": "Copyright Pismo"
}
},
"servers": [
{
"url": "https://sandbox.pismolabs.io",
"description": "Sandbox API server for testing"
}
],
"security": [
{
"BearerAuth": []
}
],
"tags": [
{
"name": "Payments",
"description": "Payment endpoints supporting external accounts"
}
],
"components": {
"parameters": {
"TrackingIdPath2": {
"name": "trackingId",
"in": "path",
"description": "Original tracking ID provided when the float payment is created.",
"schema": {
"type": "string"
},
"required": true,
"example": "0a50c88a-ade8-4bcc-a639-9a0b0f11e245"
}
},
"schemas": {
"ErrorCode": {
"description": "Error code\n`minLength: 1`\n`maxLength: 12`\n",
"type": "string",
"minLength": 1,
"maxLength": 12,
"example": "WPMT0017"
},
"ErrorMessage": {
"description": "Error message\n`minLength: 1`\n`maxLength: 1000`\n",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"example": "Invalid JSON payload received: Error unmarshalling request"
},
"ErrorResponse": {
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/ErrorCode"
},
"message": {
"$ref": "#/components/schemas/ErrorMessage"
}
}
},
"TrackingID": {
"type": "string",
"description": "A unique payment tracking number provided by the client. If an existing `tracking_id` already exists in the system, the API returns a `409` error.\n\nThis field is:\n - Unique within the Organization.\n - Immutable — It can't be updated.\n - Not recyclable — You can't reuse a `tracking_id`.\n",
"minLength": 1,
"maxLength": 43,
"example": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244"
},
"UpdatePaymentResponse": {
"title": "UpdatePaymentResponse",
"type": "object",
"properties": {
"tracking_id": {
"$ref": "#/components/schemas/TrackingID"
}
}
}
},
"responses": {
"403Forbidden": {
"description": "The request has been lost"
},
"500InternalServer": {
"description": "Internal Server Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Generic internal error": {
"value": {
"code": "ECMN9999",
"message": "Internal error"
}
}
}
}
}
}
},
"securitySchemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
},
"paths": {
"/corporate/v1/corporate-float-cashin/{trackingId}": {
"patch": {
"summary": "Settle float payment",
"description": "Enables users to manually settle a float payment and credit the pending float amount.\n\nTo settle a float payment, you must provide a valid `tracking_id`.\n\nSee the Examples dropdown menu for a sample payload.\n\nFor more information about payments operations, see [Corporate Banking Launch Reference](https://developers.pismo.io/pismo-docs/docs/corporate-banking-launch-reference).\n\nThe payment created generates the following events:\n- [Float payment status change](https://developers.pismo.io/events/docs/corporate-float-payment-status-change-1)\n- [Authorization created](https://developers.pismo.io/events/docs/authorization-authorization-event-1)\n- [Account balance changed](https://developers.pismo.io/events/docs/account-balances-balance-change-1).\n- [Account balance changed (Availables)](https://developers.pismo.io/events/docs/availables-change-available-1)\n- [Transaction created](https://developers.pismo.io/events/docs/transaction-creation-1).\n- [Accounting entry created](https://developers.pismo.io/events/docs/accounting-entry-creation-1)\n- If flex controls are configured, a [Flex control evaluated](https://developers.pismo.io/events/docs/rules-evaluation-requested-1) event is triggered.\n\nFor more information about events and setting up event notifications, refer to [Data and reporting](https://developers.pismo.io/pismo-docs/docs/data-reporting-overview).",
"parameters": [
{
"$ref": "#/components/parameters/TrackingIdPath2"
}
],
"operationId": "patch-corporate-float-cash-in",
"tags": [
"Payments"
],
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePaymentResponse"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Missing HTTP parameters": {
"value": {
"code": "WCMN0003",
"message": "Missing HTTP parameters"
}
},
"Holiday error": {
"value": {
"code": "WCFC0006",
"message": "Cannot post transaction on holidays"
}
},
"Weekend error": {
"value": {
"code": "WCFC0007",
"message": "Cannot post transaction on weekends"
}
},
"Invalid account status": {
"description": "This error occurs when the account is in an invalid state, an example is when the account cannot be credited or debited",
"value": {
"code": "WCFC0009",
"message": "Invalid account status"
}
},
"Account closed error": {
"description": "This error occurs when the client sends a force post payment and the account has been closed",
"value": {
"code": "WCFC0011",
"message": "Action not permitted on a closed account"
}
},
"Orgs operation not found or parameterized": {
"value": {
"code": "WCFC0012",
"message": "Orgs operations not found or parameters are incorrect or invalid"
}
},
"Invalid account program type": {
"value": {
"code": "WCFC0013",
"message": "The account's program type is invalid"
}
},
"Invalid header account": {
"value": {
"code": "WCAC0002",
"message": "Invalid header account"
}
},
"Float payment record not found": {
"value": {
"code": "WCFC0017",
"message": "Float payment record not found"
}
},
"Float payment is already settled": {
"value": {
"code": "WCFC0018",
"message": "Float payment with trackingID (tracking_id) is already settled"
}
},
"Corporate account not found": {
"value": {
"code": "WCFC0019",
"message": "Corporate account not found"
}
},
"Tracking ID locked": {
"description": "This error occurs when a transaction with this tracking ID is already in progress",
"value": {
"code": "WCFC0022",
"message": "Transaction using this tracking_id is in progress, please try again later"
}
},
"Operations blocked": {
"description": "This error occurs when there's an operations block for this account",
"value": {
"code": "WCFC0023",
"message": "Operations blocked for account"
}
}
}
}
}
},
"403": {
"$ref": "#/components/responses/403Forbidden"
},
"500": {
"$ref": "#/components/responses/500InternalServer"
}
}
}
}
}
}
```