QvaPay API
User

Metodos de pago

Gestionar los metodos de pago guardados del usuario.

GET /user/payment-methods

Retorna los metodos de pago guardados del usuario autenticado.

Autenticacion

Bearer Token (Authorization: Bearer {token}).

Request

curl -X GET https://api.qvapay.com/user/payment-methods \
  -H "Authorization: Bearer {token}"

Se puede filtrar por moneda usando el parametro coin:

curl -X GET "https://api.qvapay.com/user/payment-methods?coin=TRC20" \
  -H "Authorization: Bearer {token}"

Parametros (query)

ParametroTipoRequeridoDescripcion
coinstringNoFiltrar por ticker de moneda (ej: TRC20, BTC)

Response

[
  {
    "id": "123",
    "name": "Mi wallet TRC20",
    "details": { "Wallet": "TRx1234567890abcdef" },
    "created_at": "2025-01-01T00:00:00.000Z",
    "updated_at": "2025-01-01T00:00:00.000Z",
    "coin": {
      "name": "Tron USDT",
      "tick": "TRC20",
      "logo": "coins/trc20.png"
    }
  }
]

Campos de respuesta

CampoTipoDescripcion
idstringIdentificador del metodo de pago
namestringNombre descriptivo
detailsobjectDetalles del metodo: un objeto con los campos del formulario de retiro de esa moneda (working_data), por su nombre
created_atstringFecha de creacion
updated_atstringFecha de actualizacion
coinobjectInformacion de la moneda asociada
coin.namestringNombre de la moneda
coin.tickstringTicker de la moneda
coin.logostringRuta del logo de la moneda

POST /user/payment-methods

Crea un nuevo metodo de pago guardado.

Autenticacion

Bearer Token (Authorization: Bearer {token}).

Request

curl -X POST https://api.qvapay.com/user/payment-methods \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "coin": "TRC20",
    "name": "Mi wallet TRC20",
    "details": { "Wallet": "TRx1234567890abcdef" }
  }'

Parametros

ParametroTipoRequeridoDescripcion
coinstringSiTicker de la moneda (ej: TRC20, BTC). TROPICAL se acepta como alias de BANDECPREPAGO, que es el ticker que devuelve el listado
namestringSiNombre descriptivo del metodo de pago, hasta 100 caracteres
detailsobjectSiCampos del formulario de retiro de esa moneda, por su nombre (direccion, numero de cuenta, etc.). Se validan como en un retiro (tarjeta, ABA, SWIFT, red de la direccion)

Response (201)

{
  "id": "123",
  "name": "Mi wallet TRC20",
  "coin": "TRC20",
  "details": { "Wallet": "TRx1234567890abcdef" },
  "created_at": "2025-01-01T00:00:00.000Z",
  "updated_at": "2025-01-01T00:00:00.000Z"
}

PATCH /user/payment-methods

Edita un metodo de pago guardado: el nombre, los detalles o ambos. La moneda no se puede cambiar (eso es otro metodo).

Autenticacion

Bearer Token (Authorization: Bearer {token}).

Request

curl -X PATCH https://api.qvapay.com/user/payment-methods \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "123",
    "name": "Mi wallet principal",
    "details": { "Wallet": "TRx0987654321fedcba" }
  }'

Parametros

ParametroTipoRequeridoDescripcion
idstringSiID del metodo de pago a editar
namestringNoNuevo nombre descriptivo, hasta 100 caracteres
detailsobjectNoNuevos detalles. Reemplaza el objeto completo y pasa las mismas validaciones que en el alta

Hay que mandar al menos name o details.

Response (200)

Misma forma que la respuesta del alta:

{
  "id": "123",
  "name": "Mi wallet principal",
  "coin": "TRC20",
  "details": { "Wallet": "TRx0987654321fedcba" },
  "created_at": "2025-01-01T00:00:00.000Z",
  "updated_at": "2025-02-01T00:00:00.000Z"
}

Errores

CodigoDescripcion
400Falta el id, no hay nada que actualizar, el nombre pasa de 100 caracteres (NAME_TOO_LONG, con max) o los detalles no pasan la validacion
401No autorizado o token invalido
404El metodo no existe o no es del usuario, o su moneda ya no esta disponible (solo se puede renombrar)

DELETE /user/payment-methods

Elimina un metodo de pago guardado.

Autenticacion

Bearer Token (Authorization: Bearer {token}).

Request

curl -X DELETE https://api.qvapay.com/user/payment-methods \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "123"
  }'

Parametros

ParametroTipoRequeridoDescripcion
idstringSiID del metodo de pago a eliminar

Response (201)

{
  "message": "Payment method deleted"
}

Errores

CodigoDescripcion
400Datos invalidos (faltan campos requeridos)
401No autorizado o token invalido
404Moneda o metodo de pago no encontrado