Saltar al contenido principal

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

AtributoTipoDescripción
idintegerIdentificador único de la transferencia.
referencestringUn código de referencia único para la transferencia.
bankOrderCodestringEl código de orden proporcionado por el banco, si aplica.
statestringEl estado actual de la transferencia (por ejemplo, charged, completed, failed).
amountnumberEl monto transferido, representado como un valor negativo en céntimos.
currencystringLa moneda de la transferencia (por ejemplo, EUR).
destinationAmountnumberEl monto recibido por el beneficiario en céntimos.
destinationCurrencystringLa moneda recibida por el beneficiario.
conversionRatenumberLa tasa de conversión aplicada, si aplica.
bookingDatestringLa marca temporal de creación de la transferencia (ISO 8601).
isInternalbooleanIndica si la transferencia fue interna de TropiPay.
depositaccountIdintegerEl ID de la cuenta de depósito del beneficiario.

Enviar una transferencia (Payout)

POST/operations/payout

Ejecuta un pago o transferencia a un beneficiario. Para montos altos, puede ser requerida la autenticación 2FA.

Encabezados

HeaderDescripción
AuthorizationRequerido. Bearer {your-access-token}
Content-TypeRequerido. application/json
AcceptRequerido. application/json
X-DEVICE-IDOpcional. El identificador único del dispositivo del usuario.

Parámetros del cuerpo

ParámetroTipoDescripción
depositaccountIdintegerRequerido. El ID de la cuenta de depósito del beneficiario.
accountIdintegerRequerido. El ID de la cuenta de origen desde la cual se debitarán los fondos.
currencystringRequerido. La moneda del monto a enviar (por ejemplo, EUR).
destinationCurrencystringRequerido. La moneda que recibirá el beneficiario.
amountnumberRequerido. El monto a enviar, en céntimos.
destinationAmountnumberRequerido. El monto que recibirá el beneficiario, en céntimos.
conceptTransferstringRequerido. Un concepto o descripción breve para la transferencia.
reasonDesstringRequerido. Una descripción detallada de la razón de la transferencia.
reasonIdintegerRequerido. El ID correspondiente a la razón de la transferencia.
paymentMethodstringRequerido. El método de pago utilizado (por ejemplo, TPP).
securityCodestringOpcional. 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/simulate

Simula un pago antes de ejecutarlo para consultar las comisiones y tasas de cambio aplicables.

Parámetros del cuerpo

ParámetroTipoDescripción
depositaccountIdintegerRequerido. El ID de la cuenta de depósito del beneficiario.
paymentMethodstringRequerido. El método de pago a simular (por ejemplo, TPP).
accountIdintegerRequerido. El ID de la cuenta de origen.
currencyToPaystringRequerido. La moneda del pago (por ejemplo, USD).
currencyToGetstringRequerido. La moneda que recibirá el beneficiario.
amountToPaynumberRequerido. 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
}
}