Pagos Instantáneos¶
La API de Khipu para crear y recibir pagos permite a cobradores (individuos u organizaciones), que tengan una cuenta de cobro activa en Khipu, generar cobros.
El proceso de creación, pago y validación es el siguiente:
- El cobrador genera un cobro usando la API y despliega un botón para la compra.
- El pagador pincha el botón de pago en el sitio web, o un enlace de pago en un correo electrónico u otro medio y paga utilizando Khipu.
- El pagador es redireccionado a la página de retorno definida por el cobrador donde se debe indicar que el pago está en verificación (o a la página de fracaso en el caso que no se haya podido hacer el pago).
- Unos momentos después Khipu verifica la transacción y notifica al pagador por correo electrónico. Además, se notifica al comercio por correo electrónico y/o por la invocación de un web service.
- El cobrador valida la notificación de pago y entrega el bien transado al pagador (o descarta la notificación si es inválida)
Obtener Bancos¶
Este método obtiene el listado de bancos asociado a la cuenta.
{
"banks": [
{
"bank_id": "Bawdf",
"logo_url": "https://s3.amazonaws.com/static.khipu.com/logos/bancos/chile/demobank-icon.png",
"message": "Este es un banco de pruebas. Las transacciones no son reales.",
"min_amount": "200.0000",
"name": "DemoBank",
"parent": "",
"type": "Persona"
}
]
}
Crear Pago¶
Crea un pago en Khipu y obtiene las URLs para redirección al usuario para que complete el pago.
import khipu_tools
khipu_tools.api_key = "khipu-apiv3-key
khipu_tools.Payments.create(amount=10000, currency="CLP", subject="Pago de prueba")
El listado completo de variables se encuentra descrita en la api de khipu
Respuesta
{
"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
}
Obtener información de un Pago¶
Información completa del pago. Datos con los que fue creado y el estado actual del pago.
import khipu_tools
khipu_tools.api_key = "khipu-apiv3-key
khipu_tools.Payments.get(payment_id="gqzdy6chjne9")
Respuesta
{
"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"
}
Reembolsar Pago¶
Reembolsa total o parcialmente el monto de un pago. Esta operación solo se puede realizar en los comercios que recauden en cuenta Khipu y antes de la rendición de los fondos correspondientes.
import khipu_tools
khipu_tools.api_key = "khipu-apiv3-key
khipu_tools.Payments.refund(payment_id="gqzdy6chjne9")
Respuesta
Eliminar Pago¶
Borrar un pago. Solo se pueden borrar pagos que estén pendientes de pagar. Esta operación no puede deshacerse.
import khipu_tools
khipu_tools.api_key = "khipu-apiv3-key
khipu_tools.Payments.delete(payment_id="gqzdy6chjne9")
Respuesta
Predecir Pago¶
Predicción acerca del resultado de un pago, si podrá o no funcionar. Información adicional como máximo posible de transferir a un nuevo destinatario.
import khipu_tools
khipu_tools.api_key = "khipu-apiv3-key
khipu_tools.Predict.get(
payer_email="pagador@email.com",
amount="5000000",
currency="CLP",
bank_id="Bawdf",
)
Respuesta
{
"result": "ok",
"max_amount": 5000000,
"cool_down_date": "2024-06-21T11:23:09.123Z",
"new_destinatary_max_amount": 100000
}
Medios de Pago¶
Obtiene el listado de medios de pago disponible para una cuenta de cobrador.
import khipu_tools
khipu_tools.api_key = "khipu-apiv3-key
khipu_tools.Payments.methods(cuenta_cobro="12345")
Respuesta