Enviar detalles de pago

Envía los datos del pagador y los campos específicos del método para un cobru existente.

Endpoint

POST /{url}

Este contrato viene principalmente de los materiales originales de Spotlight de Cobru, notas internas compiladas de API y research posterior del checkout. Cobru todavía no ha reejecutado todas las variantes de método de punta a punta dentro de la evidencia de sandbox publicada por este repo, así que este endpoint sigue en la categoría legacy-doc para planeación de producción.

Confianza por método

MétodoConfianzaMotivo
psemás altavarias fuentes coinciden en bank y en la dependencia de GET /get_banks/1/
NEQUImediala forma del request es consistente entre Spotlight y el research posterior, pero el runtime sigue variando según los datos del pagador
daviplatamediaSpotlight y el research posterior documentan el paso de OTP, pero Cobru no ha publicado todavía una repetición completa confirmada en este repo
credit_cardmediaSpotlight trae un payload claro y tarjetas de prueba, pero la paridad productiva aún requiere revalidación
brebmedia-bajaSpotlight documenta payment: "breb" directo, pero el research posterior en sandbox lo observó como deshabilitado o restringido comercialmente
métodos en efectivo y corresponsalesmedia-bajalos payloads están documentados, pero el detalle de las respuestas sigue viniendo sobre todo de material legacy

Propósito

Después de crear un cobru, este endpoint recibe los datos del pagador y los campos requeridos por el método de pago seleccionado.

Este es el hub de checkout para:

  • Bre-B
  • PSE
  • Efecty y Corresponsal Bancolombia
  • Nequi
  • dale!
  • Botón Bancolombia
  • Daviplata
  • tarjetas de crédito

Parámetro de path

CampoTipoDescripción
urlstringslug del cobru retornado por POST /cobru/

Campos comunes

{
  "name": "Juan Perez",
  "payment": "efecty",
  "cc": "1140867070",
  "email": "juan@cobru.co",
  "document_type": "CC",
  "phone": "3002794981"
}
CampoRequeridoNotas
namesí en la mayoría de métodosnombre del pagador
paymentselector del método de pago
ccsí en la mayoría de métodosnúmero de documento del pagador
emailsí en la mayoría de métodosemail del pagador
document_typesí en la mayoría de métodosSpotlight muestra CC, TI, CE, NIT, PA
phonesí en la mayoría de métodosteléfono del pagador

Usa el campo payment, no payment_method. Spotlight y el research posterior apuntan a payment como el selector aceptado.

Respuestas y errores observados en Spotlight

StatusCausaNotas
200detalles de pago generadosla forma de la respuesta cambia según el método
403intentas pagar tu propio cobru con saldo CobruSpotlight muestra {"result":"same_user"}
400el dueño superaría su balance permitido{"result":"LIMIT_BALANCE"}
400el cobru ya fue pagado{"result":"COBRU_IS_PAYED"}
400método de pago desconocido{"error": true, "msg": "unknown payment method"}
400método no habilitado{"error":"Payment method is not enabled.","result":"NOT_ALLOWED"}
404no se encontró el usuario que paga con saldo Cobrusolo flujo legacy

Matriz de métodos

Métodoliteral de paymentCampos extraSiguiente paso
Bre-Bbrebninguno en el request basemostrar qr_value / key_value
PSEpsebank, addressredirigir a la URL PSE retornada por Cobru
Efectyefectyninguno además de los comunesmostrar los detalles de pago en efectivo retornados
Corresponsal Bancolombiacorresponsal_bancolombianinguno además de los comunesmostrar los detalles de pago retornados
NequiNEQUIphone_nequi, push opcionalusar checkout o respuesta tipo QR
dale!daleninguno además de los comunesseguir la respuesta retornada por Cobru
Botón Bancolombiabancolombia_transferninguno además de los comunesredirigir a checkout
Daviplatadaviplataninguno en el primer requestconfirmar luego con OTP
Tarjeta de créditocredit_cardcredit_card, expiration_date, cvv, duescompletar el flujo de tarjeta

Bre-B

{
  "payment": "breb"
}

Spotlight muestra una respuesta que incluye:

  • qr_value
  • key_value
  • method: "breb"
  • franchise: "breb"

Los materiales originales también indican que qr_value y key_value viven 5 minutos.

El research posterior en sandbox observó payment: "breb" directo como deshabilitado o restringido comercialmente en algunos entornos. Toma la forma del request como documentada, pero no asumas disponibilidad directa de Bre-B sin tu propia confirmación en sandbox.

PSE

PSE requiere dos campos extra:

CampoTipoDescripción
bankstringcódigo numérico del banco
addressstringdirección del pagador
{
  "name": "Juan Perez",
  "payment": "pse",
  "cc": "1140867070",
  "email": "juan@cobru.co",
  "document_type": "CC",
  "phone": "300000000",
  "bank": "1040",
  "address": "Bogotá, Colombia"
}

Antes de enviar payment: "pse", consulta GET /get_banks/1/ y envía en bank el bankCode elegido.

Dentro de las variantes legacy de checkout, PSE es una de las mejor corroboradas en los materiales de Cobru porque la dependencia de bancos, los campos del request y el patrón de redirección coinciden entre varias fuentes.

Si el request es exitoso, Cobru retorna la URL de PSE a la que tu frontend debe redirigir al usuario.

Métodos en efectivo: Efecty y Corresponsal Bancolombia

Spotlight agrupa estos métodos como generación de detalles de pago en efectivo.

{
  "name": "Juan Perez",
  "payment": "efecty",
  "cc": "1140867070",
  "email": "juan@cobru.co",
  "document_type": "CC",
  "phone": "3002794981"
}

corresponsal_bancolombia usa la misma forma base, cambiando solo el literal payment.

Nequi

{
  "name": "Test Gómez",
  "payment": "NEQUI",
  "cc": "1082626262",
  "email": "test@cobru.co",
  "phone": "307654332",
  "document_type": "CC",
  "phone_nequi": "307654332",
  "push": true
}

Comportamiento descrito por Spotlight:

  • push: true genera un push en la app Nequi del usuario
  • push: false evita el push y retorna la data necesaria para una experiencia tipo QR, incluyendo ref

dale!

{
  "name": "Test Gómez",
  "payment": "dale",
  "cc": "1082626262",
  "email": "test@cobru.co",
  "phone": "307654332",
  "document_type": "CC"
}

Botón Bancolombia

{
  "name": "Test Gómez",
  "payment": "bancolombia_transfer",
  "cc": "1082626262",
  "email": "test@cobru.co",
  "phone": "307654332",
  "document_type": "CC"
}

Spotlight indica que la respuesta incluye un checkout URL que el usuario debe abrir para completar el pago.

Daviplata

Request inicial:

{
  "name": "Test Gómez",
  "payment": "daviplata",
  "cc": "1082626262",
  "email": "test@cobru.co",
  "phone": "307654332",
  "document_type": "CC"
}

Después de que el pagador recibe el OTP de Daviplata, Spotlight requiere una segunda llamada:

POST /cobru/confirm_daviplata/

Campos del body:

CampoDescripción
URLURL/slug del cobru
OTPOTP recibido por el pagador

El éxito se describe como result == "OK".

Cobru todavía no ha publicado una repetición completa del OTP de Daviplata dentro de la evidencia de sandbox de este repo. Usa este contrato como una referencia legacy fuerte, no como un flujo verificado recientemente.

Tarjeta de crédito

{
  "name": "Test Gómez",
  "payment": "credit_card",
  "cc": "1082626262",
  "email": "test@cobru.co",
  "phone": "307654332",
  "document_type": "CC",
  "credit_card": "4111111111111111",
  "expiration_date": "12/30",
  "cvv": "123",
  "dues": 1
}

Spotlight indica:

  • Cobru no persiste los datos de tarjeta
  • en producción el tráfico debe ser HTTPS
  • tarjetas de prueba mostradas en Spotlight:
    • aprobada: 4111 1111 1111 1111
    • rechazada: 4111 1111 1111 1112

Páginas relacionadas

On this page