Saltar al contenido principal

Tarjetas de pago

La API de Tarjetas de pago te permite gestionar y recuperar detalles sobre tus tarjetas de pago guardadas.

Pruebas en Sandbox

Para simular pagos con tarjetas de crédito/débito de sandbox en diferentes monedas y entidades de pasarela, consulta Pruebas de pagos con tarjeta.


El objeto PaymentCard

Un objeto PaymentCard representa una tarjeta de pago almacenada (Paylink). Contiene todos los detalles sobre la solicitud de pago.

Atributos

AtributoTipoDescripción
idstringIdentificador único de la tarjeta de pago.
referencestringTu referencia interna para el pago.
conceptstringEl concepto o título del pago.
descriptionstringUna breve descripción del pago.
amountintegerEl monto a pagar, en céntimos.
currencystringLa moneda del pago (por ejemplo, EUR, USD, USDC).
singleUsebooleanSi es true, el enlace solo puede usarse una vez.
favoritebooleanMarca la tarjeta de pago como favorita.
stateintegerEl estado de la tarjeta de pago (por ejemplo, 1 para activa).
shortUrlstringLa URL corta para la página de pago.
qrImagestringUna imagen de código QR codificada en base64 para el pago.
urlSuccessstringURL a la que redirigir al usuario tras un pago exitoso.
urlFailedstringURL a la que redirigir al usuario tras un pago fallido.
urlNotificationstringURL de webhook para recibir notificaciones del estado del pago.
expirationDatestringLa marca temporal en que el enlace de pago expirará (ISO 8601).
serviceDatestringLa fecha en que se prestó el servicio (ISO 8601).
createdAtstringLa marca temporal de creación de la tarjeta (ISO 8601).
updatedAtstringLa marca temporal de la última actualización de la tarjeta (ISO 8601).
clientobjectOpcional. Un objeto que contiene la información del cliente, si se proporcionó durante la creación.

Listar tarjetas de pago

GET/paymentcards

Recupera una lista de todas las tarjetas de pago (Paylinks) creadas por el usuario. La lista está paginada y puede filtrarse por estado.

Encabezados

HeaderDescripción
AuthorizationRequerido. Tu token de acceso Bearer.
AcceptRequerido. Debe ser application/json.

Parámetros de consulta

ParámetroTipoDescripción
limitintegerOpcional. El número de elementos a devolver por página. Por defecto 10.
offsetintegerOpcional. El número de elementos a omitir para la paginación. Por defecto 0.
stateintegerOpcional. Filtra las tarjetas por estado. 1 para activa, 0 para usada o expirada.

Ejemplo de cURL

curl -X GET "https://sandbox.tropipay.me/api/v3/paymentcards?limit=10&offset=0&state=1" \
-H "Authorization: Bearer {your-access-token}" \
-H "Accept: application/json"

Ejemplo de respuesta (200 OK)

La respuesta es un array de objetos PaymentCard.

[
{
"id": "758bf1b0-5065-11f0-9095-6392f28119a6",
"reference": "order-abc-123",
"concept": "Monthly Subscription",
"description": "Payment for monthly service renewal",
"amount": 2500,
"currency": "EUR",
"state": 1,
"shortUrl": "https://tppay.me/mc9gzasb",
"createdAt": "2025-06-23T19:08:34.252Z",
"updatedAt": "2025-06-23T19:08:34.626Z"
}
]

Recuperar una tarjeta de pago

GET/paymentcards/{id}

Recupera los detalles de una tarjeta de pago específica por su ID único.

Parámetros de ruta

ParámetroTipoDescripción
idstringRequerido. El identificador único de la tarjeta de pago.

Encabezados

HeaderDescripción
AuthorizationRequerido. Tu token de acceso Bearer.
AcceptRequerido. Debe ser application/json.

Ejemplo de cURL

curl -X GET https://sandbox.tropipay.me/api/v3/paymentcards/d08d6f20-6cd1-11f0-b254-3d3d43fd5a7d \
-H "Authorization: Bearer {your-access-token}" \
-H "Accept: application/json"

Ejemplo de respuesta (200 OK)

Devuelve un objeto PaymentCard.

{
"id": "d08d6f20-6cd1-11f0-b254-3d3d43fd5a7d",
"reference": "order-xyz-789",
"concept": "E-book Purchase",
"description": "The Complete Guide to APIs",
"amount": 1999,
"currency": "EUR",
"singleUse": true,
"favorite": false,
"state": 1,
"shortUrl": "https://tppay.me/mdp5mk9t",
"urlSuccess": "https://example.com/success",
"urlFailed": "https://example.com/failed",
"urlNotification": "https://example.com/webhook",
"expirationDate": "2025-07-30T00:00:00.000Z",
"serviceDate": "2025-07-29T00:00:00.000Z",
"createdAt": "2025-07-29T23:14:45.138Z",
"updatedAt": "2025-07-29T23:14:45.816Z"
}

Crear una tarjeta de pago

POST/paymentcards

Crea una nueva tarjeta de pago (Paylink). Una creación exitosa devuelve un objeto PaymentCard.

Encabezados

HeaderDescripción
AuthorizationRequerido. Tu token de acceso Bearer.
Content-TypeRequerido. Debe ser application/json.
AcceptRequerido. Debe ser application/json.

Parámetros del cuerpo

ParámetroTipoDescripción
conceptstringRequerido. Un título breve para el pago que verá el usuario (máx. 254 caracteres).
descriptionstringRequerido. Una breve descripción del pago.
amountintegerRequerido. El monto a pagar, en la unidad más pequeña de la moneda (por ejemplo, céntimos). Debe ser al menos 100.
currencystringRequerido. El código ISO de tres letras de la moneda: USD, EUR, o USDC.
singleUsebooleanRequerido. Si es true, el enlace solo puede usarse una vez.
favoritebooleanRequerido. Marca la tarjeta de pago como favorita para un acceso fácil.
reasonIdintegerOpcional. Un ID numérico que representa la razón del pago. 4 es un valor común para pagos generales.
accountIdintegerOpcional. El identificador único de la cuenta para la cual se creará la tarjeta de pago. Si no se proporciona, se usará la cuenta predeterminada.
referencestringOpcional. Tu referencia interna única para la transacción. Requerido si singleUse es true.
serviceDatestringOpcional. La fecha en que se presta el servicio, en formato ISO 8601 (por ejemplo, YYYY-MM-DD). Requerido si singleUse es true.
expirationDatestringOpcional. La fecha de expiración del enlace de pago en formato ISO 8601.
expirationDaysintegerOpcional. El número de días hasta que el enlace de pago expire.
langstringOpcional. El idioma de la página de pago (por ejemplo, es, en). Por defecto es el idioma de la cuenta del usuario.
saveTokenbooleanOpcional. Si es true, guarda el token de pago para uso futuro.
directPaymentbooleanOpcional. Si es true, intenta procesar el pago directamente sin mostrar la página de pago. Por defecto false.
urlSuccessstringOpcional. URL a la que redirigir al usuario tras un pago exitoso. Debe ser una URL válida.
urlFailedstringOpcional. URL a la que redirigir al usuario tras un pago fallido. Debe ser una URL válida.
urlNotificationstringOpcional. Una URL de webhook para recibir notificaciones servidor-a-servidor sobre el estado del pago. Debe ser una URL válida.
paymentMethodsarrayOpcional. Un array de strings que especifica los métodos de pago permitidos (por ejemplo, ["TPP", "EXT", "CRYPTO"]).
strictPostalCodeCheckbooleanOpcional. Si es true, fuerza la validación estricta del código postal. Por defecto false.
strictAddressCheckbooleanOpcional. Si es true, fuerza la validación estricta de la dirección. Por defecto false.
paymentcardTypeintegerOpcional. El tipo de tarjeta de pago a crear.
payment3DSstringOpcional. Configuración 3D Secure: default, force, o bypass. Por defecto default.
clientobjectOpcional. Un objeto que contiene la información del cliente final. Requerido si singleUse es true. Ver los detalles del objeto cliente más abajo.

Objeto Client (cuando se proporciona)

Cuando se proporciona el objeto client, singleUse debe ser true y los siguientes campos son requeridos:

CampoTipoDescripción
namestringRequerido. Nombre del cliente.
lastNamestringRequerido. Apellido del cliente.
emailstringRequerido. Correo electrónico del cliente (debe ser válido).
phonestringRequerido. Número de teléfono del cliente.
addressstringRequerido. Dirección postal del cliente.
countryIdintegerRequerido* Debe proporcionarse countryId o countryIso. Identificador numérico del país.
countryIsostringRequerido* Debe proporcionarse countryId o countryIso. Código de país ISO 3166-1 alpha-2.
termsAndConditionsbooleanRequerido. Debe ser true para aceptar los términos y condiciones.
citystringOpcional. Ciudad del cliente.
postCodestringOpcional. Código postal/ZIP del cliente.
statestringOpcional. Estado o provincia del cliente.
dateOfBirthstringOpcional. Fecha de nacimiento del cliente en formato yyyy-MM-dd.

Ejemplo de cURL

curl -X POST https://sandbox.tropipay.me/api/v3/paymentcards \
-H "Authorization: Bearer {your-access-token}" \
-H "Content-Type: application/json" \
-d '{
"concept": "E-book Purchase",
"description": "The Complete Guide to APIs",
"amount": 1999,
"currency": "EUR",
"singleUse": true,
"favorite": false,
"reasonId": 4,
"accountId": 958,
"reference": "order-xyz-789",
"serviceDate": "2025-07-29",
"urlSuccess": "https://example.com/success",
"urlFailed": "https://example.com/failed",
"urlNotification": "https://example.com/webhook",
"client": {
"name": "John",
"lastName": "McClane",
"address": "Ave. Guadí 232, Barcelona, Barcelona",
"phone": "+34645553333",
"email": "client@email.com",
"countryId": 2,
"termsAndConditions": true,
"city": "Barcelona",
"postCode": "78622",
"dateOfBirth": "1984-08-15"
}
}'

Ejemplo de respuesta (200 Created)

{
"id": "d08d6f20-6cd1-11f0-b254-3d3d43fd5a7d",
"accountId": 958,
"reference": "order-xyz-789",
"concept": "E-book Purchase",
"description": "The Complete Guide to APIs",
"amount": 1999,
"currency": "EUR",
"singleUse": true,
"favorite": false,
"state": 1,
"shortUrl": "https://tppay.me/mdp5mk9t",
"qrImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"urlSuccess": "https://example.com/success",
"urlFailed": "https://example.com/failed",
"urlNotification": "https://example.com/webhook",
"expirationDate": "2025-07-30T00:00:00.000Z",
"serviceDate": "2025-07-29T00:00:00.000Z",
"createdAt": "2025-07-29T23:14:45.138Z",
"updatedAt": "2025-07-29T23:14:45.816Z"
}