Crear Link de Pago

Crea enlaces de pago y códigos QR dinámicamente a través de la API. Genera URLs de pago personalizables para transacciones con opciones de branding y configuraciones flexibles.

Crea una nueva solicitud de pago que genera una URL de pago y, opcionalmente, un código QR.

URL de solicitud

Debes realizar una solicitud POST a las siguientes URLs según tus necesidades:

  • Producción: https://h2h.bamboopayment.com/api/v1/payments
  • Stage: https://h2h.stage.bamboopayment.com/api/v1/payments

Recuerda incluir la Clave Privada del Comerciante en los encabezados de la solicitud.
Para más detalles, consulta nuestra Guía de Autenticación.

Parámetros de la solicitud

ParámetroTipo¿Requerido?Descripción
amountintegerMonto del pago en la unidad más pequeña de la moneda (por ejemplo, 123450 representa 1,234.50)
currencyCodestringCódigo de moneda en formato ISO 4217 alfa-3 (por ejemplo, UYU, USD)
paymentTypestringTipo de pago. Debe ser “QR” para habilitar la generación de códigos QR o “CheckoutPro” solo para enlaces de pago. Cuando se configura como “QR”, el objeto qrImageOptions es opcional. Para cualquier otro tipo de pago, qrImageOptions debe ser nulo.
orderNumberstringNoIdentificador del pedido del comerciante.
installmentsinteger[]NoLista de cuotas. Si no se proporciona, toma el valor predeterminado para cada método de pago configurado en el Portal del Comerciante. Si no está configurado, toma 1.
validForMinutesintegerNoTiempo de validez del enlace de pago, después del cual no podrá procesarse. Predeterminado: 15 minutos. Solo puede reducirse, no aumentarse.
notificationUrlstringNoURL para notificar el estado del pago. Puede configurarse un valor predeterminado en el Portal del Comerciante.
metadataInobjectNoDatos adicionales específicos para cada país y adquirente.

Objeto MetadataIn

ParámetroTipo¿Requerido?Descripción
metadataIninvoiceNumberstringNoNúmero de factura asociado a la venta.
metadataInisFinalConsumerstringNoIndica si la venta es a un consumidor final. Valores: true, false.
metadataIntaxableAmountstringNoMonto sujeto a IVA.

Objeto QRImageOptions

ParámetroTipo¿Requerido?Descripción
qrImageOptionscontentTypestringNoDefine cómo se estructurará el contenido del código QR:
encodedJson: Codifica los datos del pago como JSON Base64. Esto evita que los escáneres QR abran automáticamente URLs.
url: Inserta la RedirectUrl directamente en el código QR para un escaneo fácil y redirección inmediata.
Predeterminado: encodedJson.
qrImageOptionsencodedJsonPrefixstringNoAntepone la información del pago codificada en Base64 con este prefijo. Útil para esquemas de URL personalizados en aplicaciones móviles.
qrImageOptionserrorCorrectionLevelstringNoEstablece la capacidad de corrección de errores del código QR:
low: 7% de tolerancia al error
medium: 15% de tolerancia al error
quartile: 25% de tolerancia al error
high: 30% de tolerancia al error
Predeterminado: quartile.
qrImageOptionsimageFormatstringNoEspecifica el formato de los píxeles de la imagen:
rgb24: Color RGB de 8 bits (3 canales)
argb32: Color ARGB de 8 bits con canal alfa (4 canales)
Predeterminado: rgb24.
qrImageOptionsimagePixelFormatstringNoEspecifica el formato de la imagen: PNG, BMP, GIF, JPEG, PBM, TGA, TIFF, WEBP.
Predeterminado: png.
qrImageOptionsscaleintegerNoAncho y alto, en píxeles, de cada módulo del código QR.
Predeterminado: 10.
qrImageOptionsborderintegerNoNúmero de módulos de borde añadidos a cada lado de la imagen del código QR.
Predeterminado: 2.
qrImageOptionsforegroundColorstringNoColor del código QR. Acepta nombres de colores o valores hexadecimales.
Predeterminado: “black”.
qrImageOptionsbackgroundColorstringNoColor de fondo. Acepta nombres de colores o valores hexadecimales.
Predeterminado: “white”.
qrImageOptionsborderColorstringNoColor del borde. Acepta nombres de colores o valores hexadecimales.
Predeterminado: Igual que backgroundColor.
qrImageOptionsembeddedImageNamestringNoNombre de una imagen pre-cargada en el Portal del Comerciante para mostrar en el centro del código QR.
qrImageOptionsembeddedImageRelativeWidthfloatNoTamaño de la imagen incrustada en relación al ancho del código QR. Ejemplo: 0.25 significa que la imagen ocupará el 25% del ancho del código QR. Si no se especifica, la imagen conserva su tamaño original.

Importante: Este objeto es opcional cuando paymentType es “QR” y debe ser nulo para cualquier otro tipo de pago.

Ejemplo del Request

{
    "amount": 146400,
    "currencyCode": "UYU",
    "paymentType": "qr",
    "orderNumber": "abc123",
    "installments": [1, 3, 6, 12],
    "validForMinutes": 10080,
    "notificationUrl": "https://your-domain.com/notifications",
    "metadataIn": {
      "invoiceNumber": "def456",
      "isFinalConsumer": "true",
      "taxableAmount": "12000"
    },
    "qrImageOptions": {
      "encodedJsonPrefix": "myapp://payment?data=",
      "errorCorrectionLevel": "high",
      "foregroundColor": "#000000",
      "embeddedImageName": "company-logo",
      "embeddedImageRelativeWidth": 0.25
    }
  }

Ejemplo del Response

{
  "paymentId": "15d191b1-ddf7-4664-884f-e3bd99a9da79",
  "redirectUrl": "https://checkout.stage.bamboopayment.com/#?paymentId=15d191b1-ddf7-4664-884f-e3bd99a9da79",
  "validForMinutes": 10080,
  "qrImage": "data:image/png;base64,iVBORw0KGgo...",
  "isSuccess": true,
  "errors": []
}
footer
Última modificación 20 de enero de 2025

© Bamboo | All rights reserved 2025