La API Instant Payment de Khipu (versión 3.0) permite a comerciantes iniciar, consultar, confirmar, reembolsar o eliminar pagos inmediatos mediante transferencias bancarias en tiempo real. Entre sus principales funcionalidades se encuentran: obtener la lista de bancos disponibles con detalles como límites, tarifas y logos; crear un pago especificando un banco o dejar que el usuario elija; confirmar o solicitar el reembolso de un pago mediante su ID; y predecir el estado de un pago usando machine learning. Esta API maneja autenticación mediante clave secreta en el encabezado x-api-key, no requiere firmas, y utiliza certificados SSL de validación extendida para asegurar la comunicación
https://payment-api.khipu.com/
https://payment-api.khipu.com/v3/banks
curl -i -X GET \
https://payment-api.khipu.com/v3/banks \
-H 'x-api-key: YOUR_API_KEY_HERE'
Operación exitosa. Devuelve un objeto JSON con el conjunto de bancos disponibles.
Arreglo con listado de bancos.
Mensaje con particularidades del banco.
Identificador del banco padre (si un banco tiene banca personas y empresas, el primero será el padre del segundo).
{ "banks": [ { "bank_id": "SDdGj", "name": "Banco Estado", "message": "Tarifa de $300 de transferencia a otros bancos, usando CuentaRUT.", "min_amount": 1000, "type": "Persona", "parent": "", "logo_url": "https://s3.amazonaws.com/static.khipu.com/logos/bancos/chile/estado-icon.png" } ] }
https://payment-api.khipu.com/v3/payments/{id}/confirm
curl -i -X POST \
'https://payment-api.khipu.com/v3/payments/{id}/confirm' \
-H 'x-api-key: YOUR_API_KEY_HERE'
{ "message": "Message." }
https://payment-api.khipu.com/v3/payments/{id}
curl -i -X GET \
'https://payment-api.khipu.com/v3/payments/{id}' \
-H 'x-api-key: YOUR_API_KEY_HERE'
Operación exitosa. Devuelve un objeto JSON con la información de pago.
Identificador único del pago, es una cadena alfanumérica de 12 caracteres. Como este identificador es único, se puede usar, por ejemplo, para evitar procesar una notificación repetida. (Khipu espera un código 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos días).
URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones.
URL de pago simplificado.
URL de pago normal.
URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu.
Es true
si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicación de pagos Khipu.
Cadena de caracteres alfanuméricos que identifican unicamente al pago, es el identificador que el servidor de Khipu enviará al servidor del comercio cuando notifique que un pago está conciliado.
Fecha y hora de conciliación del pago. Formato ISO-8601.
Estado del pago, puede ser pending
(el pagador aún no comienza a pagar), verifying
(se está verificando el pago) o done
, cuando el pago ya está confirmado.
Detalle del estado del pago: pending
(el pagador aún no comienza a pagar), normal
(el pago fue verificado y fue cancelado por algún medio de pago estándar), marked-paid-by-receiver
(el cobrador marcó el cobro como pagado por otro medio), rejected-by-payer
(el pagador declaró que no pagará), marked-as-abuse
(el pagador declaró que no pagará y que el cobro fue no solicitado), y reversed
(el pago fue anulado por el comercio, el dinero fue devuelto al pagador).
URL del comprobante de pago.
URL donde se redirige al pagador luego que termina el pago.
URL donde se redirige al pagador luego de que desiste hacer el pago.
URL del webservice donde se notificará el pago.
Fecha máxima para ejecutar el pago (en formato ISO-8601). El cliente podrá realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecución.
Arreglo de URLs de archivos adjuntos al pago.
Nombre del banco seleccionado por el pagador.
Es true
si la conciliación del pago fue hecha luego de la fecha de expiración.
Identificador del pago asignado por el cobrador.
Campo genérico que asigna el cobrador al momento de hacer el pago.
Correo electrónico de la persona responsable del pago.
Es true
cuando este es un cobro por correo electrónico y Khipu enviará recordatorios.
Es true
cuando Khipu enviará el cobro por correo electrónico.
Método de pago usado por el pagador, puede ser regular_transfer
(transferencia normal) o simplified_transfer
(transferencia simplificada).
Origen de fondos usado por el pagador, puede ser debit
para pago con débito, prepaid
para pago con prepago, credit
para pago con crédito, o vacío en el caso de que se haya pagado mediante transferencia bancaria.
{ "payment_id": "gqzdy6chjne9", "payment_url": "https://khipu.com/payment/info/gqzdy6chjne9", "simplified_transfer_url": "https://app.khipu.com/payment/simplified/gqzdy6chjne9", "transfer_url": "https://khipu.com/payment/manual/gqzdy6chjne9", "app_url": "khipu:///pos/gqzdy6chjne9", "ready_for_terminal": false, "notification_token": "9dec8aa176c5223026919b3b5579a4776923e646ff3be686b9e6b62ec042e91f", "receiver_id": 985101, "conciliation_date": "2017-03-01T13:00:00.000Z", "subject": "Test", "amount": 1000, "currency": "CLP", "status": "done", "status_detail": "normal", "body": "Test", "picture_url": "https://micomercio.com/picture_url", "receipt_url": "https://micomercio.com/order/receipt_url", "return_url": "https://micomercio.com/order/return_url", "cancel_url": "https://micomercio.com/order/cancel_url", "notify_url": "https://micomercio.com/webhook/notify_url", "notify_api_version": "3.0", "expires_date": "2023-12-31T15:45:00-04:00", "attachment_urls": [ "https://micomercio.com/attachment1.pdf" ], "bank": "Banco de Chile (Edwards Citi)", "bank_id": "dfFbF", "payer_name": "Nombre Pagador", "payer_email": "pagador@email.com", "personal_identifier": "11.000.111-9", "bank_account_number": "001120490689", "out_of_date_conciliation": true, "transaction_id": "zwo3wqz6uulcvajt", "custom": "<xml>...</xml>", "responsible_user_email": "responsible@email.com", "send_reminders": true, "send_email": true, "payment_method": "simplified_transfer", "funds_source": "debit", "discount": 0, "third_party_authorization_details": "string" }
https://payment-api.khipu.com/v3/payments/{id}
curl -i -X DELETE \
'https://payment-api.khipu.com/v3/payments/{id}' \
-H 'x-api-key: YOUR_API_KEY_HERE'
{ "message": "Message." }
El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda.
El código de moneda en formato ISO-4217.
Identificador propio de la transacción. Ej: número de factura u orden de compra.
Parámetro para enviar información personalizada de la transacción. Ej: documento XML con el detalle del carro de compra.
La dirección URL a donde enviar al cliente mientras el pago está siendo verificado.
La dirección URL a donde enviar al cliente si decide no hacer hacer la transacción.
Una dirección URL de una foto de tu producto o servicio.
La dirección del web-service que utilizará khipu para notificar cuando el pago esté conciliado.
La dirección URL del archivo PDF con el contrato a firmar mediante este pago. El cobrador debe estar habilitado para este servicio y el campo fixed_payer_personal_identifier
es obligatorio.
Versión de la API de notificaciones para recibir avisos por web-service.
Fecha máxima para ejecutar el pago (en formato ISO-8601). El cliente podrá realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecución.
Si es true
, se enviará una solicitud de cobro al correo especificado en payer_email
.
Nombre del pagador. Es obligatorio cuando send_email
es true
.
Correo del pagador. Es obligatorio cuando send_email
es true
.
Correo electrónico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro.
Identificador personal. Si se especifica, solo podrá ser pagado usando ese identificador.
Comisión para el integrador. Sólo es válido si la cuenta de cobro tiene una cuenta de integrador asociada.
Para cuentas de cobro con más cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia.
Fecha de rendición del cobro. Es también la fecha final para poder reembolsar el cobro. Formato ISO-8601.
El cobro sólo se podrá pagar utilizando el medio de pago especificado. Los posibles valores para este campo se encuentran en el campo id
de la respuesta del endpoint /api/3.0/merchants/paymentMethods
.
Nombre del comercio final para quien un proveedor de servicios de pago procesa un pago. Requerido para transacciones de clientes PSP; no aplicable para otros. En caso de tratarse de un PSP de PSP, estos deben ingresarse separados por '->'.
https://payment-api.khipu.com/v3/payments
curl -i -X POST \
https://payment-api.khipu.com/v3/payments \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"amount": 1000,
"currency": "CLP",
"subject": "Cobro de prueba"
}'
Operación exitosa. Devuelve un objeto JSON con la información del pago creado.
Identificador único del pago, es una cadena alfanumérica de 12 caracteres. Como este identificador es único, se puede usar, por ejemplo, para evitar procesar una notificación repetida. (Khipu espera un código 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos días).
URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones.
URL de pago simplificado.
URL de pago normal.
URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu.
{ "payment_id": "gqzdy6chjne9", "payment_url": "https://khipu.com/payment/info/gqzdy6chjne9", "simplified_transfer_url": "https://app.khipu.com/payment/simplified/gqzdy6chjne9", "transfer_url": "https://khipu.com/payment/manual/gqzdy6chjne9", "app_url": "khipu:///pos/gqzdy6chjne9", "ready_for_terminal": false }
https://payment-api.khipu.com/v3/payments/{id}/refunds
curl -i -X POST \
'https://payment-api.khipu.com/v3/payments/{id}/refunds' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{}'
{ "message": "Message." }
https://payment-api.khipu.com/v3/predict
curl -i -X GET \
'https://payment-api.khipu.com/v3/predict?amount=string&bank_id=string¤cy=string&payer_email=string' \
-H 'x-api-key: YOUR_API_KEY_HERE'
Operación exitosa. Devuelve un objeto JSON con la predicción junto con información adiciónal.
Monto máximo para transferir a un nuevo destinatario.
El resultado de la predicción.
{ "result": "ok", "max_amount": 5000000, "cool_down_date": "2024-06-21T11:23:09.123Z", "new_destinatary_max_amount": 100000 }
Advertencia: Esta función sólo está disponible para los clientes que la hayan contratado de forma independiente. Para utilizarla, póngase en contacto con nosotros en soporte@khipu.com
Crear una nueva cuenta de cobro asociada a un integrador. Necesita datos de la cuenta de usuario asociada, datos de facturación y datos de contacto.
Nombre de pila del administrador de la cuenta de cobro a crear.
Apellido del administrador de la cuenta de cobro a crear.
Correo electrónico del administrador de la cuenta de cobro a crear.
Código alfanumérico de dos caracteres ISO 3166-1 del país de la cuenta de cobro a crear.
Identificador tributario del cobrador asociado a la cuenta de cobro a crear.
Categoría tributaria o rubro tributario del cobrador asociado a la cuenta de cobro a crear.
Nombre tributario del cobrador asociado a la cuenta de cobro a crear.
Teléfono del cobrador asociado a la cuenta de cobro a crear.
Dirección del cobrador de la cuenta de cobro a crear.
Segunda línea de la dirección del cobrador de la cuenta de cobro a crear.
Tercera línea de la dirección del cobrador de la cuenta de cobro a crear.
Nombre del contacto del cobrador.
Cargo del contacto del cobrador.
Correo electrónico del contacto del cobrador.
Teléfono del contacto del cobrador.
Tipo de cuenta. Es obligatorio si se utiliza el modelo alternativo de integrador de confianza.
Identificador personal del dueño de la cuenta de banco.
URL por omisión para el webservice donde se notificará el pago.
https://payment-api.khipu.com/v3/receivers
curl -i -X POST \
https://payment-api.khipu.com/v3/receivers \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"admin_first_name": "Nombre",
"admin_last_name": "Apellido",
"admin_email": "admin@email.com",
"country_code": "CL",
"business_identifier": "99.999.999-9",
"business_category": "VENTA AL POR MAYOR DE FRUTAS Y VERDURAS",
"business_name": "Nombre Tributario",
"business_phone": "+56988887777",
"business_address_line_1": "Calle principal 1111",
"business_address_line_2": "Oficina 3-A",
"business_address_line_3": "Santiago",
"contact_full_name": "Nombre Contacto",
"contact_job_title": "Tesorero",
"contact_email": "contacto@email.com",
"contact_phone": "+56955553333"
}'
{ "receiver_id": "934568", "secret": "b2025dc47a29a04592fa3c1191110370db0e208c" }
https://payment-api.khipu.com/v3/merchants/{id}/paymentMethods
curl -i -X GET \
'https://payment-api.khipu.com/v3/merchants/{id}/paymentMethods' \
-H 'x-api-key: YOUR_API_KEY_HERE'
{ "paymentMethods": [ { "id": "simplified_transfer", "name": "simplified_transfer", "logo_url": "https://s3.amazonaws.com/static.khipu.com/buttons/2015/150x50-transparent.png" } ] }