Transferencias
La API de Transferencias te permite enviar fondos a beneficiarios, simular transferencias para consultar tasas y comisiones, y crear enlaces de pago. Esta sección cubre todos los endpoints relacionados con mover dinero fuera de tu cuenta de TropiPay.
El objeto Transfer
Un objeto Transfer representa el movimiento de fondos desde tu cuenta a un beneficiario. Contiene detalles sobre el monto, moneda, destino y estado de la transacción.
Atributos
| Atributo | Tipo | Descripción |
|---|---|---|
id | integer | Identificador único de la transferencia. |
reference | string | Un código de referencia único para la transferencia. |
bankOrderCode | string | El código de orden proporcionado por el banco, si aplica. |
state | string | El estado actual de la transferencia (por ejemplo, charged, completed, failed). |
amount | number | El monto transferido, representado como un valor negativo en céntimos. |
currency | string | La moneda de la transferencia (por ejemplo, EUR). |
destinationAmount | number | El monto recibido por el beneficiario en céntimos. |
destinationCurrency | string | La moneda recibida por el beneficiario. |
conversionRate | number | La tasa de conversión aplicada, si aplica. |
bookingDate | string | La marca temporal de creación de la transferencia (ISO 8601). |
isInternal | boolean | Indica si la transferencia fue interna de TropiPay. |
depositaccountId | integer | El ID de la cuenta de depósito del beneficiario. |
Enviar una transferencia (Payout)
POST
/operations/payoutEjecuta un pago o transferencia a un beneficiario. Para montos altos, puede ser requerida la autenticación 2FA.
Encabezados
| Header | Descripción |
|---|---|
Authorization | Requerido. Bearer {your-access-token} |
Content-Type | Requerido. application/json |
Accept | Requerido. application/json |
X-DEVICE-ID | Opcional. El identificador único del dispositivo del usuario. |
Parámetros del cuerpo
| Parámetro | Tipo | Descripción |
|---|---|---|
depositaccountId | integer | Requerido. El ID de la cuenta de depósito del beneficiario. |
accountId | integer | Requerido. El ID de la cuenta de origen desde la cual se debitarán los fondos. |
currency | string | Requerido. La moneda del monto a enviar (por ejemplo, EUR). |
destinationCurrency | string | Requerido. La moneda que recibirá el beneficiario. |
amount | number | Requerido. El monto a enviar, en céntimos. |
destinationAmount | number | Requerido. El monto que recibirá el beneficiario, en céntimos. |
conceptTransfer | string | Requerido. Un concepto o descripción breve para la transferencia. |
reasonDes | string | Requerido. Una descripción detallada de la razón de la transferencia. |
reasonId | integer | Requerido. El ID correspondiente a la razón de la transferencia. |
paymentMethod | string | Requerido. El método de pago utilizado (por ejemplo, TPP). |
securityCode | string | Opcional. El código de seguridad 2FA, requerido para transacciones de alto valor. |
Ejemplo de cURL
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"
}'
Ejemplo de respuesta (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
}
Simular una transferencia
POST
/operations/payout/simulateSimula un pago antes de ejecutarlo para consultar las comisiones y tasas de cambio aplicables.
Parámetros del cuerpo
| Parámetro | Tipo | Descripción |
|---|---|---|
depositaccountId | integer | Requerido. El ID de la cuenta de depósito del beneficiario. |
paymentMethod | string | Requerido. El método de pago a simular (por ejemplo, TPP). |
accountId | integer | Requerido. El ID de la cuenta de origen. |
currencyToPay | string | Requerido. La moneda del pago (por ejemplo, USD). |
currencyToGet | string | Requerido. La moneda que recibirá el beneficiario. |
amountToPay | number | Requerido. El monto a pagar, en céntimos. |
Ejemplo de cURL
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
}'
Ejemplo de respuesta (200 OK)
{
"estimatedFee": 250,
"exchangeRate": 0.92,
"finalAmount": 4350,
"processingTime": "Immediate",
"currency": "USD",
"paymentDetails": {
"method": "TPP",
"accountId": 58814
}
}