Crea y comparte un enlace de pago
Vende sin código: crea un enlace de un solo uso en el portal, compártelo por WhatsApp o QR y confirma el pago — o crea enlaces de producto reutilizables con la API.
Qué vas a hacer
Un enlace de pago abre el checkout alojado de VEXPay por un monto fijo en USD. El comprador elige cómo pagar entre los métodos que ofrece tu cuenta. Cada enlace del portal acepta un pago.
- Una cuenta vendedor (las cuentas marketplace no tienen enlaces de pago; usa sesiones de checkout, mira Dividir pagos).
- Para enlaces Live: el modo Live aprobado (mira Salir a producción). Los enlaces Test funcionan en cualquier momento.
- Opcional: tu Business profile completo, para que los compradores vean tu nombre y logo.
Pasos
- Abre Payment links
En el portal, elige Live o Test en el encabezado y abre Payment links.
- Completa el enlace
Monto en USD (hasta 2 decimales), una descripción que ve el comprador (hasta 140 caracteres) y, opcionalmente, una referencia privada y una fecha de vencimiento futura.
- Compártelo
Usa Copy link, Share o QR code. Debajo de cada enlace activo el portal muestra "Buyers can pay with: …", con una razón corta por cada método oculto.
- Cobra
Cuando el comprador paga, el enlace pasa a Paid, el pago aparece en Payments y se disparan tus webhooks
payment.*.
Enlaces reutilizables para un producto (API)
Para vender el mismo artículo muchas veces a un precio unitario fijo, crea un producto y un enlace de producto. Los enlaces de producto aceptan muchos pagos y pueden dejar que el comprador elija la cantidad.
curl --request POST "${API_URL}/v1/products" \
--header "content-type: application/json" \
--header "x-api-key: ${VEXPAY_API_KEY}" \
--data '{ "name": "Plan mensual", "priceUsd": 12.00 }'
curl --request POST "${API_URL}/v1/products/PRODUCT_ID/links" \
--header "content-type: application/json" \
--header "x-api-key: ${VEXPAY_API_KEY}" \
--data '{ "allowQuantity": true, "maxQuantity": 10 }'Desactiva un enlace de producto con PATCH /v1/payment-links/:id y { "status": "disabled" }. Más: Productos y enlaces
Comprueba que funcionó
- Abre el enlace en una ventana privada: ves el nombre de tu negocio, la descripción y el monto.
- Después de un pago de prueba el enlace muestra Paid y quien lo abra de nuevo ve que ya fue pagado.
- Tu endpoint de webhook recibió
payment.completed.
Si algo sale mal
| Síntoma | Causa probable | Qué hacer |
|---|---|---|
| "This payment link is not available." | Modo Live no aprobado o suspendido, la cuenta deshabilitada, o el enlace de producto desactivado | Revisa tu estado Live, o activa el enlace de nuevo. |
| "This payment link has already been paid." | Enlace de un solo uso ya pagado | Crea un enlace nuevo. |
| "This payment link has expired." | Pasó la fecha de vencimiento | Crea un enlace nuevo. |
409 charge_in_progress | Otro comprador está pagando el mismo enlace de un solo uso | Reintenta en un momento. |
| Falta un método | Mira la razón debajo del enlace | Mira Activar o desactivar métodos. |
403 payment_links_unavailable | Cuenta marketplace | Usa sesiones de checkout desde la API. |
Relacionado: Enlaces de pago · Checkout embebido