Retiro a Venezuela

Envía USD mediante Pago Móvil o transferencia bancaria.

POST /withdraw/ve/ admite dos modalidades. En ambas, consulta primero GET /withdraw/ve/banks/ y envía el código del banco seleccionado en bank_code.

currency_code debe enviarse como "USD". Los valores permitidos para document_type son "4", "13", "14" y "15".

Consultar bancos

GET https://dev.cobru.co/withdraw/ve/banks/
Authorization: Bearer <access_token>
x-api-key: <api_key>

La respuesta contiene los bancos disponibles en banks.data:

{
  "success": true,
  "banks": {
    "status": "Success",
    "statusCode": 200,
    "message": "Lista de bancos obtenida exitosamente",
    "data": [
      {
        "codigo": "0156",
        "nombre": "100% BANCO",
        "logo": "https://example.com/bank-logo.png"
      }
    ]
  }
}

Envía codigo como bank_code. Consérvalo como texto para no perder ceros iniciales.

Consultar tasa y comisión

Antes de crear el retiro, consulta la tasa USD/VES y la comisión. Para obtener solo los valores base, no envíes body ni amount. Esta respuesta fue verificada contra producción:

GET https://prod.cobru.co/withdraw/ve/rates/
Authorization: Bearer <access_token>
x-api-key: <api_key>
{
  "success": true,
  "rates": {
    "rate": 711.0,
    "commission": 1.0
  }
}

Para cotizar un retiro, envía el monto en USD como query parameter:

GET https://prod.cobru.co/withdraw/ve/rates/?amount=333
Authorization: Bearer <access_token>
x-api-key: <api_key>
{
  "success": true,
  "rates": {
    "rate": 711.0,
    "commission": 1.0,
    "debit_amount": 334.0,
    "ves_amount": 236763.0
  }
}
CampoSignificado
rateBolívares entregados por cada USD.
commissionComisión que se suma al débito en USD.
debit_amountTotal a debitar en USD; solo aparece al enviar amount.
ves_amountTotal a entregar en VES; solo aparece al enviar amount.

En el ejemplo, amount=333, debit_amount=334.0 y ves_amount=236763.0. Si consultas sin amount, usa únicamente rate y commission; debit_amount y ves_amount no aplican.

Caso 1: Pago Móvil

POST https://dev.cobru.co/withdraw/ve/
Content-Type: application/json
Authorization: Bearer <access_token>
x-api-key: <api_key>
{
  "amount": 1,
  "is_movil_pay": true,
  "document_type": "14",
  "document": "15396329",
  "phone": "0414249980",
  "currency_code": "USD",
  "bank_code": "0174"
}

Validación del tipo de documento

Envía el código como texto. Cualquier valor distinto de "4", "13", "14" o "15" devuelve 400 Bad Request.

{
  "document_type": [
    "Tipo de documento no válido para Venezuela. Códigos permitidos: 4, 13, 14, 15."
  ]
}

Caso 2: transferencia bancaria

{
  "amount": 20.00,
  "is_movil_pay": false,
  "document_type": "14",
  "document": "18184460",
  "account_holder_name": "Juan Perez",
  "account_number": "01380040500400254789",
  "currency_code": "USD",
  "description": "Retiro VE prueba",
  "callback": "https://example.com/webhooks/withdrawals",
  "bank_code": "0138"
}
CampoPago MóvilTransferencia bancaria
is_movil_paytruefalse
phonerequeridono se envía
account_holder_nameno se envíarequerido
account_numberno se envíarequerido

document_type, document, currency_code, bank_code y amount se envían en ambas modalidades. Usa siempre "USD" en currency_code. La evidencia disponible muestra description y callback como opcionales.

Respuesta de creación

El sandbox respondió 201 Created:

{
  "amount": "8350.08",
  "paid_amount": "20.00",
  "fee": "7000.00",
  "fee_iva": "1330.00",
  "gmf": "0.08",
  "id": 5055,
  "success": true
}

Guarda id y usa el callback para reconciliar cambios de estado. Estos valores pertenecen a una prueba y no representan una tasa o comisión fija.

On this page