VEX

VEXPay · Desarrolladores

Integra cobros en bolívares con la API de VEXPay

Crea una sesión de checkout desde tu servidor, insértala en tu web y confirma cada pago con webhooks firmados. SDKs oficiales para Node.js, Python y el navegador.

¿Buscas tasas USDT/VES y BCV para tu app? Usa la API pública de VEX Wallet.

Quickstart

Tu primer cobro en cuatro pasos

El flujo recomendado: sesión de checkout en tu servidor, checkout embebido en tu web y confirmación por webhook.

  1. 01

    Usa tu llave de prueba

    Toda cuenta tiene una llave de prueba y una live. La de prueba funciona desde el primer día y nunca mueve dinero real. Envíala en el header x-api-key, siempre desde tu servidor.

  2. 02

    Crea una sesión de checkout

    Desde tu servidor creas la sesión con el monto en dólares. VEXPay cobra en bolívares a la tasa oficial del BCV.

  3. 03

    Insértala o redirige

    Monta el checkout en tu página con @vexpay/js usando el clientSecret, o redirige a tu cliente a la página de pago de VEXPay.

  4. 04

    Confirma con un webhook

    Entrega el pedido solo cuando recibas el evento payment.completed firmado o consultes la sesión desde tu servidor.

1 · Crear la sesióncURL
curl --request POST "https://api.pay.vexwallet.co/v1/checkout/sessions" \
  --header "content-type: application/json" \
  --header "x-api-key: $VEXPAY_API_KEY" \
  --data '{
    "amountUsd": 25,
    "description": "Pedido #1042",
    "reference": "order-1042",
    "successUrl": "https://tutienda.com/gracias",
    "allowedOrigins": ["https://tutienda.com"]
  }'
1 · Crear la sesión@vexpay/node
import VexPay from '@vexpay/node'

const vexpay = new VexPay(process.env.VEXPAY_API_KEY)

const session = await vexpay.checkout.sessions.create({
  amountUsd: 25,
  reference: 'order-1042',
  allowedOrigins: ['https://tutienda.com'],
})

// Envía al navegador solo session.clientSecret, nunca tu API key.
2 · Montar el checkout@vexpay/js
import { checkout } from '@vexpay/js'

const cx = checkout({ clientSecret })
cx.on('completed', ({ paymentId }) => {
  // Aviso informativo: confirma el pago en tu servidor antes de entregar.
})
cx.mount('#pagar')

// Si tu página no puede usar un iframe: redirectToCheckout({ clientSecret })

Tu API key va solo en tu servidor. Las llaves live se activan cuando VEXPay revisa tu integración; hasta entonces responden live_mode_not_activated.

SDKs oficiales

Instala el SDK de tu lenguaje

Servidor (TypeScript / Node)@vexpay/node
npm install @vexpay/node
Servidor (sync y async)vexpay
pip install vexpay
Checkout embebido en tu web@vexpay/js
npm install @vexpay/js
PaqueteUsoGuía
@vexpay/nodeServidor (TypeScript / Node)Node.js
vexpayServidor (sync y async)Python
@vexpay/jsCheckout embebido en tu webNavegador

Webhooks

Eventos que puedes recibir

Registra tu URL y elige los eventos. Cada entrega llega firmada con HMAC-SHA256 en el header VexPay-Signature e incluye VexPay-Event-Id para deduplicar.

Pagos

  • payment.pending
  • payment.completed
  • payment.failed
  • payment.canceled
  • payment.reversed

Retiros y pagos a vendedores

  • payout.completed
  • payout.failed

Comercios (marketplaces)

  • merchant.created
  • merchant.updated
  • merchant.verified
  • merchant.rejected
  • merchant.activated
  • merchant.deactivated
  • merchant.reactivated
  • merchant.restricted
  • merchant.kyb_required
  • merchant.capability.updated
  • merchant.balance.updated
  • merchant.wallet_credit

Tu cuenta

  • tenant.live_status_changed
  • tenant.status_changed
  • tenant.api_key.created
  • tenant.api_key.rotated
  • tenant.api_key.revoked

Pruebas

  • notification.test

Cada evento se entrega una sola vez, sin reintentos: guarda el evento verificado rápido, respóndelo con un 2xx y reconcilia con la consulta de pagos por si alguno no llega. Ver la guía de webhooks.

¿Listo para cobrar desde tu app o tienda?

Crea tu cuenta de negocio, integra con tu llave de prueba y activa las llaves live cuando estés listo.

Gratis · Sin mensualidades · Cobras desde el primer día

Obtén la app de VEX Wallet

Gratis, en 2 minutos. Dile a tu familia que ya tienes donde recibir.

Gratis · Sin montos mínimos · Soporte en español