Skip to Content
QvaPay API
Withdraw

Métodos de EE. UU. desde Cuba

Qué tiene que enviar un retiro por un método conectado a Estados Unidos (banco, PayPal, Zelle, Cash App…) desde una cuenta cuyo titular está en Cuba.

Desde noviembre de 2026, una cuenta cuyo titular está en Cuba que retira por un método conectado a Estados Unidos tiene que declarar a quién paga y para qué. Aplica en todos los canales (web, apps y API) y a cualquier monto.

Métodos afectados: BANK, BANK_INTL, BANK_EUR, BANK_LATAM, PAYPAL, ZELLE, CASHAPP, VENMO, APPLECASH y WISE.

No aplica a las cuentas de personas de EE. UU. ni a los titulares con residencia fuera de Cuba verificada por QvaPay. Tampoco a los métodos que entregan en Cuba (BANK_CUP, CLASICA, USDCASH…) ni a las salidas cripto, que tienen su propia autocertificación.

Saber si la cuenta está afectada

GET /withdraw/us-rail (con sesión) dice si la cuenta tiene que mandar us_payment y trae las opciones y los textos que hay que enseñar. Los textos salen del servidor: úsalos tal cual, sin copiarlos en la app.

{
  "data": {
    "applies": true,
    "enforced": true,
    "ticks": ["BANK", "BANK_INTL", "BANK_EUR", "BANK_LATAM", "PAYPAL", "VENMO", "ZELLE", "CASHAPP", "APPLECASH", "WISE"],
    "own_account_suspended": true,
    "text_version": "v2026-11-11-borrador",
    "payees": [
      { "code": "third_party", "label": "Un vendedor o servicio", "invoice_required": true, "recipient_required": true },
      { "code": "own", "label": "Una cuenta mía", "suspended": true, "invoice_required": false, "recipient_required": false }
    ],
    "purposes": [{ "code": "E-1", "label": "Mercancía de un vendedor de EE. UU.", "summary": "…", "needs": ["goods_attestation", "goods"] }],
    "service_kinds": [{ "code": "internet", "label": "Servicio de internet" }],
    "declarations": [{ "key": "notProhibitedOfficial", "es": "…", "en": "…" }],
    "goods_attestation": { "text_version": "v2026-10-06-B11", "es": "Declaro, en nombre de {entity}…", "en": "I declare, on behalf of {entity}…" },
    "note_min_length": 10,
    "invoice": { "field": "invoice", "max_bytes": 10485760 },
    "messages": { "required": "…", "own_suspended": "…", "invoice": "…" }
  }
}
CampoQué es
appliestrue si la cuenta es de Cuba: un retiro por cualquiera de los métodos de ticks necesita us_payment
enforcedfalse mientras QvaPay solo registra (el retiro sale sin us_payment). Enseña el formulario igual
own_account_suspendedtrue mientras los retiros a una cuenta propia están suspendidos: no dejes elegir own
purposes[].needsQué pide cada propósito además de las declaraciones
goods_attestationTexto de la Atestación A con los huecos {entity}, {amount}, {payee}, {invoice} y {end_user}. El servidor lo vuelve a escribir con los datos del retiro

Qué se envía

El cuerpo de POST /withdraw lleva el objeto us_payment:

{
  "amount": 250,
  "pay_method": "PAYPAL",
  "details": { "Enlace de pago": "https://paypal.me/vendor", "Correo asociado a la cuenta": "[email protected]", "Nombre y Apellidos": "Vendor Inc" },
  "pin": "123456",
  "us_payment": {
    "payee": "third_party",
    "purpose": "S-1",
    "service_kind": "software",
    "service": { "description": "Licencia anual de software de contabilidad" },
    "recipient": { "name": "Vendor Inc", "country": "US" },
    "attestations": {
      "notProhibitedOfficial": true,
      "notProhibitedPartyMember": true,
      "notRestrictedList": true,
      "lawfulPurpose": true
    },
    "language": "es"
  }
}

Si paga a un tercero, el retiro viaja como multipart/form-data: el JSON en el campo payload y la factura o el recibo en PDF (máximo 10 MB) en el campo invoice.

CampoValores
payeethird_party (un vendedor o servicio) u own (una cuenta del propio titular)
purposeE-1 mercancía de un vendedor de EE. UU. · S-1 internet, software o telecomunicaciones de EE. UU. · E-2 compra asistida · OTHER otro (describirlo en note, mínimo 10 caracteres)
service_kindSolo con S-1: internet, software o telecom
service.descriptionSolo con S-1: qué servicio se paga
goodsCon E-1 y E-2: description (mercancía), manufacturer (fabricante), origin_country (ISO-2), end_use (uso) y shipping (transportista y guía, o cómo llega)
goods_attestationSolo con E-1: la Atestación A (entity, invoice, endUser, accepted: true, language)
recipientCon third_party: name (como aparece en la factura) y country (ISO-2)
attestationsLas cuatro declaraciones en true
noteDescripción libre; obligatoria con OTHER
languagees o en

Qué pasa con el retiro

  • A una cuenta propia: hoy está suspendido. El retiro no se crea y la respuesta es 403 CU_OWN_ACCOUNT_SUSPENDED.
  • A un tercero con un propósito permitido y un destinatario en EE. UU.: el retiro se crea como siempre.
  • Lo que no encaja (OTHER, un destinatario fuera de EE. UU., o un formulario cuyo correo, teléfono o nombre es el del propio titular aunque declares un tercero): el retiro se crea y pasa una revisión de compliance antes de salir. Puede tardar más de lo habitual.

Un cliente que en BANK o BANK_INTL envía solo goods_attestation (la Atestación A de antes) sigue funcionando: se lee como E-1 a un tercero y, como le faltan los datos de la mercancía, el retiro pasa la revisión. La factura en PDF es obligatoria igual.

Errores

CódigoCuándo
400 US_RAIL_PURPOSE_REQUIREDFalta us_payment o está incompleto. missing lista lo que falta: payee, purpose, service_kind, service.description, goods_attestation, goods.description, goods.manufacturer, goods.origin_country, goods.end_use, goods.shipping, note, recipient.name, recipient.country, attestations
400 INVOICE_REQUIREDPago a un tercero sin la factura en invoice
400 INVOICE_INVALIDEl archivo no es un PDF, está vacío o pasa de 10 MB
400 INVOICE_HAS_PANEl PDF incluye un número de tarjeta bancaria: táchalo y vuelve a subirlo
403 CU_OWN_ACCOUNT_SUSPENDEDRetiro a una cuenta propia por un método de EE. UU.

En todos estos casos no se debita nada.