Transfers
The Transfers API allows you to send funds to beneficiaries, simulate transfers to check rates and fees, and create payment links. This section covers all endpoints related to moving money out of your TropiPay account.
The Transfer Object
A Transfer object represents the movement of funds from your account to a beneficiary. It contains details about the amount, currency, destination, and status of the transaction.
Attributes
| Attribute | Type | Description |
|---|---|---|
id | integer | Unique identifier for the transfer. |
reference | string | A unique reference code for the transfer. |
bankOrderCode | string | The order code provided by the bank, if applicable. |
state | string | The current state of the transfer (e.g., charged, completed, failed). |
amount | number | The amount transferred, represented as a negative value in cents. |
currency | string | The currency of the transfer (e.g., EUR). |
destinationAmount | number | The amount received by the beneficiary in cents. |
destinationCurrency | string | The currency received by the beneficiary. |
conversionRate | number | The conversion rate applied, if any. |
bookingDate | string | The timestamp when the transfer was created (ISO 8601). |
isInternal | boolean | Indicates if the transfer was internal to TropiPay. |
depositaccountId | integer | The ID of the beneficiary's deposit account. |
Send a Transfer (Payout)
POST
/operations/payoutExecutes a payment or transfer to a beneficiary. For high amounts, 2FA authentication may be required.
Headers
| Header | Description |
|---|---|
Authorization | Required. Bearer {your-access-token} |
Content-Type | Required. application/json |
Accept | Required. application/json |
X-DEVICE-ID | Optional. The unique identifier for the user's device. |
Body Parameters
| Parameter | Type | Description |
|---|---|---|
depositaccountId | integer | Required. The ID of the beneficiary's deposit account. |
accountId | integer | Required. The ID of the source account from which the funds will be debited. |
currency | string | Required. The currency of the amount to be sent (e.g., EUR). |
destinationCurrency | string | Required. The currency the beneficiary will receive. |
amount | number | Required. The amount to be sent, in cents. |
destinationAmount | number | Required. The amount the beneficiary will receive, in cents. |
conceptTransfer | string | Required. A short concept or description for the transfer. |
reasonDes | string | Required. A detailed description of the reason for the transfer. |
reasonId | integer | Required. The ID corresponding to the reason for the transfer. |
paymentMethod | string | Required. The payment method used (e.g., TPP). |
securityCode | string | Optional. The 2FA security code, required for high-value transactions. |
cURL Example
curl -X POST https://sandbox.tropipay.me/api/v3/operations/payout \
-H "Authorization: Bearer {your-access-token}" \
-H "Content-Type: application/json" \
-d '{
"depositaccountId": 177309,
"accountId": 45787,
"currency": "EUR",
"destinationCurrency": "EUR",
"amount": 5000,
"destinationAmount": 5000,
"conceptTransfer": "Monthly payment",
"reasonDes": "Payment for services",
"reasonId": 9,
"paymentMethod": "TPP",
"securityCode": "123456"
}'
Response Example (200 OK)
{
"id": 12345,
"reference": "TX20241201001",
"bankOrderCode": "ORD789012",
"state": "charged",
"amount": -5000,
"currency": "EUR",
"destinationAmount": 5000,
"destinationCurrency": "EUR",
"conversionRate": 1.0,
"bookingDate": "2024-12-01T10:30:00Z",
"isInternal": false,
"depositaccountId": 177309
}
Simulate a Transfer
POST
/operations/payout/simulateSimulates a payment before executing it to check applicable fees and exchange rates.
Body Parameters
| Parameter | Type | Description |
|---|---|---|
depositaccountId | integer | Required. The ID of the beneficiary's deposit account. |
paymentMethod | string | Required. The payment method to be simulated (e.g., TPP). |
accountId | integer | Required. The ID of the source account. |
currencyToPay | string | Required. The currency of the payment (e.g., USD). |
currencyToGet | string | Required. The currency the beneficiary will receive. |
amountToPay | number | Required. The amount to be paid, in cents. |
cURL Example
curl -X POST https://sandbox.tropipay.me/api/v3/operations/payout/simulate \
-H "Authorization: Bearer {your-access-token}" \
-H "Content-Type: application/json" \
-d '{
"depositaccountId": 177309,
"paymentMethod": "TPP",
"accountId": 58814,
"currencyToPay": "USD",
"currencyToGet": "EUR",
"amountToPay": 5000
}'
Response Example (200 OK)
{
"estimatedFee": 250,
"exchangeRate": 0.92,
"finalAmount": 4350,
"processingTime": "Immediate",
"currency": "USD",
"paymentDetails": {
"method": "TPP",
"accountId": 58814
}
}