From 23c96aee33f0b8cd1caa52df15c1844c08c79c9d Mon Sep 17 00:00:00 2001 From: Mario Hernandez Date: Sat, 21 Dec 2024 23:20:52 -0300 Subject: [PATCH] Deployed 5041701 with MkDocs version: 1.6.1 --- 404.html | 185 ++ CHANGELOG/index.html | 268 +- api/index.html | 4739 +++++++++++++++++++++++++++++++++ assets/_mkdocstrings.css | 143 + contributing/index.html | 398 ++- index.html | 187 ++ objects.inv | 7 + pagos-automaticos/index.html | 636 +++++ pagos-instantaneos/index.html | 786 ++++++ search/search_index.json | 2 +- sitemap.xml | 18 +- sitemap.xml.gz | Bin 230 -> 256 bytes 12 files changed, 7337 insertions(+), 32 deletions(-) create mode 100644 api/index.html create mode 100644 objects.inv create mode 100644 pagos-automaticos/index.html create mode 100644 pagos-instantaneos/index.html diff --git a/404.html b/404.html index ca69949..41b804e 100644 --- a/404.html +++ b/404.html @@ -201,6 +201,91 @@ + + + + +
  • + + + + + + Pagos Instantáneos + + +
  • + + + + + + + +
  • + + + + + + Pagos Automáticos + + +
  • + + + + + + + +
  • + + + + + + API + + +
  • + + + + + + + +
  • + + + + + + Colabora + + +
  • + + + + + + + +
  • + + + + + + Cambios + + +
  • + + + @@ -268,6 +353,106 @@ + + + + + + +
  • + + + + + Pagos Instantáneos + + + + +
  • + + + + + + + + + +
  • + + + + + Pagos Automáticos + + + + +
  • + + + + + + + + + +
  • + + + + + API + + + + +
  • + + + + + + + + + +
  • + + + + + Colabora + + + + +
  • + + + + + + + + + +
  • + + + + + Cambios + + + + +
  • + + + diff --git a/CHANGELOG/index.html b/CHANGELOG/index.html index 8a447b4..1063b71 100644 --- a/CHANGELOG/index.html +++ b/CHANGELOG/index.html @@ -15,6 +15,8 @@ + + @@ -22,7 +24,7 @@ - Changelog - khipu-tools + Cambios - khipu-tools @@ -108,7 +110,7 @@
    - Changelog + Cambios
    @@ -208,6 +210,93 @@ + + + + +
  • + + + + + + Pagos Instantáneos + + +
  • + + + + + + + +
  • + + + + + + Pagos Automáticos + + +
  • + + + + + + + +
  • + + + + + + API + + +
  • + + + + + + + +
  • + + + + + + Colabora + + +
  • + + + + + + + + + +
  • + + + + + + Cambios + + +
  • + + + @@ -275,6 +364,164 @@ + + + + + + +
  • + + + + + Pagos Instantáneos + + + + +
  • + + + + + + + + + +
  • + + + + + Pagos Automáticos + + + + +
  • + + + + + + + + + +
  • + + + + + API + + + + +
  • + + + + + + + + + +
  • + + + + + Colabora + + + + +
  • + + + + + + + + + + + +
  • + + + + + + + + + + + + + + Cambios + + + + + + + + + +
  • + + + @@ -291,23 +538,8 @@

    Changelog

    -

    Cambios notables de Django Payments Chile

    -

    Formato basado en Keep a Changelog, -y este proyecto se adhiere a Semantic Versioning.

    [Unreleased]

    - -

    [2024.9.29]

    - -

    [2024.9.23]

    +

    [2024.12.1]

    diff --git a/api/index.html b/api/index.html new file mode 100644 index 0000000..c54058a --- /dev/null +++ b/api/index.html @@ -0,0 +1,4739 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + API - khipu-tools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Saltar a contenido + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + +

    Documentación API

    +

    Banks

    + + +
    + + + + +
    +

    + Bases: APIResource[T]

    + + + + + + + +
    + Source code in khipu_tools/_banks.py +
    32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    class Banks(APIResource[T]):
    +    OBJECT_NAME: ClassVar[Literal["banks"]] = "banks"
    +    OBJECT_PREFIX: ClassVar[Literal["v3"]] = "v3"
    +
    +    banks: list[BankItem]
    +    """Listado con Bancos registrados"""
    +
    +    @classmethod
    +    def get(cls) -> KhipuObject["Banks"]:
    +        """
    +        Este método obtiene la lista de bancos que se pueden utilizar para pagar en esta cuenta de cobro.
    +        """
    +        result = cls._static_request(
    +            "get",
    +            cls.class_url(),
    +        )
    +        if not isinstance(result, KhipuObject):
    +            raise TypeError(
    +                "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +            )
    +
    +        return result
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + banks: list[BankItem] + + + instance-attribute + + +

    + + +
    + +

    Listado con Bancos registrados

    +
    + +
    + + + +
    + + +

    + get() + + + classmethod + + +

    + + +
    + +

    Este método obtiene la lista de bancos que se pueden utilizar para pagar en esta cuenta de cobro.

    + +
    + Source code in khipu_tools/_banks.py +
    39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    @classmethod
    +def get(cls) -> KhipuObject["Banks"]:
    +    """
    +    Este método obtiene la lista de bancos que se pueden utilizar para pagar en esta cuenta de cobro.
    +    """
    +    result = cls._static_request(
    +        "get",
    +        cls.class_url(),
    +    )
    +    if not isinstance(result, KhipuObject):
    +        raise TypeError(
    +            "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +        )
    +
    +    return result
    +
    +
    +
    + +
    + + + +
    + +
    + +

    BankItem

    + + +
    + + + + +
    + + +

    Informacion de banco

    + + + + + + +
    + Source code in khipu_tools/_banks.py +
    11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    class BankItem:
    +    """
    +    Informacion de banco
    +    """
    +
    +    bank_id: str
    +    """Identificador del banco."""
    +    name: str
    +    """Nombre del banco."""
    +    message: str
    +    """Mensaje con particularidades del banco."""
    +    min_amount: int
    +    """Monto mínimo que acepta el banco en un pago"""
    +    type: Literal["Persona", "Empresa"]
    +    """Tipo de banco."""
    +    parent: str
    +    """Identificador del banco padre (si un banco tiene banca personas y empresas, el primero será el padre del segundo)."""
    +    logo_url: str
    +    """URL del logo del banco."""
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + bank_id: str + + + instance-attribute + + +

    + + +
    + +

    Identificador del banco.

    +
    + +
    + +
    + + + +

    + logo_url: str + + + instance-attribute + + +

    + + +
    + +

    URL del logo del banco.

    +
    + +
    + +
    + + + +

    + message: str + + + instance-attribute + + +

    + + +
    + +

    Mensaje con particularidades del banco.

    +
    + +
    + +
    + + + +

    + min_amount: int + + + instance-attribute + + +

    + + +
    + +

    Monto mínimo que acepta el banco en un pago

    +
    + +
    + +
    + + + +

    + name: str + + + instance-attribute + + +

    + + +
    + +

    Nombre del banco.

    +
    + +
    + +
    + + + +

    + parent: str + + + instance-attribute + + +

    + + +
    + +

    Identificador del banco padre (si un banco tiene banca personas y empresas, el primero será el padre del segundo).

    +
    + +
    + +
    + + + +

    + type: Literal['Persona', 'Empresa'] + + + instance-attribute + + +

    + + +
    + +

    Tipo de banco.

    +
    + +
    + + + + + +
    + +
    + +

    Predict

    + + +
    + + + + +
    +

    + Bases: APIResource[T]

    + + + + + + + +
    + Source code in khipu_tools/_predict.py +
    12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    class Predict(APIResource[T]):
    +    OBJECT_NAME: ClassVar[Literal["predict"]] = "predict"
    +    OBJECT_PREFIX: ClassVar[Literal["v3"]] = "v3"
    +
    +    class PredictParams(RequestOptions):
    +        payer_email: str
    +        """Correo electrónico del pagador"""
    +        bank_id: str
    +        """Identificador del banco de origen"""
    +        amount: str
    +        """Monto del pago"""
    +        currency: str
    +        """Moneda en formato ISO-4217"""
    +
    +    result: Literal[
    +        "ok",
    +        "new_destinatary_amount_exceeded",
    +        "max_amount_exceeded",
    +        "new_destinatary_cool_down",
    +        "not_available_account",
    +    ]
    +    """El resultado de la predicción."""
    +    max_amount: int
    +    """El monto máximo posible para transferir."""
    +    cool_down_date: str
    +    """Fecha de término para la restricción de monto en formato ISO-8601"""
    +    new_destinatary_max_amount: str
    +    """Monto máximo para transferir a un nuevo destinatario."""
    +
    +    @classmethod
    +    def get(cls, **params: Unpack["Predict.PredictParams"]) -> KhipuObject["Predict"]:
    +        """
    +        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.
    +        """
    +        result = cls._static_request(
    +            "get",
    +            cls.class_url(),
    +            params=params,
    +        )
    +        if not isinstance(result, KhipuObject):
    +            raise TypeError(
    +                "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +            )
    +
    +        return result
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + cool_down_date: str + + + instance-attribute + + +

    + + +
    + +

    Fecha de término para la restricción de monto en formato ISO-8601

    +
    + +
    + +
    + + + +

    + max_amount: int + + + instance-attribute + + +

    + + +
    + +

    El monto máximo posible para transferir.

    +
    + +
    + +
    + + + +

    + new_destinatary_max_amount: str + + + instance-attribute + + +

    + + +
    + +

    Monto máximo para transferir a un nuevo destinatario.

    +
    + +
    + +
    + + + +

    + result: Literal['ok', 'new_destinatary_amount_exceeded', 'max_amount_exceeded', 'new_destinatary_cool_down', 'not_available_account'] + + + instance-attribute + + +

    + + +
    + +

    El resultado de la predicción.

    +
    + +
    + + +
    + + + +

    + PredictParams + + +

    + + +
    +

    + Bases: RequestOptions

    + + + + + + + +
    + Source code in khipu_tools/_predict.py +
    16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    class PredictParams(RequestOptions):
    +    payer_email: str
    +    """Correo electrónico del pagador"""
    +    bank_id: str
    +    """Identificador del banco de origen"""
    +    amount: str
    +    """Monto del pago"""
    +    currency: str
    +    """Moneda en formato ISO-4217"""
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + amount: str + + + instance-attribute + + +

    + + +
    + +

    Monto del pago

    +
    + +
    + +
    + + + +

    + bank_id: str + + + instance-attribute + + +

    + + +
    + +

    Identificador del banco de origen

    +
    + +
    + +
    + + + +

    + currency: str + + + instance-attribute + + +

    + + +
    + +

    Moneda en formato ISO-4217

    +
    + +
    + +
    + + + +

    + payer_email: str + + + instance-attribute + + +

    + + +
    + +

    Correo electrónico del pagador

    +
    + +
    + + + + + +
    + +
    + +
    + + +
    + + +

    + get(**params) + + + classmethod + + +

    + + +
    + +

    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.

    + +
    + Source code in khipu_tools/_predict.py +
    41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    @classmethod
    +def get(cls, **params: Unpack["Predict.PredictParams"]) -> KhipuObject["Predict"]:
    +    """
    +    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.
    +    """
    +    result = cls._static_request(
    +        "get",
    +        cls.class_url(),
    +        params=params,
    +    )
    +    if not isinstance(result, KhipuObject):
    +        raise TypeError(
    +            "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +        )
    +
    +    return result
    +
    +
    +
    + +
    + + + +
    + +
    + +

    Payments

    + + +
    + + + + +
    +

    + Bases: APIResource[T]

    + + + + + + + +
    + Source code in khipu_tools/_payments.py +
    class Payments(APIResource[T]):
    +    OBJECT_NAME: ClassVar[Literal["Payment"]] = "payments"
    +    OBJECT_PREFIX: ClassVar[Literal["v3"]] = "v3"
    +
    +    class PaymentParams(RequestOptions):
    +        """
    +        Parametros de creacion de pago
    +        """
    +
    +        amount: str
    +        """ El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda. """
    +        currency: Literal["CLP", "CLF", "ARS", "PEN", "MXN", "USD", "EUR", "BOB", "COP"]
    +        """El código de moneda en formato ISO-4217."""
    +        subject: str
    +        """Motivo."""
    +        transaction_id: Optional[str]
    +        """Identificador propio de la transacción. Ej: número de factura u orden de compra."""
    +        custom: Optional[str]
    +        """Parámetro para enviar información personalizada de la transacción. Ej: documento XML con el detalle del carro de compra."""
    +        body: Optional[str]
    +        """Descripción del cobro."""
    +        bank_id: Optional[str]
    +        """Identificador del banco para usar en el pago."""
    +        return_url: Optional[str]
    +        """La dirección URL a donde enviar al cliente mientras el pago está siendo verificado."""
    +        cancel_url: Optional[str]
    +        """La dirección URL a donde enviar al cliente si decide no hacer hacer la transacción."""
    +        picture_url: Optional[str]
    +        """Una dirección URL de una foto de tu producto o servicio."""
    +        notify_url: Optional[str]
    +        """La dirección del web-service que utilizará khipu para notificar cuando el pago esté conciliado."""
    +        contract_url: Optional[str]
    +        """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."""
    +        notify_api_version: Literal["3.0"]
    +        """Versión de la API de notificaciones para recibir avisos por web-service. Solo está soportada la version 3.0. para versiones anteriores pyeden usar la libreria pykhipu"""
    +        expires_date: Optional[str]
    +        """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."""
    +        send_email: Optional[bool]
    +        """Si es True, se enviará una solicitud de cobro al correo especificado en payer_email."""
    +        payer_name: Optional[str]
    +        """Nombre del pagador. Es obligatorio cuando send_email es true."""
    +        payer_email: Optional[str]
    +        """Correo del pagador. Es obligatorio cuando send_email es true."""
    +        send_reminders: Optional[bool]
    +        """Si es true, se enviarán recordatorios de cobro."""
    +        responsible_user_email: Optional[str]
    +        """Correo electrónico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro."""
    +        fixed_payer_personal_identifier: Optional[str]
    +        """Identificador personal. Si se especifica, solo podrá ser pagado usando ese identificador."""
    +        integrator_fee: Optional[str]
    +        """Comisión para el integrador. Sólo es válido si la cuenta de cobro tiene una cuenta de integrador asociada."""
    +        collect_account_uuid: Optional[str]
    +        """Para cuentas de cobro con más cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia."""
    +        confirm_timeout_date: Optional[str]
    +        """Fecha de rendición del cobro. Es también la fecha final para poder reembolsar el cobro. Formato ISO-8601."""
    +        mandatory_payment_method: Optional[str]
    +        """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."""
    +        psp_client_merchant_name: Optional[str]
    +        """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."""
    +
    +    class PaymentCreateResponse(KhipuObject):
    +        payment_id: str
    +        """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)."""
    +        payment_url: str
    +        """URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones."""
    +        simplified_transfer_url: str
    +        """URL de pago simplificado."""
    +        transfer_url: str
    +        """URL de pago normal."""
    +        app_url: str
    +        """URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu."""
    +        ready_for_terminal: bool
    +        """Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicación de pagos Khipu."""
    +
    +    class PaymentInfo(RequestOptions):
    +        payment_id: str
    +        """Identificador del pago"""
    +
    +    payment_id: str
    +    """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)."""
    +    payment_url: str
    +    """URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones."""
    +    simplified_transfer_url: str
    +    """URL de pago simplificado."""
    +    transfer_url: str
    +    """URL de pago normal."""
    +    app_url: str
    +    """URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu."""
    +    ready_for_terminal: bool
    +    """Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicación de pagos Khipu."""
    +    notification_token: str
    +    """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."""
    +    receiver_id: int
    +    """Identificador único de una cuenta de cobro."""
    +    conciliation_date: str
    +    """Fecha y hora de conciliación del pago. Formato ISO-8601."""
    +    subject: str
    +    """Motivo del pago."""
    +    amount: Decimal
    +    """El monto del cobro."""
    +    currency: str
    +    """El código de moneda en formato ISO-4217."""
    +    status: Literal["pending", "verifying", "done"]
    +    """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."""
    +    status_detail: Literal[
    +        "pending",
    +        "normal",
    +        "marked-paid-by-receiver",
    +        "rejected-by-payer",
    +        "marked-as-abuse",
    +        "reversed",
    +    ]
    +    """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)."""
    +    body: str
    +    """Detalle del cobro."""
    +    picture_url: str
    +    """URL con imagen del cobro."""
    +    receipt_url: str
    +    """URL del comprobante de pago."""
    +    return_url: str
    +    """URL donde se redirige al pagador luego que termina el pago."""
    +    cancel_url: str
    +    """URL donde se redirige al pagador luego de que desiste hacer el pago."""
    +    notify_url: str
    +    """URL del webservice donde se notificará el pago."""
    +    notify_api_version: Literal["3,0"]
    +    """Versión de la API de notificación."""
    +    expires_date: str
    +    """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."""
    +    attachment_urls: list[str]
    +    """Arreglo de URLs de archivos adjuntos al pago."""
    +    bank: str
    +    """Nombre del banco seleccionado por el pagador."""
    +    bank_id: str
    +    """Identificador del banco seleccionado por el pagador."""
    +    payer_name: str
    +    """Nombre del pagador."""
    +    payer_email: str
    +    """Correo electrónico del pagador."""
    +    personal_identifier: str
    +    """Identificador personal del pagador."""
    +    bank_account_number: str
    +    """Número de cuenta bancaria del pagador."""
    +    out_of_date_conciliation: bool
    +    """Es true si la conciliación del pago fue hecha luego de la fecha de expiración."""
    +    transaction_id: str
    +    """Identificador del pago asignado por el cobrador."""
    +    custom: str
    +    """Campo genérico que asigna el cobrador al momento de hacer el pago."""
    +    responsible_user_email: str
    +    """Correo electrónico de la persona responsable del pago."""
    +    send_reminders: bool
    +    """Es true cuando este es un cobro por correo electrónico y Khipu enviará recordatorios."""
    +    send_email: bool
    +    """Es true cuando Khipu enviará el cobro por correo electrónico."""
    +    payment_method: Literal["regular_transfer", "simplified_transfer", "not_available"]
    +    """Método de pago usado por el pagador, puede ser regular_transfer (transferencia normal) o simplified_transfer (transferencia simplificada)."""
    +    funds_source: Literal["debit", "prepaid", "credit", "not-available", ""]
    +    """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."""
    +    discount: int
    +    """Monto a descontar del valor pagado."""
    +    third_party_authorization_details: str
    +    """Ignorar este campo."""
    +
    +    @classmethod
    +    def create(
    +        cls, **params: Unpack["Payments.PaymentParams"]
    +    ) -> KhipuObject["Payments.PaymentCreateResponse"]:
    +        """
    +        Crea un pago en Khipu y obtiene las URLs para redirección al usuario para que complete el pago.
    +        """
    +        result = cls._static_request(
    +            "post",
    +            cls.class_url(),
    +            params=params,
    +        )
    +        if not isinstance(result, KhipuObject):
    +            raise TypeError(
    +                "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +            )
    +
    +        return result
    +
    +    @classmethod
    +    def get(cls, **params: Unpack["Payments.PaymentInfo"]) -> KhipuObject["Payments"]:
    +        """
    +        Información completa del pago. Datos con los que fue creado y el estado actual del pago.
    +        """
    +        result = cls._static_request(
    +            "get",
    +            f"{cls.class_url()}/{params['payment_id']}",
    +        )
    +        if not isinstance(result, KhipuObject):
    +            raise TypeError(
    +                "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +            )
    +
    +        return result
    +
    +    @classmethod
    +    def delete(cls, **params: Unpack["Payments.PaymentInfo"]) -> bool:
    +        """
    +        Borrar un pago. Solo se pueden borrar pagos que estén pendientes de pagar. Esta operación no puede deshacerse.
    +        """
    +        result = cls._static_request(
    +            "delete",
    +            f"{cls.class_url()}/{params['payment_id']}",
    +        )
    +
    +        return result
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + amount: Decimal + + + instance-attribute + + +

    + + +
    + +

    El monto del cobro.

    +
    + +
    + +
    + + + +

    + app_url: str + + + instance-attribute + + +

    + + +
    + +

    URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu.

    +
    + +
    + +
    + + + +

    + attachment_urls: list[str] + + + instance-attribute + + +

    + + +
    + +

    Arreglo de URLs de archivos adjuntos al pago.

    +
    + +
    + +
    + + + +

    + bank: str + + + instance-attribute + + +

    + + +
    + +

    Nombre del banco seleccionado por el pagador.

    +
    + +
    + +
    + + + +

    + bank_account_number: str + + + instance-attribute + + +

    + + +
    + +

    Número de cuenta bancaria del pagador.

    +
    + +
    + +
    + + + +

    + bank_id: str + + + instance-attribute + + +

    + + +
    + +

    Identificador del banco seleccionado por el pagador.

    +
    + +
    + +
    + + + +

    + body: str + + + instance-attribute + + +

    + + +
    + +

    Detalle del cobro.

    +
    + +
    + +
    + + + +

    + cancel_url: str + + + instance-attribute + + +

    + + +
    + +

    URL donde se redirige al pagador luego de que desiste hacer el pago.

    +
    + +
    + +
    + + + +

    + conciliation_date: str + + + instance-attribute + + +

    + + +
    + +

    Fecha y hora de conciliación del pago. Formato ISO-8601.

    +
    + +
    + +
    + + + +

    + currency: str + + + instance-attribute + + +

    + + +
    + +

    El código de moneda en formato ISO-4217.

    +
    + +
    + +
    + + + +

    + custom: str + + + instance-attribute + + +

    + + +
    + +

    Campo genérico que asigna el cobrador al momento de hacer el pago.

    +
    + +
    + +
    + + + +

    + discount: int + + + instance-attribute + + +

    + + +
    + +

    Monto a descontar del valor pagado.

    +
    + +
    + +
    + + + +

    + expires_date: str + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + funds_source: Literal['debit', 'prepaid', 'credit', 'not-available', ''] + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + notification_token: str + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + notify_api_version: Literal['3,0'] + + + instance-attribute + + +

    + + +
    + +

    Versión de la API de notificación.

    +
    + +
    + +
    + + + +

    + notify_url: str + + + instance-attribute + + +

    + + +
    + +

    URL del webservice donde se notificará el pago.

    +
    + +
    + +
    + + + +

    + out_of_date_conciliation: bool + + + instance-attribute + + +

    + + +
    + +

    Es true si la conciliación del pago fue hecha luego de la fecha de expiración.

    +
    + +
    + +
    + + + +

    + payer_email: str + + + instance-attribute + + +

    + + +
    + +

    Correo electrónico del pagador.

    +
    + +
    + +
    + + + +

    + payer_name: str + + + instance-attribute + + +

    + + +
    + +

    Nombre del pagador.

    +
    + +
    + +
    + + + +

    + payment_id: str + + + instance-attribute + + +

    + + +
    + +

    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).

    +
    + +
    + +
    + + + +

    + payment_method: Literal['regular_transfer', 'simplified_transfer', 'not_available'] + + + instance-attribute + + +

    + + +
    + +

    Método de pago usado por el pagador, puede ser regular_transfer (transferencia normal) o simplified_transfer (transferencia simplificada).

    +
    + +
    + +
    + + + +

    + payment_url: str + + + instance-attribute + + +

    + + +
    + +

    URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones.

    +
    + +
    + +
    + + + +

    + personal_identifier: str + + + instance-attribute + + +

    + + +
    + +

    Identificador personal del pagador.

    +
    + +
    + +
    + + + +

    + picture_url: str + + + instance-attribute + + +

    + + +
    + +

    URL con imagen del cobro.

    +
    + +
    + +
    + + + +

    + ready_for_terminal: bool + + + instance-attribute + + +

    + + +
    + +

    Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicación de pagos Khipu.

    +
    + +
    + +
    + + + +

    + receipt_url: str + + + instance-attribute + + +

    + + +
    + +

    URL del comprobante de pago.

    +
    + +
    + +
    + + + +

    + receiver_id: int + + + instance-attribute + + +

    + + +
    + +

    Identificador único de una cuenta de cobro.

    +
    + +
    + +
    + + + +

    + responsible_user_email: str + + + instance-attribute + + +

    + + +
    + +

    Correo electrónico de la persona responsable del pago.

    +
    + +
    + +
    + + + +

    + return_url: str + + + instance-attribute + + +

    + + +
    + +

    URL donde se redirige al pagador luego que termina el pago.

    +
    + +
    + +
    + + + +

    + send_email: bool + + + instance-attribute + + +

    + + +
    + +

    Es true cuando Khipu enviará el cobro por correo electrónico.

    +
    + +
    + +
    + + + +

    + send_reminders: bool + + + instance-attribute + + +

    + + +
    + +

    Es true cuando este es un cobro por correo electrónico y Khipu enviará recordatorios.

    +
    + +
    + +
    + + + +

    + simplified_transfer_url: str + + + instance-attribute + + +

    + + +
    + +

    URL de pago simplificado.

    +
    + +
    + +
    + + + +

    + status: Literal['pending', 'verifying', 'done'] + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + status_detail: Literal['pending', 'normal', 'marked-paid-by-receiver', 'rejected-by-payer', 'marked-as-abuse', 'reversed'] + + + instance-attribute + + +

    + + +
    + +

    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).

    +
    + +
    + +
    + + + +

    + subject: str + + + instance-attribute + + +

    + + +
    + +

    Motivo del pago.

    +
    + +
    + +
    + + + +

    + third_party_authorization_details: str + + + instance-attribute + + +

    + + +
    + +

    Ignorar este campo.

    +
    + +
    + +
    + + + +

    + transaction_id: str + + + instance-attribute + + +

    + + +
    + +

    Identificador del pago asignado por el cobrador.

    +
    + +
    + +
    + + + +

    + transfer_url: str + + + instance-attribute + + +

    + + +
    + +

    URL de pago normal.

    +
    + +
    + + +
    + + + +

    + PaymentCreateResponse + + +

    + + +
    +

    + Bases: KhipuObject

    + + + + + + + +
    + Source code in khipu_tools/_payments.py +
    73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    class PaymentCreateResponse(KhipuObject):
    +    payment_id: str
    +    """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)."""
    +    payment_url: str
    +    """URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones."""
    +    simplified_transfer_url: str
    +    """URL de pago simplificado."""
    +    transfer_url: str
    +    """URL de pago normal."""
    +    app_url: str
    +    """URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu."""
    +    ready_for_terminal: bool
    +    """Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicación de pagos Khipu."""
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + app_url: str + + + instance-attribute + + +

    + + +
    + +

    URL para invocar el pago desde un dispositivo móvil usando la APP de Khipu.

    +
    + +
    + +
    + + + +

    + payment_id: str + + + instance-attribute + + +

    + + +
    + +

    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).

    +
    + +
    + +
    + + + +

    + payment_url: str + + + instance-attribute + + +

    + + +
    + +

    URL principal del pago, si el usuario no ha elegido previamente un método de pago se le muestran las opciones.

    +
    + +
    + +
    + + + +

    + ready_for_terminal: bool + + + instance-attribute + + +

    + + +
    + +

    Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicación de pagos Khipu.

    +
    + +
    + +
    + + + +

    + simplified_transfer_url: str + + + instance-attribute + + +

    + + +
    + +

    URL de pago simplificado.

    +
    + +
    + +
    + + + +

    + transfer_url: str + + + instance-attribute + + +

    + + +
    + +

    URL de pago normal.

    +
    + +
    + + + + + +
    + +
    + +
    + +
    + + + +

    + PaymentInfo + + +

    + + +
    +

    + Bases: RequestOptions

    + + + + + + + +
    + Source code in khipu_tools/_payments.py +
    87
    +88
    +89
    class PaymentInfo(RequestOptions):
    +    payment_id: str
    +    """Identificador del pago"""
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + payment_id: str + + + instance-attribute + + +

    + + +
    + +

    Identificador del pago

    +
    + +
    + + + + + +
    + +
    + +
    + +
    + + + +

    + PaymentParams + + +

    + + +
    +

    + Bases: RequestOptions

    + + +

    Parametros de creacion de pago

    + + + + + + +
    + Source code in khipu_tools/_payments.py +
    17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    class PaymentParams(RequestOptions):
    +    """
    +    Parametros de creacion de pago
    +    """
    +
    +    amount: str
    +    """ El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda. """
    +    currency: Literal["CLP", "CLF", "ARS", "PEN", "MXN", "USD", "EUR", "BOB", "COP"]
    +    """El código de moneda en formato ISO-4217."""
    +    subject: str
    +    """Motivo."""
    +    transaction_id: Optional[str]
    +    """Identificador propio de la transacción. Ej: número de factura u orden de compra."""
    +    custom: Optional[str]
    +    """Parámetro para enviar información personalizada de la transacción. Ej: documento XML con el detalle del carro de compra."""
    +    body: Optional[str]
    +    """Descripción del cobro."""
    +    bank_id: Optional[str]
    +    """Identificador del banco para usar en el pago."""
    +    return_url: Optional[str]
    +    """La dirección URL a donde enviar al cliente mientras el pago está siendo verificado."""
    +    cancel_url: Optional[str]
    +    """La dirección URL a donde enviar al cliente si decide no hacer hacer la transacción."""
    +    picture_url: Optional[str]
    +    """Una dirección URL de una foto de tu producto o servicio."""
    +    notify_url: Optional[str]
    +    """La dirección del web-service que utilizará khipu para notificar cuando el pago esté conciliado."""
    +    contract_url: Optional[str]
    +    """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."""
    +    notify_api_version: Literal["3.0"]
    +    """Versión de la API de notificaciones para recibir avisos por web-service. Solo está soportada la version 3.0. para versiones anteriores pyeden usar la libreria pykhipu"""
    +    expires_date: Optional[str]
    +    """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."""
    +    send_email: Optional[bool]
    +    """Si es True, se enviará una solicitud de cobro al correo especificado en payer_email."""
    +    payer_name: Optional[str]
    +    """Nombre del pagador. Es obligatorio cuando send_email es true."""
    +    payer_email: Optional[str]
    +    """Correo del pagador. Es obligatorio cuando send_email es true."""
    +    send_reminders: Optional[bool]
    +    """Si es true, se enviarán recordatorios de cobro."""
    +    responsible_user_email: Optional[str]
    +    """Correo electrónico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro."""
    +    fixed_payer_personal_identifier: Optional[str]
    +    """Identificador personal. Si se especifica, solo podrá ser pagado usando ese identificador."""
    +    integrator_fee: Optional[str]
    +    """Comisión para el integrador. Sólo es válido si la cuenta de cobro tiene una cuenta de integrador asociada."""
    +    collect_account_uuid: Optional[str]
    +    """Para cuentas de cobro con más cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia."""
    +    confirm_timeout_date: Optional[str]
    +    """Fecha de rendición del cobro. Es también la fecha final para poder reembolsar el cobro. Formato ISO-8601."""
    +    mandatory_payment_method: Optional[str]
    +    """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."""
    +    psp_client_merchant_name: Optional[str]
    +    """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."""
    +
    +
    + + + +
    + + + + + + + +
    + + + +

    + amount: str + + + instance-attribute + + +

    + + +
    + +

    El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda.

    +
    + +
    + +
    + + + +

    + bank_id: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Identificador del banco para usar en el pago.

    +
    + +
    + +
    + + + +

    + body: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Descripción del cobro.

    +
    + +
    + +
    + + + +

    + cancel_url: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    La dirección URL a donde enviar al cliente si decide no hacer hacer la transacción.

    +
    + +
    + +
    + + + +

    + collect_account_uuid: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Para cuentas de cobro con más cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia.

    +
    + +
    + +
    + + + +

    + confirm_timeout_date: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Fecha de rendición del cobro. Es también la fecha final para poder reembolsar el cobro. Formato ISO-8601.

    +
    + +
    + +
    + + + +

    + contract_url: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + currency: Literal['CLP', 'CLF', 'ARS', 'PEN', 'MXN', 'USD', 'EUR', 'BOB', 'COP'] + + + instance-attribute + + +

    + + +
    + +

    El código de moneda en formato ISO-4217.

    +
    + +
    + +
    + + + +

    + custom: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Parámetro para enviar información personalizada de la transacción. Ej: documento XML con el detalle del carro de compra.

    +
    + +
    + +
    + + + +

    + expires_date: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + fixed_payer_personal_identifier: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Identificador personal. Si se especifica, solo podrá ser pagado usando ese identificador.

    +
    + +
    + +
    + + + +

    + integrator_fee: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Comisión para el integrador. Sólo es válido si la cuenta de cobro tiene una cuenta de integrador asociada.

    +
    + +
    + +
    + + + +

    + mandatory_payment_method: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + notify_api_version: Literal['3.0'] + + + instance-attribute + + +

    + + +
    + +

    Versión de la API de notificaciones para recibir avisos por web-service. Solo está soportada la version 3.0. para versiones anteriores pyeden usar la libreria pykhipu

    +
    + +
    + +
    + + + +

    + notify_url: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    La dirección del web-service que utilizará khipu para notificar cuando el pago esté conciliado.

    +
    + +
    + +
    + + + +

    + payer_email: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Correo del pagador. Es obligatorio cuando send_email es true.

    +
    + +
    + +
    + + + +

    + payer_name: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Nombre del pagador. Es obligatorio cuando send_email es true.

    +
    + +
    + +
    + + + +

    + picture_url: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Una dirección URL de una foto de tu producto o servicio.

    +
    + +
    + +
    + + + +

    + psp_client_merchant_name: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    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.

    +
    + +
    + +
    + + + +

    + responsible_user_email: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Correo electrónico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro.

    +
    + +
    + +
    + + + +

    + return_url: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    La dirección URL a donde enviar al cliente mientras el pago está siendo verificado.

    +
    + +
    + +
    + + + +

    + send_email: Optional[bool] + + + instance-attribute + + +

    + + +
    + +

    Si es True, se enviará una solicitud de cobro al correo especificado en payer_email.

    +
    + +
    + +
    + + + +

    + send_reminders: Optional[bool] + + + instance-attribute + + +

    + + +
    + +

    Si es true, se enviarán recordatorios de cobro.

    +
    + +
    + +
    + + + +

    + subject: str + + + instance-attribute + + +

    + + +
    + +

    Motivo.

    +
    + +
    + +
    + + + +

    + transaction_id: Optional[str] + + + instance-attribute + + +

    + + +
    + +

    Identificador propio de la transacción. Ej: número de factura u orden de compra.

    +
    + +
    + + + + + +
    + +
    + +
    + + +
    + + +

    + create(**params) + + + classmethod + + +

    + + +
    + +

    Crea un pago en Khipu y obtiene las URLs para redirección al usuario para que complete el pago.

    + +
    + Source code in khipu_tools/_payments.py +
    @classmethod
    +def create(
    +    cls, **params: Unpack["Payments.PaymentParams"]
    +) -> KhipuObject["Payments.PaymentCreateResponse"]:
    +    """
    +    Crea un pago en Khipu y obtiene las URLs para redirección al usuario para que complete el pago.
    +    """
    +    result = cls._static_request(
    +        "post",
    +        cls.class_url(),
    +        params=params,
    +    )
    +    if not isinstance(result, KhipuObject):
    +        raise TypeError(
    +            "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +        )
    +
    +    return result
    +
    +
    +
    + +
    + +
    + + +

    + delete(**params) + + + classmethod + + +

    + + +
    + +

    Borrar un pago. Solo se pueden borrar pagos que estén pendientes de pagar. Esta operación no puede deshacerse.

    + +
    + Source code in khipu_tools/_payments.py +
    @classmethod
    +def delete(cls, **params: Unpack["Payments.PaymentInfo"]) -> bool:
    +    """
    +    Borrar un pago. Solo se pueden borrar pagos que estén pendientes de pagar. Esta operación no puede deshacerse.
    +    """
    +    result = cls._static_request(
    +        "delete",
    +        f"{cls.class_url()}/{params['payment_id']}",
    +    )
    +
    +    return result
    +
    +
    +
    + +
    + +
    + + +

    + get(**params) + + + classmethod + + +

    + + +
    + +

    Información completa del pago. Datos con los que fue creado y el estado actual del pago.

    + +
    + Source code in khipu_tools/_payments.py +
    @classmethod
    +def get(cls, **params: Unpack["Payments.PaymentInfo"]) -> KhipuObject["Payments"]:
    +    """
    +    Información completa del pago. Datos con los que fue creado y el estado actual del pago.
    +    """
    +    result = cls._static_request(
    +        "get",
    +        f"{cls.class_url()}/{params['payment_id']}",
    +    )
    +    if not isinstance(result, KhipuObject):
    +        raise TypeError(
    +            "Expected KhipuObject object from API, got %s" % (type(result).__name__)
    +        )
    +
    +    return result
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/assets/_mkdocstrings.css b/assets/_mkdocstrings.css index e69de29..b500381 100644 --- a/assets/_mkdocstrings.css +++ b/assets/_mkdocstrings.css @@ -0,0 +1,143 @@ + +/* Avoid breaking parameter names, etc. in table cells. */ +.doc-contents td code { + word-break: normal !important; +} + +/* No line break before first paragraph of descriptions. */ +.doc-md-description, +.doc-md-description>p:first-child { + display: inline; +} + +/* Max width for docstring sections tables. */ +.doc .md-typeset__table, +.doc .md-typeset__table table { + display: table !important; + width: 100%; +} + +.doc .md-typeset__table tr { + display: table-row; +} + +/* Defaults in Spacy table style. */ +.doc-param-default { + float: right; +} + +/* Parameter headings must be inline, not blocks. */ +.doc-heading-parameter { + display: inline; +} + +/* Prefer space on the right, not the left of parameter permalinks. */ +.doc-heading-parameter .headerlink { + margin-left: 0 !important; + margin-right: 0.2rem; +} + +/* Backward-compatibility: docstring section titles in bold. */ +.doc-section-title { + font-weight: bold; +} + +/* Symbols in Navigation and ToC. */ +:root, :host, +[data-md-color-scheme="default"] { + --doc-symbol-parameter-fg-color: #df50af; + --doc-symbol-attribute-fg-color: #953800; + --doc-symbol-function-fg-color: #8250df; + --doc-symbol-method-fg-color: #8250df; + --doc-symbol-class-fg-color: #0550ae; + --doc-symbol-module-fg-color: #5cad0f; + + --doc-symbol-parameter-bg-color: #df50af1a; + --doc-symbol-attribute-bg-color: #9538001a; + --doc-symbol-function-bg-color: #8250df1a; + --doc-symbol-method-bg-color: #8250df1a; + --doc-symbol-class-bg-color: #0550ae1a; + --doc-symbol-module-bg-color: #5cad0f1a; +} + +[data-md-color-scheme="slate"] { + --doc-symbol-parameter-fg-color: #ffa8cc; + --doc-symbol-attribute-fg-color: #ffa657; + --doc-symbol-function-fg-color: #d2a8ff; + --doc-symbol-method-fg-color: #d2a8ff; + --doc-symbol-class-fg-color: #79c0ff; + --doc-symbol-module-fg-color: #baff79; + + --doc-symbol-parameter-bg-color: #ffa8cc1a; + --doc-symbol-attribute-bg-color: #ffa6571a; + --doc-symbol-function-bg-color: #d2a8ff1a; + --doc-symbol-method-bg-color: #d2a8ff1a; + --doc-symbol-class-bg-color: #79c0ff1a; + --doc-symbol-module-bg-color: #baff791a; +} + +code.doc-symbol { + border-radius: .1rem; + font-size: .85em; + padding: 0 .3em; + font-weight: bold; +} + +code.doc-symbol-parameter { + color: var(--doc-symbol-parameter-fg-color); + background-color: var(--doc-symbol-parameter-bg-color); +} + +code.doc-symbol-parameter::after { + content: "param"; +} + +code.doc-symbol-attribute { + color: var(--doc-symbol-attribute-fg-color); + background-color: var(--doc-symbol-attribute-bg-color); +} + +code.doc-symbol-attribute::after { + content: "attr"; +} + +code.doc-symbol-function { + color: var(--doc-symbol-function-fg-color); + background-color: var(--doc-symbol-function-bg-color); +} + +code.doc-symbol-function::after { + content: "func"; +} + +code.doc-symbol-method { + color: var(--doc-symbol-method-fg-color); + background-color: var(--doc-symbol-method-bg-color); +} + +code.doc-symbol-method::after { + content: "meth"; +} + +code.doc-symbol-class { + color: var(--doc-symbol-class-fg-color); + background-color: var(--doc-symbol-class-bg-color); +} + +code.doc-symbol-class::after { + content: "class"; +} + +code.doc-symbol-module { + color: var(--doc-symbol-module-fg-color); + background-color: var(--doc-symbol-module-bg-color); +} + +code.doc-symbol-module::after { + content: "mod"; +} + +.doc-signature .autorefs { + color: inherit; + border-bottom: 1px dotted currentcolor; +} diff --git a/contributing/index.html b/contributing/index.html index c0388fc..5de88d5 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -15,6 +15,10 @@ + + + + @@ -22,7 +26,7 @@ - Guía de Colaboración para django-payments-chile - khipu-tools + Colabora - khipu-tools @@ -74,7 +78,7 @@
    - + Saltar a contenido @@ -108,7 +112,7 @@
    - Guía de Colaboración para django-payments-chile + Colabora
    @@ -208,6 +212,93 @@ + + + + +
  • + + + + + + Pagos Instantáneos + + +
  • + + + + + + + +
  • + + + + + + Pagos Automáticos + + +
  • + + + + + + + +
  • + + + + + + API + + +
  • + + + + + + + + + +
  • + + + + + + Colabora + + +
  • + + + + + + + +
  • + + + + + + Cambios + + +
  • + + +
    @@ -275,6 +366,293 @@ + + + + + + +
  • + + + + + Pagos Instantáneos + + + + +
  • + + + + + + + + + +
  • + + + + + Pagos Automáticos + + + + +
  • + + + + + + + + + +
  • + + + + + API + + + + +
  • + + + + + + + + + + + +
  • + + + + + + + + + + + + + + Colabora + + + + + + + + + +
  • + + + + + + + + + +
  • + + + + + Cambios + + + + +
  • + + + @@ -290,8 +668,8 @@ -

    Guía de Colaboración para django-payments-chile

    -

    ¡Gracias por tu interés en colaborar con django-payments-chile! Este documento te guiará a través del proceso de contribución al proyecto.

    +

    Guía de Colaboración para khipu-tools

    +

    ¡Gracias por tu interés en colaborar con khipu-tools! Este documento te guiará a través del proceso de contribución al proyecto.

    Formas de Colaborar

    1. Reportar bugs: Si encuentras un error, por favor crea un issue en GitHub describiendo el problema.
    2. @@ -313,12 +691,12 @@

      Proceso de ContribuciónClonar el Repositorio

      Puedes clonar el repositorio de dos maneras:

      Usando Git

      -
      git clone https://github.com/mariofix/django-payments-chile.git
      -cd django-payments-chile
      +
      git clone https://github.com/mariofix/khipu-tools.git
      +cd khipu-tools
       

      Usando GitHub CLI

      -
      gh repo clone mariofix/django-payments-chile
      -cd django-payments-chile
      +
      gh repo clone mariofix/khipu-tools
      +cd khipu-tools
       

      Configuración del Entorno de Desarrollo

        @@ -358,7 +736,7 @@

        LicenciaObtener Ayuda

        Si tienes preguntas o necesitas ayuda, no dudes en crear un issue en GitHub.

        -

        ¡Gracias por tu contribución a django-payments-chile!

        +

        ¡Gracias por tu contribución a khipu-tools!

        diff --git a/index.html b/index.html index 24ddebe..a32ccfc 100644 --- a/index.html +++ b/index.html @@ -16,6 +16,8 @@ + + @@ -210,6 +212,91 @@ + + + + +
      1. + + + + + + Pagos Instantáneos + + +
      2. + + + + + + + +
      3. + + + + + + Pagos Automáticos + + +
      4. + + + + + + + +
      5. + + + + + + API + + +
      6. + + + + + + + +
      7. + + + + + + Colabora + + +
      8. + + + + + + + +
      9. + + + + + + Cambios + + +
      10. + + +
      @@ -383,6 +470,106 @@ + + + + + + +
    3. + + + + + Pagos Instantáneos + + + + +
    4. + + + + + + + + + +
    5. + + + + + Pagos Automáticos + + + + +
    6. + + + + + + + + + +
    7. + + + + + API + + + + +
    8. + + + + + + + + + +
    9. + + + + + Colabora + + + + +
    10. + + + + + + + + + +
    11. + + + + + Cambios + + + + +
    12. + + +
      diff --git a/objects.inv b/objects.inv new file mode 100644 index 0000000..e56c504 --- /dev/null +++ b/objects.inv @@ -0,0 +1,7 @@ +# Sphinx inventory version 2 +# Project: khipu-tools +# Version: 0.0.0 +# The remainder of this file is compressed using zlib. +xڭXM0 +:Wp<2ף$[hۗ&=K,=r1+aJ:>0C? R:|<@޾;saT,8`RNAe' ^ ^{g9) UZ'\]l/&4<7/ !0~O؍he\Ii|Y#~ɺ8ѢQLӈ>~ Y\vh fn&5NmqRiB +^IIh)Cfe$M{Jkv&i8C(ri9ZgF,5FFI-H)HܕKf~O,Ervsxב!C{ J,ґ;QH->*^wLRg.FqCSe$}zɪPĈ,noRyVЭk՝^phYET~Xݱ ׋J$4ak;YX3UZ|u[78a&]'kJ!W|j$.Xӣ4־0~ +6]Фm8G趩.mj-.tUjNj5Mb WA㳥H,4F&㥁x,&gҟX$)}7YM] OrXe9xV$Xj9ͪJjk $! \ No newline at end of file diff --git a/pagos-automaticos/index.html b/pagos-automaticos/index.html new file mode 100644 index 0000000..22066dc --- /dev/null +++ b/pagos-automaticos/index.html @@ -0,0 +1,636 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pagos Automáticos - khipu-tools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + Saltar a contenido + + +
      +
      + +
      + + + + +
      + + +
      + +
      + + + + + + + + + +
      +
      + + + +
      +
      +
      + + + + + + + + + +
      +
      +
      + + + + +
      +
      + + + + +

      Pagos Automáticos

      +

      Es muy sencillo habilitar el proceso de Pago Automático a tus clientes, sólo necesitas utilizar la API de Suscripción para solicitar un nuevo ID de Suscripción, para asociarlo al servicio que vas a cobrar a tu cliente de forma recurrente. Cuando el cliente finalice el proceso de firma en su banco, recibirá una notificación en la URL de devolución de llamada que proporcionó al solicitar el ID de suscripción.

      +

      Tras una confirmación positiva, puede empezar a utilizar la API de cobro para enviar sus solicitudes de pago automático. La parte restante del proceso es asíncrona y se le notificará cuando finalice el proceso de conciliación.

      +

      Crear Subscripción

      +
      import khipu_tools
      +
      +khipu_tools.api_key = "khipu-apiv3-key
      +khipu_tools.AutomaticPayments.create(
      +    name="Service XYZ Id 11.222.333-0",
      +    email="personal.email@gmail.com",
      +    max_amount=1000,
      +    currency="CLP",
      +    notify_url="https://my-domain.biz/subscription-notify-api",
      +    return_url="https://my-domain.biz/subscription-result",
      +    cancel_url="https://my-domain.biz/subscription-cancel"
      +)
      +
      +
      {
      +  "subscription_id": "13a0f1aa-5e47-4894-aa8b-282dd19593ec",
      +  "redirect_url": "https://khipu.com/pac-manager/13a0f1aa-5e47-4894-aa8b-282dd19593ec"
      +}
      +
      +

      Obtener información de una subscripción

      +
      import khipu_tools
      +
      +khipu_tools.api_key = "khipu-apiv3-key
      +khipu_tools.AutomaticPayments.get(payment_id="13a0f1aa-5e47-4894-aa8b-282dd19593ec")
      +
      +

      Respuesta

      +
      {
      +  "subscription_id": "13a0f1aa-5e47-4894-aa8b-282dd19593ec",
      +  "status": "SIGNED",
      +  "developer": false,
      +  "customer_bank_code": "8",
      +  "service_reference": "My Merchant name"
      +}
      +
      + + + + + + + + + + + + + +
      +
      + + + +
      + +
      + + + +
      +
      +
      +
      + + + + + + + + + + \ No newline at end of file diff --git a/pagos-instantaneos/index.html b/pagos-instantaneos/index.html new file mode 100644 index 0000000..20ba26d --- /dev/null +++ b/pagos-instantaneos/index.html @@ -0,0 +1,786 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pagos Instantáneos - khipu-tools + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + + Saltar a contenido + + +
      +
      + +
      + + + + +
      + + +
      + +
      + + + + + + + + + +
      +
      + + + +
      +
      +
      + + + + + + + + + +
      +
      +
      + + + + +
      +
      + + + + +

      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

      +
      import khipu_tools
      +
      +khipu_tools.api_key = "khipu-apiv3-key
      +khipu_tools.Banks.get()
      +
      +

      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"
      +}
      +
      +

      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

      +
      {
      +  "message": "Message"
      +}
      +
      +

      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

      +
      {
      +  "paymentMethods": [
      +    {
      +      "id": "simplified_transfer",
      +      "name": "simplified_transfer",
      +      "logo_url": "https://s3.amazonaws.com/static.khipu.com/buttons/2015/150x50-transparent.png"
      +    }
      +  ]
      +}
      +
      + + + + + + + + + + + + + +
      +
      + + + +
      + +
      + + + +
      +
      +
      +
      + + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json index 28236ef..18009a9 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["es"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Documentaci\u00f3n de Khipu Tools","text":"

      Khipu Tools es una librer\u00eda en Python pensada para facilitar la integraci\u00f3n con los servicios de Khipu. Este proyecto ofrece funcionalidades clave para manejar transacciones financieras, enfoc\u00e1ndose en simplicidad, eficiencia y robustez.

      "},{"location":"#caracteristicas-destacadas","title":"Caracter\u00edsticas Destacadas","text":""},{"location":"#pagos-instantaneos","title":"Pagos Instant\u00e1neos","text":"

      Los pagos instant\u00e1neos son una de las funcionalidades principales de Khipu Tools. Esta funcionalidad permite generar y gestionar pagos al instante con un dise\u00f1o que optimiza la simplicidad y velocidad.

      "},{"location":"#basado-en-pykhipu","title":"Basado en pykhipu","text":"

      Esta funcionalidad aprovecha las bases establecidas por fixmycode/pykhipu, garantizando integraci\u00f3n con la API de Khipu de manera confiable y eficiente.

      Ejemplo de c\u00f3digo:

      import khipu_tools\n\nkhipu_tools.api_key = \"tu-api-key\"\n\npago = khipu_tools.InstantPayments.create(\n    amount=5000,\n    currency=\"CLP\",\n    subject=\"Pago Instant\u00e1neo de Prueba\"\n)\n\nprint(pago)\n

      Salida

      {\n  \"payment_id\": \"gqzdy6chjne9\",\n  \"payment_url\": \"https://khipu.com/payment/info/gqzdy6chjne9\",\n  \"simplified_transfer_url\": \"https://app.khipu.com/payment/simplified/gqzdy6chjne9\",\n  \"transfer_url\": \"https://khipu.com/payment/manual/gqzdy6chjne9\",\n  \"app_url\": \"khipu:///pos/gqzdy6chjne9\",\n  \"ready_for_terminal\": false\n}\n
      "},{"location":"#pagos-automaticos","title":"Pagos Autom\u00e1ticos","text":"

      La funcionalidad de pagos autom\u00e1ticos est\u00e1 dise\u00f1ada para simplificar las transacciones recurrentes o programadas, permitiendo automatizar procesos financieros sin complicaciones.

      Ejemplo de c\u00f3digo:

      import khipu_tools\n\nkhipu_tools.api_key = \"tu-api-key\"\n\npago_automatico = khipu_tools.AutomaticPayments.schedule(\n    amount=10000,\n    currency=\"CLP\",\n    subject=\"Pago Recurrente\",\n    recurrence=\"monthly\"\n)\n\nprint(pago_automatico)\n
      "},{"location":"#manejo-de-errores","title":"Manejo de Errores","text":"

      El manejo de errores est\u00e1 implementado para garantizar la robustez del sistema, permitiendo identificar y gestionar problemas de manera efectiva.

      Ejemplo de c\u00f3digo con manejo de errores:

      import khipu_tools\n\nkhipu_tools.api_key = \"tu-api-key\"\n\ntry:\n    pago = khipu_tools.InstantPayments.create(\n        amount=5000,\n        currency=\"CLP\",\n        subject=\"Pago con Manejo de Errores\"\n    )\nexcept Exception as e:\n    print(f\"Error al crear el pago: {e}\")\nelse:\n    print(pago)\n{\n  \"payment_id\": \"gqzdy6chjne9\",\n  \"payment_url\": \"https://khipu.com/payment/info/gqzdy6chjne9\",\n  \"simplified_transfer_url\": \"https://app.khipu.com/payment/simplified/gqzdy6chjne9\",\n  \"transfer_url\": \"https://khipu.com/payment/manual/gqzdy6chjne9\",\n  \"app_url\": \"khipu:///pos/gqzdy6chjne9\",\n  \"ready_for_terminal\": false\n}\n
      "},{"location":"#licencia","title":"Licencia","text":"

      Este proyecto esta licenciado bajo MIT. khipu-tools no est\u00e1 patrocinado ni asociado con Khipu.

      "},{"location":"CHANGELOG/","title":"Changelog","text":"

      Cambios notables de Django Payments Chile

      Formato basado en Keep a Changelog, y este proyecto se adhiere a Semantic Versioning.

      "},{"location":"CHANGELOG/#unreleased","title":"[Unreleased]","text":"
      • Klap
      • Kushki
      • Pagofacil
      • Transbank WebPayPlus
      • Transbank OnePay
      "},{"location":"CHANGELOG/#2024929","title":"[2024.9.29]","text":"
      • Cambios en Documentacion
      • Nuevos providers para: Flow, Khipu, Payku
      "},{"location":"CHANGELOG/#2024923","title":"[2024.9.23]","text":"
      • Commit Inicial
      "},{"location":"contributing/","title":"Gu\u00eda de Colaboraci\u00f3n para django-payments-chile","text":"

      \u00a1Gracias por tu inter\u00e9s en colaborar con django-payments-chile! Este documento te guiar\u00e1 a trav\u00e9s del proceso de contribuci\u00f3n al proyecto.

      "},{"location":"contributing/#formas-de-colaborar","title":"Formas de Colaborar","text":"
      1. Reportar bugs: Si encuentras un error, por favor crea un issue en GitHub describiendo el problema.
      2. Sugerir mejoras: Las ideas para nuevas caracter\u00edsticas son bienvenidas. Crea un issue para discutirlas.
      3. Mejorar la documentaci\u00f3n: Ay\u00fadanos a mantener la documentaci\u00f3n clara y actualizada.
      4. Contribuir con c\u00f3digo: Sigue las instrucciones a continuaci\u00f3n para enviar tus contribuciones de c\u00f3digo.
      "},{"location":"contributing/#proceso-de-contribucion","title":"Proceso de Contribuci\u00f3n","text":"
      1. Fork el repositorio en GitHub.
      2. Clona tu fork a tu m\u00e1quina local.
      3. Crea una nueva rama para tu contribuci\u00f3n.
      4. Realiza tus cambios y aseg\u00farate de seguir las gu\u00edas de estilo del proyecto.
      5. Prueba tus cambios (ver secci\u00f3n de Pruebas).
      6. Haz commit de tus cambios con mensajes claros y descriptivos.
      7. Push tus cambios a tu fork en GitHub.
      8. Crea un Pull Request desde tu fork al repositorio principal.
      "},{"location":"contributing/#clonar-el-repositorio","title":"Clonar el Repositorio","text":"

      Puedes clonar el repositorio de dos maneras:

      "},{"location":"contributing/#usando-git","title":"Usando Git","text":"
      git clone https://github.com/mariofix/django-payments-chile.git\ncd django-payments-chile\n
      "},{"location":"contributing/#usando-github-cli","title":"Usando GitHub CLI","text":"
      gh repo clone mariofix/django-payments-chile\ncd django-payments-chile\n
      "},{"location":"contributing/#configuracion-del-entorno-de-desarrollo","title":"Configuraci\u00f3n del Entorno de Desarrollo","text":"
      1. Aseg\u00farate de tener Python 3.9+ y Poetry instalados.
      2. Instala las dependencias del proyecto:
      poetry install --with dev\n
      "},{"location":"contributing/#pruebas-cobertura-y-estructura-del-codigo","title":"Pruebas, Cobertura y Estructura del C\u00f3digo","text":"

      Antes de enviar tu Pull Request, aseg\u00farate de que tu c\u00f3digo pase todas las pruebas y siga las convenciones del proyecto.

      "},{"location":"contributing/#ejecutar-pruebas","title":"Ejecutar Pruebas","text":"
      poetry run pytest\n
      "},{"location":"contributing/#verificar-cobertura-de-codigo","title":"Verificar Cobertura de C\u00f3digo","text":"
      poetry run coverage run -m pytest\npoetry run coverage report\n
      "},{"location":"contributing/#verificar-estructura-y-estilo-del-codigo","title":"Verificar Estructura y Estilo del C\u00f3digo","text":"

      Utilizamos pre-commit para mantener la consistencia del c\u00f3digo:

      poetry run pre-commit run --all-files\n
      "},{"location":"contributing/#guias-de-estilo","title":"Gu\u00edas de Estilo","text":"
      • Sigue la gu\u00eda de estilo PEP 8 para el c\u00f3digo Python.
      • Utiliza docstrings para documentar funciones, clases y m\u00f3dulos.
      • Mant\u00e9n el c\u00f3digo limpio y bien comentado.
      "},{"location":"contributing/#proceso-de-revision","title":"Proceso de Revisi\u00f3n","text":"
      1. Un mantenedor revisar\u00e1 tu Pull Request.
      2. Puede que se te pida realizar cambios o aclaraciones.
      3. Una vez aprobado, tu c\u00f3digo ser\u00e1 fusionado en la rama principal.
      "},{"location":"contributing/#informes-de-calidad-de-codigo","title":"Informes de Calidad de C\u00f3digo","text":"

      Al realizar tu Pull Request, recibir\u00e1s un informe de Codacy que indicar\u00e1 si tu c\u00f3digo cumple con los est\u00e1ndares de calidad del proyecto. Aseg\u00farate de abordar cualquier problema se\u00f1alado en este informe.

      "},{"location":"contributing/#licencia","title":"Licencia","text":"

      Al contribuir a este proyecto, aceptas que tus contribuciones se licenciar\u00e1n bajo la licencia MIT del proyecto. Aseg\u00farate de que cualquier nuevo archivo incluya el encabezado de licencia apropiado.

      "},{"location":"contributing/#obtener-ayuda","title":"Obtener Ayuda","text":"

      Si tienes preguntas o necesitas ayuda, no dudes en crear un issue en GitHub.

      \u00a1Gracias por tu contribuci\u00f3n a django-payments-chile!

      "}]} \ No newline at end of file +{"config":{"lang":["es"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Documentaci\u00f3n de Khipu Tools","text":"

      Khipu Tools es una librer\u00eda en Python pensada para facilitar la integraci\u00f3n con los servicios de Khipu. Este proyecto ofrece funcionalidades clave para manejar transacciones financieras, enfoc\u00e1ndose en simplicidad, eficiencia y robustez.

      "},{"location":"#caracteristicas-destacadas","title":"Caracter\u00edsticas Destacadas","text":""},{"location":"#pagos-instantaneos","title":"Pagos Instant\u00e1neos","text":"

      Los pagos instant\u00e1neos son una de las funcionalidades principales de Khipu Tools. Esta funcionalidad permite generar y gestionar pagos al instante con un dise\u00f1o que optimiza la simplicidad y velocidad.

      "},{"location":"#basado-en-pykhipu","title":"Basado en pykhipu","text":"

      Esta funcionalidad aprovecha las bases establecidas por fixmycode/pykhipu, garantizando integraci\u00f3n con la API de Khipu de manera confiable y eficiente.

      Ejemplo de c\u00f3digo:

      import khipu_tools\n\nkhipu_tools.api_key = \"tu-api-key\"\n\npago = khipu_tools.InstantPayments.create(\n    amount=5000,\n    currency=\"CLP\",\n    subject=\"Pago Instant\u00e1neo de Prueba\"\n)\n\nprint(pago)\n

      Salida

      {\n  \"payment_id\": \"gqzdy6chjne9\",\n  \"payment_url\": \"https://khipu.com/payment/info/gqzdy6chjne9\",\n  \"simplified_transfer_url\": \"https://app.khipu.com/payment/simplified/gqzdy6chjne9\",\n  \"transfer_url\": \"https://khipu.com/payment/manual/gqzdy6chjne9\",\n  \"app_url\": \"khipu:///pos/gqzdy6chjne9\",\n  \"ready_for_terminal\": false\n}\n
      "},{"location":"#pagos-automaticos","title":"Pagos Autom\u00e1ticos","text":"

      La funcionalidad de pagos autom\u00e1ticos est\u00e1 dise\u00f1ada para simplificar las transacciones recurrentes o programadas, permitiendo automatizar procesos financieros sin complicaciones.

      Ejemplo de c\u00f3digo:

      import khipu_tools\n\nkhipu_tools.api_key = \"tu-api-key\"\n\npago_automatico = khipu_tools.AutomaticPayments.schedule(\n    amount=10000,\n    currency=\"CLP\",\n    subject=\"Pago Recurrente\",\n    recurrence=\"monthly\"\n)\n\nprint(pago_automatico)\n
      "},{"location":"#manejo-de-errores","title":"Manejo de Errores","text":"

      El manejo de errores est\u00e1 implementado para garantizar la robustez del sistema, permitiendo identificar y gestionar problemas de manera efectiva.

      Ejemplo de c\u00f3digo con manejo de errores:

      import khipu_tools\n\nkhipu_tools.api_key = \"tu-api-key\"\n\ntry:\n    pago = khipu_tools.InstantPayments.create(\n        amount=5000,\n        currency=\"CLP\",\n        subject=\"Pago con Manejo de Errores\"\n    )\nexcept Exception as e:\n    print(f\"Error al crear el pago: {e}\")\nelse:\n    print(pago)\n{\n  \"payment_id\": \"gqzdy6chjne9\",\n  \"payment_url\": \"https://khipu.com/payment/info/gqzdy6chjne9\",\n  \"simplified_transfer_url\": \"https://app.khipu.com/payment/simplified/gqzdy6chjne9\",\n  \"transfer_url\": \"https://khipu.com/payment/manual/gqzdy6chjne9\",\n  \"app_url\": \"khipu:///pos/gqzdy6chjne9\",\n  \"ready_for_terminal\": false\n}\n
      "},{"location":"#licencia","title":"Licencia","text":"

      Este proyecto esta licenciado bajo MIT. khipu-tools no est\u00e1 patrocinado ni asociado con Khipu.

      "},{"location":"CHANGELOG/","title":"Changelog","text":""},{"location":"CHANGELOG/#unreleased","title":"[Unreleased]","text":""},{"location":"CHANGELOG/#2024121","title":"[2024.12.1]","text":"
      • Commit Inicial
      "},{"location":"api/","title":"Documentaci\u00f3n API","text":""},{"location":"api/#banks","title":"Banks","text":"

      Bases: APIResource[T]

      Source code in khipu_tools/_banks.py
      class Banks(APIResource[T]):\n    OBJECT_NAME: ClassVar[Literal[\"banks\"]] = \"banks\"\n    OBJECT_PREFIX: ClassVar[Literal[\"v3\"]] = \"v3\"\n\n    banks: list[BankItem]\n    \"\"\"Listado con Bancos registrados\"\"\"\n\n    @classmethod\n    def get(cls) -> KhipuObject[\"Banks\"]:\n        \"\"\"\n        Este m\u00e9todo obtiene la lista de bancos que se pueden utilizar para pagar en esta cuenta de cobro.\n        \"\"\"\n        result = cls._static_request(\n            \"get\",\n            cls.class_url(),\n        )\n        if not isinstance(result, KhipuObject):\n            raise TypeError(\n                \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n            )\n\n        return result\n
      "},{"location":"api/#khipu_tools._banks.Banks.banks","title":"banks: list[BankItem] instance-attribute","text":"

      Listado con Bancos registrados

      "},{"location":"api/#khipu_tools._banks.Banks.get","title":"get() classmethod","text":"

      Este m\u00e9todo obtiene la lista de bancos que se pueden utilizar para pagar en esta cuenta de cobro.

      Source code in khipu_tools/_banks.py
      @classmethod\ndef get(cls) -> KhipuObject[\"Banks\"]:\n    \"\"\"\n    Este m\u00e9todo obtiene la lista de bancos que se pueden utilizar para pagar en esta cuenta de cobro.\n    \"\"\"\n    result = cls._static_request(\n        \"get\",\n        cls.class_url(),\n    )\n    if not isinstance(result, KhipuObject):\n        raise TypeError(\n            \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n        )\n\n    return result\n
      "},{"location":"api/#bankitem","title":"BankItem","text":"

      Informacion de banco

      Source code in khipu_tools/_banks.py
      class BankItem:\n    \"\"\"\n    Informacion de banco\n    \"\"\"\n\n    bank_id: str\n    \"\"\"Identificador del banco.\"\"\"\n    name: str\n    \"\"\"Nombre del banco.\"\"\"\n    message: str\n    \"\"\"Mensaje con particularidades del banco.\"\"\"\n    min_amount: int\n    \"\"\"Monto m\u00ednimo que acepta el banco en un pago\"\"\"\n    type: Literal[\"Persona\", \"Empresa\"]\n    \"\"\"Tipo de banco.\"\"\"\n    parent: str\n    \"\"\"Identificador del banco padre (si un banco tiene banca personas y empresas, el primero ser\u00e1 el padre del segundo).\"\"\"\n    logo_url: str\n    \"\"\"URL del logo del banco.\"\"\"\n
      "},{"location":"api/#khipu_tools._banks.BankItem.bank_id","title":"bank_id: str instance-attribute","text":"

      Identificador del banco.

      "},{"location":"api/#khipu_tools._banks.BankItem.logo_url","title":"logo_url: str instance-attribute","text":"

      URL del logo del banco.

      "},{"location":"api/#khipu_tools._banks.BankItem.message","title":"message: str instance-attribute","text":"

      Mensaje con particularidades del banco.

      "},{"location":"api/#khipu_tools._banks.BankItem.min_amount","title":"min_amount: int instance-attribute","text":"

      Monto m\u00ednimo que acepta el banco en un pago

      "},{"location":"api/#khipu_tools._banks.BankItem.name","title":"name: str instance-attribute","text":"

      Nombre del banco.

      "},{"location":"api/#khipu_tools._banks.BankItem.parent","title":"parent: str instance-attribute","text":"

      Identificador del banco padre (si un banco tiene banca personas y empresas, el primero ser\u00e1 el padre del segundo).

      "},{"location":"api/#khipu_tools._banks.BankItem.type","title":"type: Literal['Persona', 'Empresa'] instance-attribute","text":"

      Tipo de banco.

      "},{"location":"api/#predict","title":"Predict","text":"

      Bases: APIResource[T]

      Source code in khipu_tools/_predict.py
      class Predict(APIResource[T]):\n    OBJECT_NAME: ClassVar[Literal[\"predict\"]] = \"predict\"\n    OBJECT_PREFIX: ClassVar[Literal[\"v3\"]] = \"v3\"\n\n    class PredictParams(RequestOptions):\n        payer_email: str\n        \"\"\"Correo electr\u00f3nico del pagador\"\"\"\n        bank_id: str\n        \"\"\"Identificador del banco de origen\"\"\"\n        amount: str\n        \"\"\"Monto del pago\"\"\"\n        currency: str\n        \"\"\"Moneda en formato ISO-4217\"\"\"\n\n    result: Literal[\n        \"ok\",\n        \"new_destinatary_amount_exceeded\",\n        \"max_amount_exceeded\",\n        \"new_destinatary_cool_down\",\n        \"not_available_account\",\n    ]\n    \"\"\"El resultado de la predicci\u00f3n.\"\"\"\n    max_amount: int\n    \"\"\"El monto m\u00e1ximo posible para transferir.\"\"\"\n    cool_down_date: str\n    \"\"\"Fecha de t\u00e9rmino para la restricci\u00f3n de monto en formato ISO-8601\"\"\"\n    new_destinatary_max_amount: str\n    \"\"\"Monto m\u00e1ximo para transferir a un nuevo destinatario.\"\"\"\n\n    @classmethod\n    def get(cls, **params: Unpack[\"Predict.PredictParams\"]) -> KhipuObject[\"Predict\"]:\n        \"\"\"\n        Predicci\u00f3n acerca del resultado de un pago, si podr\u00e1 o no funcionar.\n        Informaci\u00f3n adicional como m\u00e1ximo posible de transferir a un nuevo destinatario.\n        \"\"\"\n        result = cls._static_request(\n            \"get\",\n            cls.class_url(),\n            params=params,\n        )\n        if not isinstance(result, KhipuObject):\n            raise TypeError(\n                \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n            )\n\n        return result\n
      "},{"location":"api/#khipu_tools._predict.Predict.cool_down_date","title":"cool_down_date: str instance-attribute","text":"

      Fecha de t\u00e9rmino para la restricci\u00f3n de monto en formato ISO-8601

      "},{"location":"api/#khipu_tools._predict.Predict.max_amount","title":"max_amount: int instance-attribute","text":"

      El monto m\u00e1ximo posible para transferir.

      "},{"location":"api/#khipu_tools._predict.Predict.new_destinatary_max_amount","title":"new_destinatary_max_amount: str instance-attribute","text":"

      Monto m\u00e1ximo para transferir a un nuevo destinatario.

      "},{"location":"api/#khipu_tools._predict.Predict.result","title":"result: Literal['ok', 'new_destinatary_amount_exceeded', 'max_amount_exceeded', 'new_destinatary_cool_down', 'not_available_account'] instance-attribute","text":"

      El resultado de la predicci\u00f3n.

      "},{"location":"api/#khipu_tools._predict.Predict.PredictParams","title":"PredictParams","text":"

      Bases: RequestOptions

      Source code in khipu_tools/_predict.py
      class PredictParams(RequestOptions):\n    payer_email: str\n    \"\"\"Correo electr\u00f3nico del pagador\"\"\"\n    bank_id: str\n    \"\"\"Identificador del banco de origen\"\"\"\n    amount: str\n    \"\"\"Monto del pago\"\"\"\n    currency: str\n    \"\"\"Moneda en formato ISO-4217\"\"\"\n
      "},{"location":"api/#khipu_tools._predict.Predict.PredictParams.amount","title":"amount: str instance-attribute","text":"

      Monto del pago

      "},{"location":"api/#khipu_tools._predict.Predict.PredictParams.bank_id","title":"bank_id: str instance-attribute","text":"

      Identificador del banco de origen

      "},{"location":"api/#khipu_tools._predict.Predict.PredictParams.currency","title":"currency: str instance-attribute","text":"

      Moneda en formato ISO-4217

      "},{"location":"api/#khipu_tools._predict.Predict.PredictParams.payer_email","title":"payer_email: str instance-attribute","text":"

      Correo electr\u00f3nico del pagador

      "},{"location":"api/#khipu_tools._predict.Predict.get","title":"get(**params) classmethod","text":"

      Predicci\u00f3n acerca del resultado de un pago, si podr\u00e1 o no funcionar. Informaci\u00f3n adicional como m\u00e1ximo posible de transferir a un nuevo destinatario.

      Source code in khipu_tools/_predict.py
      @classmethod\ndef get(cls, **params: Unpack[\"Predict.PredictParams\"]) -> KhipuObject[\"Predict\"]:\n    \"\"\"\n    Predicci\u00f3n acerca del resultado de un pago, si podr\u00e1 o no funcionar.\n    Informaci\u00f3n adicional como m\u00e1ximo posible de transferir a un nuevo destinatario.\n    \"\"\"\n    result = cls._static_request(\n        \"get\",\n        cls.class_url(),\n        params=params,\n    )\n    if not isinstance(result, KhipuObject):\n        raise TypeError(\n            \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n        )\n\n    return result\n
      "},{"location":"api/#payments","title":"Payments","text":"

      Bases: APIResource[T]

      Source code in khipu_tools/_payments.py
      class Payments(APIResource[T]):\n    OBJECT_NAME: ClassVar[Literal[\"Payment\"]] = \"payments\"\n    OBJECT_PREFIX: ClassVar[Literal[\"v3\"]] = \"v3\"\n\n    class PaymentParams(RequestOptions):\n        \"\"\"\n        Parametros de creacion de pago\n        \"\"\"\n\n        amount: str\n        \"\"\" El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda. \"\"\"\n        currency: Literal[\"CLP\", \"CLF\", \"ARS\", \"PEN\", \"MXN\", \"USD\", \"EUR\", \"BOB\", \"COP\"]\n        \"\"\"El c\u00f3digo de moneda en formato ISO-4217.\"\"\"\n        subject: str\n        \"\"\"Motivo.\"\"\"\n        transaction_id: Optional[str]\n        \"\"\"Identificador propio de la transacci\u00f3n. Ej: n\u00famero de factura u orden de compra.\"\"\"\n        custom: Optional[str]\n        \"\"\"Par\u00e1metro para enviar informaci\u00f3n personalizada de la transacci\u00f3n. Ej: documento XML con el detalle del carro de compra.\"\"\"\n        body: Optional[str]\n        \"\"\"Descripci\u00f3n del cobro.\"\"\"\n        bank_id: Optional[str]\n        \"\"\"Identificador del banco para usar en el pago.\"\"\"\n        return_url: Optional[str]\n        \"\"\"La direcci\u00f3n URL a donde enviar al cliente mientras el pago est\u00e1 siendo verificado.\"\"\"\n        cancel_url: Optional[str]\n        \"\"\"La direcci\u00f3n URL a donde enviar al cliente si decide no hacer hacer la transacci\u00f3n.\"\"\"\n        picture_url: Optional[str]\n        \"\"\"Una direcci\u00f3n URL de una foto de tu producto o servicio.\"\"\"\n        notify_url: Optional[str]\n        \"\"\"La direcci\u00f3n del web-service que utilizar\u00e1 khipu para notificar cuando el pago est\u00e9 conciliado.\"\"\"\n        contract_url: Optional[str]\n        \"\"\"La direcci\u00f3n 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.\"\"\"\n        notify_api_version: Literal[\"3.0\"]\n        \"\"\"Versi\u00f3n de la API de notificaciones para recibir avisos por web-service. Solo est\u00e1 soportada la version 3.0. para versiones anteriores pyeden usar la libreria pykhipu\"\"\"\n        expires_date: Optional[str]\n        \"\"\"Fecha m\u00e1xima para ejecutar el pago (en formato ISO-8601). El cliente podr\u00e1 realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecuci\u00f3n.\"\"\"\n        send_email: Optional[bool]\n        \"\"\"Si es True, se enviar\u00e1 una solicitud de cobro al correo especificado en payer_email.\"\"\"\n        payer_name: Optional[str]\n        \"\"\"Nombre del pagador. Es obligatorio cuando send_email es true.\"\"\"\n        payer_email: Optional[str]\n        \"\"\"Correo del pagador. Es obligatorio cuando send_email es true.\"\"\"\n        send_reminders: Optional[bool]\n        \"\"\"Si es true, se enviar\u00e1n recordatorios de cobro.\"\"\"\n        responsible_user_email: Optional[str]\n        \"\"\"Correo electr\u00f3nico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro.\"\"\"\n        fixed_payer_personal_identifier: Optional[str]\n        \"\"\"Identificador personal. Si se especifica, solo podr\u00e1 ser pagado usando ese identificador.\"\"\"\n        integrator_fee: Optional[str]\n        \"\"\"Comisi\u00f3n para el integrador. S\u00f3lo es v\u00e1lido si la cuenta de cobro tiene una cuenta de integrador asociada.\"\"\"\n        collect_account_uuid: Optional[str]\n        \"\"\"Para cuentas de cobro con m\u00e1s cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia.\"\"\"\n        confirm_timeout_date: Optional[str]\n        \"\"\"Fecha de rendici\u00f3n del cobro. Es tambi\u00e9n la fecha final para poder reembolsar el cobro. Formato ISO-8601.\"\"\"\n        mandatory_payment_method: Optional[str]\n        \"\"\"El cobro s\u00f3lo se podr\u00e1 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.\"\"\"\n        psp_client_merchant_name: Optional[str]\n        \"\"\"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.\"\"\"\n\n    class PaymentCreateResponse(KhipuObject):\n        payment_id: str\n        \"\"\"Identificador \u00fanico del pago, es una cadena alfanum\u00e9rica de 12 caracteres. Como este identificador es \u00fanico, se puede usar, por ejemplo, para evitar procesar una notificaci\u00f3n repetida. (Khipu espera un c\u00f3digo 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos d\u00edas).\"\"\"\n        payment_url: str\n        \"\"\"URL principal del pago, si el usuario no ha elegido previamente un m\u00e9todo de pago se le muestran las opciones.\"\"\"\n        simplified_transfer_url: str\n        \"\"\"URL de pago simplificado.\"\"\"\n        transfer_url: str\n        \"\"\"URL de pago normal.\"\"\"\n        app_url: str\n        \"\"\"URL para invocar el pago desde un dispositivo m\u00f3vil usando la APP de Khipu.\"\"\"\n        ready_for_terminal: bool\n        \"\"\"Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicaci\u00f3n de pagos Khipu.\"\"\"\n\n    class PaymentInfo(RequestOptions):\n        payment_id: str\n        \"\"\"Identificador del pago\"\"\"\n\n    payment_id: str\n    \"\"\"Identificador \u00fanico del pago, es una cadena alfanum\u00e9rica de 12 caracteres. Como este identificador es \u00fanico, se puede usar, por ejemplo, para evitar procesar una notificaci\u00f3n repetida. (Khipu espera un c\u00f3digo 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos d\u00edas).\"\"\"\n    payment_url: str\n    \"\"\"URL principal del pago, si el usuario no ha elegido previamente un m\u00e9todo de pago se le muestran las opciones.\"\"\"\n    simplified_transfer_url: str\n    \"\"\"URL de pago simplificado.\"\"\"\n    transfer_url: str\n    \"\"\"URL de pago normal.\"\"\"\n    app_url: str\n    \"\"\"URL para invocar el pago desde un dispositivo m\u00f3vil usando la APP de Khipu.\"\"\"\n    ready_for_terminal: bool\n    \"\"\"Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicaci\u00f3n de pagos Khipu.\"\"\"\n    notification_token: str\n    \"\"\"Cadena de caracteres alfanum\u00e9ricos que identifican unicamente al pago, es el identificador que el servidor de Khipu enviar\u00e1 al servidor del comercio cuando notifique que un pago est\u00e1 conciliado.\"\"\"\n    receiver_id: int\n    \"\"\"Identificador \u00fanico de una cuenta de cobro.\"\"\"\n    conciliation_date: str\n    \"\"\"Fecha y hora de conciliaci\u00f3n del pago. Formato ISO-8601.\"\"\"\n    subject: str\n    \"\"\"Motivo del pago.\"\"\"\n    amount: Decimal\n    \"\"\"El monto del cobro.\"\"\"\n    currency: str\n    \"\"\"El c\u00f3digo de moneda en formato ISO-4217.\"\"\"\n    status: Literal[\"pending\", \"verifying\", \"done\"]\n    \"\"\"Estado del pago, puede ser pending (el pagador a\u00fan no comienza a pagar), verifying (se est\u00e1 verificando el pago) o done, cuando el pago ya est\u00e1 confirmado.\"\"\"\n    status_detail: Literal[\n        \"pending\",\n        \"normal\",\n        \"marked-paid-by-receiver\",\n        \"rejected-by-payer\",\n        \"marked-as-abuse\",\n        \"reversed\",\n    ]\n    \"\"\"Detalle del estado del pago: pending (el pagador a\u00fan no comienza a pagar), normal (el pago fue verificado y fue cancelado por alg\u00fan medio de pago est\u00e1ndar), marked-paid-by-receiver (el cobrador marc\u00f3 el cobro como pagado por otro medio), rejected-by-payer (el pagador declar\u00f3 que no pagar\u00e1), marked-as-abuse (el pagador declar\u00f3 que no pagar\u00e1 y que el cobro fue no solicitado), y reversed (el pago fue anulado por el comercio, el dinero fue devuelto al pagador).\"\"\"\n    body: str\n    \"\"\"Detalle del cobro.\"\"\"\n    picture_url: str\n    \"\"\"URL con imagen del cobro.\"\"\"\n    receipt_url: str\n    \"\"\"URL del comprobante de pago.\"\"\"\n    return_url: str\n    \"\"\"URL donde se redirige al pagador luego que termina el pago.\"\"\"\n    cancel_url: str\n    \"\"\"URL donde se redirige al pagador luego de que desiste hacer el pago.\"\"\"\n    notify_url: str\n    \"\"\"URL del webservice donde se notificar\u00e1 el pago.\"\"\"\n    notify_api_version: Literal[\"3,0\"]\n    \"\"\"Versi\u00f3n de la API de notificaci\u00f3n.\"\"\"\n    expires_date: str\n    \"\"\"Fecha m\u00e1xima para ejecutar el pago (en formato ISO-8601). El cliente podr\u00e1 realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecuci\u00f3n.\"\"\"\n    attachment_urls: list[str]\n    \"\"\"Arreglo de URLs de archivos adjuntos al pago.\"\"\"\n    bank: str\n    \"\"\"Nombre del banco seleccionado por el pagador.\"\"\"\n    bank_id: str\n    \"\"\"Identificador del banco seleccionado por el pagador.\"\"\"\n    payer_name: str\n    \"\"\"Nombre del pagador.\"\"\"\n    payer_email: str\n    \"\"\"Correo electr\u00f3nico del pagador.\"\"\"\n    personal_identifier: str\n    \"\"\"Identificador personal del pagador.\"\"\"\n    bank_account_number: str\n    \"\"\"N\u00famero de cuenta bancaria del pagador.\"\"\"\n    out_of_date_conciliation: bool\n    \"\"\"Es true si la conciliaci\u00f3n del pago fue hecha luego de la fecha de expiraci\u00f3n.\"\"\"\n    transaction_id: str\n    \"\"\"Identificador del pago asignado por el cobrador.\"\"\"\n    custom: str\n    \"\"\"Campo gen\u00e9rico que asigna el cobrador al momento de hacer el pago.\"\"\"\n    responsible_user_email: str\n    \"\"\"Correo electr\u00f3nico de la persona responsable del pago.\"\"\"\n    send_reminders: bool\n    \"\"\"Es true cuando este es un cobro por correo electr\u00f3nico y Khipu enviar\u00e1 recordatorios.\"\"\"\n    send_email: bool\n    \"\"\"Es true cuando Khipu enviar\u00e1 el cobro por correo electr\u00f3nico.\"\"\"\n    payment_method: Literal[\"regular_transfer\", \"simplified_transfer\", \"not_available\"]\n    \"\"\"M\u00e9todo de pago usado por el pagador, puede ser regular_transfer (transferencia normal) o simplified_transfer (transferencia simplificada).\"\"\"\n    funds_source: Literal[\"debit\", \"prepaid\", \"credit\", \"not-available\", \"\"]\n    \"\"\"Origen de fondos usado por el pagador, puede ser debit para pago con d\u00e9bito, prepaid para pago con prepago, credit para pago con cr\u00e9dito, o vac\u00edo en el caso de que se haya pagado mediante transferencia bancaria.\"\"\"\n    discount: int\n    \"\"\"Monto a descontar del valor pagado.\"\"\"\n    third_party_authorization_details: str\n    \"\"\"Ignorar este campo.\"\"\"\n\n    @classmethod\n    def create(\n        cls, **params: Unpack[\"Payments.PaymentParams\"]\n    ) -> KhipuObject[\"Payments.PaymentCreateResponse\"]:\n        \"\"\"\n        Crea un pago en Khipu y obtiene las URLs para redirecci\u00f3n al usuario para que complete el pago.\n        \"\"\"\n        result = cls._static_request(\n            \"post\",\n            cls.class_url(),\n            params=params,\n        )\n        if not isinstance(result, KhipuObject):\n            raise TypeError(\n                \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n            )\n\n        return result\n\n    @classmethod\n    def get(cls, **params: Unpack[\"Payments.PaymentInfo\"]) -> KhipuObject[\"Payments\"]:\n        \"\"\"\n        Informaci\u00f3n completa del pago. Datos con los que fue creado y el estado actual del pago.\n        \"\"\"\n        result = cls._static_request(\n            \"get\",\n            f\"{cls.class_url()}/{params['payment_id']}\",\n        )\n        if not isinstance(result, KhipuObject):\n            raise TypeError(\n                \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n            )\n\n        return result\n\n    @classmethod\n    def delete(cls, **params: Unpack[\"Payments.PaymentInfo\"]) -> bool:\n        \"\"\"\n        Borrar un pago. Solo se pueden borrar pagos que est\u00e9n pendientes de pagar. Esta operaci\u00f3n no puede deshacerse.\n        \"\"\"\n        result = cls._static_request(\n            \"delete\",\n            f\"{cls.class_url()}/{params['payment_id']}\",\n        )\n\n        return result\n
      "},{"location":"api/#khipu_tools._payments.Payments.amount","title":"amount: Decimal instance-attribute","text":"

      El monto del cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.app_url","title":"app_url: str instance-attribute","text":"

      URL para invocar el pago desde un dispositivo m\u00f3vil usando la APP de Khipu.

      "},{"location":"api/#khipu_tools._payments.Payments.attachment_urls","title":"attachment_urls: list[str] instance-attribute","text":"

      Arreglo de URLs de archivos adjuntos al pago.

      "},{"location":"api/#khipu_tools._payments.Payments.bank","title":"bank: str instance-attribute","text":"

      Nombre del banco seleccionado por el pagador.

      "},{"location":"api/#khipu_tools._payments.Payments.bank_account_number","title":"bank_account_number: str instance-attribute","text":"

      N\u00famero de cuenta bancaria del pagador.

      "},{"location":"api/#khipu_tools._payments.Payments.bank_id","title":"bank_id: str instance-attribute","text":"

      Identificador del banco seleccionado por el pagador.

      "},{"location":"api/#khipu_tools._payments.Payments.body","title":"body: str instance-attribute","text":"

      Detalle del cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.cancel_url","title":"cancel_url: str instance-attribute","text":"

      URL donde se redirige al pagador luego de que desiste hacer el pago.

      "},{"location":"api/#khipu_tools._payments.Payments.conciliation_date","title":"conciliation_date: str instance-attribute","text":"

      Fecha y hora de conciliaci\u00f3n del pago. Formato ISO-8601.

      "},{"location":"api/#khipu_tools._payments.Payments.currency","title":"currency: str instance-attribute","text":"

      El c\u00f3digo de moneda en formato ISO-4217.

      "},{"location":"api/#khipu_tools._payments.Payments.custom","title":"custom: str instance-attribute","text":"

      Campo gen\u00e9rico que asigna el cobrador al momento de hacer el pago.

      "},{"location":"api/#khipu_tools._payments.Payments.discount","title":"discount: int instance-attribute","text":"

      Monto a descontar del valor pagado.

      "},{"location":"api/#khipu_tools._payments.Payments.expires_date","title":"expires_date: str instance-attribute","text":"

      Fecha m\u00e1xima para ejecutar el pago (en formato ISO-8601). El cliente podr\u00e1 realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecuci\u00f3n.

      "},{"location":"api/#khipu_tools._payments.Payments.funds_source","title":"funds_source: Literal['debit', 'prepaid', 'credit', 'not-available', ''] instance-attribute","text":"

      Origen de fondos usado por el pagador, puede ser debit para pago con d\u00e9bito, prepaid para pago con prepago, credit para pago con cr\u00e9dito, o vac\u00edo en el caso de que se haya pagado mediante transferencia bancaria.

      "},{"location":"api/#khipu_tools._payments.Payments.notification_token","title":"notification_token: str instance-attribute","text":"

      Cadena de caracteres alfanum\u00e9ricos que identifican unicamente al pago, es el identificador que el servidor de Khipu enviar\u00e1 al servidor del comercio cuando notifique que un pago est\u00e1 conciliado.

      "},{"location":"api/#khipu_tools._payments.Payments.notify_api_version","title":"notify_api_version: Literal['3,0'] instance-attribute","text":"

      Versi\u00f3n de la API de notificaci\u00f3n.

      "},{"location":"api/#khipu_tools._payments.Payments.notify_url","title":"notify_url: str instance-attribute","text":"

      URL del webservice donde se notificar\u00e1 el pago.

      "},{"location":"api/#khipu_tools._payments.Payments.out_of_date_conciliation","title":"out_of_date_conciliation: bool instance-attribute","text":"

      Es true si la conciliaci\u00f3n del pago fue hecha luego de la fecha de expiraci\u00f3n.

      "},{"location":"api/#khipu_tools._payments.Payments.payer_email","title":"payer_email: str instance-attribute","text":"

      Correo electr\u00f3nico del pagador.

      "},{"location":"api/#khipu_tools._payments.Payments.payer_name","title":"payer_name: str instance-attribute","text":"

      Nombre del pagador.

      "},{"location":"api/#khipu_tools._payments.Payments.payment_id","title":"payment_id: str instance-attribute","text":"

      Identificador \u00fanico del pago, es una cadena alfanum\u00e9rica de 12 caracteres. Como este identificador es \u00fanico, se puede usar, por ejemplo, para evitar procesar una notificaci\u00f3n repetida. (Khipu espera un c\u00f3digo 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos d\u00edas).

      "},{"location":"api/#khipu_tools._payments.Payments.payment_method","title":"payment_method: Literal['regular_transfer', 'simplified_transfer', 'not_available'] instance-attribute","text":"

      M\u00e9todo de pago usado por el pagador, puede ser regular_transfer (transferencia normal) o simplified_transfer (transferencia simplificada).

      "},{"location":"api/#khipu_tools._payments.Payments.payment_url","title":"payment_url: str instance-attribute","text":"

      URL principal del pago, si el usuario no ha elegido previamente un m\u00e9todo de pago se le muestran las opciones.

      "},{"location":"api/#khipu_tools._payments.Payments.personal_identifier","title":"personal_identifier: str instance-attribute","text":"

      Identificador personal del pagador.

      "},{"location":"api/#khipu_tools._payments.Payments.picture_url","title":"picture_url: str instance-attribute","text":"

      URL con imagen del cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.ready_for_terminal","title":"ready_for_terminal: bool instance-attribute","text":"

      Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicaci\u00f3n de pagos Khipu.

      "},{"location":"api/#khipu_tools._payments.Payments.receipt_url","title":"receipt_url: str instance-attribute","text":"

      URL del comprobante de pago.

      "},{"location":"api/#khipu_tools._payments.Payments.receiver_id","title":"receiver_id: int instance-attribute","text":"

      Identificador \u00fanico de una cuenta de cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.responsible_user_email","title":"responsible_user_email: str instance-attribute","text":"

      Correo electr\u00f3nico de la persona responsable del pago.

      "},{"location":"api/#khipu_tools._payments.Payments.return_url","title":"return_url: str instance-attribute","text":"

      URL donde se redirige al pagador luego que termina el pago.

      "},{"location":"api/#khipu_tools._payments.Payments.send_email","title":"send_email: bool instance-attribute","text":"

      Es true cuando Khipu enviar\u00e1 el cobro por correo electr\u00f3nico.

      "},{"location":"api/#khipu_tools._payments.Payments.send_reminders","title":"send_reminders: bool instance-attribute","text":"

      Es true cuando este es un cobro por correo electr\u00f3nico y Khipu enviar\u00e1 recordatorios.

      "},{"location":"api/#khipu_tools._payments.Payments.simplified_transfer_url","title":"simplified_transfer_url: str instance-attribute","text":"

      URL de pago simplificado.

      "},{"location":"api/#khipu_tools._payments.Payments.status","title":"status: Literal['pending', 'verifying', 'done'] instance-attribute","text":"

      Estado del pago, puede ser pending (el pagador a\u00fan no comienza a pagar), verifying (se est\u00e1 verificando el pago) o done, cuando el pago ya est\u00e1 confirmado.

      "},{"location":"api/#khipu_tools._payments.Payments.status_detail","title":"status_detail: Literal['pending', 'normal', 'marked-paid-by-receiver', 'rejected-by-payer', 'marked-as-abuse', 'reversed'] instance-attribute","text":"

      Detalle del estado del pago: pending (el pagador a\u00fan no comienza a pagar), normal (el pago fue verificado y fue cancelado por alg\u00fan medio de pago est\u00e1ndar), marked-paid-by-receiver (el cobrador marc\u00f3 el cobro como pagado por otro medio), rejected-by-payer (el pagador declar\u00f3 que no pagar\u00e1), marked-as-abuse (el pagador declar\u00f3 que no pagar\u00e1 y que el cobro fue no solicitado), y reversed (el pago fue anulado por el comercio, el dinero fue devuelto al pagador).

      "},{"location":"api/#khipu_tools._payments.Payments.subject","title":"subject: str instance-attribute","text":"

      Motivo del pago.

      "},{"location":"api/#khipu_tools._payments.Payments.third_party_authorization_details","title":"third_party_authorization_details: str instance-attribute","text":"

      Ignorar este campo.

      "},{"location":"api/#khipu_tools._payments.Payments.transaction_id","title":"transaction_id: str instance-attribute","text":"

      Identificador del pago asignado por el cobrador.

      "},{"location":"api/#khipu_tools._payments.Payments.transfer_url","title":"transfer_url: str instance-attribute","text":"

      URL de pago normal.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse","title":"PaymentCreateResponse","text":"

      Bases: KhipuObject

      Source code in khipu_tools/_payments.py
      class PaymentCreateResponse(KhipuObject):\n    payment_id: str\n    \"\"\"Identificador \u00fanico del pago, es una cadena alfanum\u00e9rica de 12 caracteres. Como este identificador es \u00fanico, se puede usar, por ejemplo, para evitar procesar una notificaci\u00f3n repetida. (Khipu espera un c\u00f3digo 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos d\u00edas).\"\"\"\n    payment_url: str\n    \"\"\"URL principal del pago, si el usuario no ha elegido previamente un m\u00e9todo de pago se le muestran las opciones.\"\"\"\n    simplified_transfer_url: str\n    \"\"\"URL de pago simplificado.\"\"\"\n    transfer_url: str\n    \"\"\"URL de pago normal.\"\"\"\n    app_url: str\n    \"\"\"URL para invocar el pago desde un dispositivo m\u00f3vil usando la APP de Khipu.\"\"\"\n    ready_for_terminal: bool\n    \"\"\"Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicaci\u00f3n de pagos Khipu.\"\"\"\n
      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse.app_url","title":"app_url: str instance-attribute","text":"

      URL para invocar el pago desde un dispositivo m\u00f3vil usando la APP de Khipu.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse.payment_id","title":"payment_id: str instance-attribute","text":"

      Identificador \u00fanico del pago, es una cadena alfanum\u00e9rica de 12 caracteres. Como este identificador es \u00fanico, se puede usar, por ejemplo, para evitar procesar una notificaci\u00f3n repetida. (Khipu espera un c\u00f3digo 200 al notificar un pago, si esto no ocurre se reintenta hasta por dos d\u00edas).

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse.payment_url","title":"payment_url: str instance-attribute","text":"

      URL principal del pago, si el usuario no ha elegido previamente un m\u00e9todo de pago se le muestran las opciones.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse.ready_for_terminal","title":"ready_for_terminal: bool instance-attribute","text":"

      Es true si el pago ya cuenta con todos los datos necesarios para abrir directamente la aplicaci\u00f3n de pagos Khipu.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse.simplified_transfer_url","title":"simplified_transfer_url: str instance-attribute","text":"

      URL de pago simplificado.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentCreateResponse.transfer_url","title":"transfer_url: str instance-attribute","text":"

      URL de pago normal.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentInfo","title":"PaymentInfo","text":"

      Bases: RequestOptions

      Source code in khipu_tools/_payments.py
      class PaymentInfo(RequestOptions):\n    payment_id: str\n    \"\"\"Identificador del pago\"\"\"\n
      "},{"location":"api/#khipu_tools._payments.Payments.PaymentInfo.payment_id","title":"payment_id: str instance-attribute","text":"

      Identificador del pago

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams","title":"PaymentParams","text":"

      Bases: RequestOptions

      Parametros de creacion de pago

      Source code in khipu_tools/_payments.py
      class PaymentParams(RequestOptions):\n    \"\"\"\n    Parametros de creacion de pago\n    \"\"\"\n\n    amount: str\n    \"\"\" El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda. \"\"\"\n    currency: Literal[\"CLP\", \"CLF\", \"ARS\", \"PEN\", \"MXN\", \"USD\", \"EUR\", \"BOB\", \"COP\"]\n    \"\"\"El c\u00f3digo de moneda en formato ISO-4217.\"\"\"\n    subject: str\n    \"\"\"Motivo.\"\"\"\n    transaction_id: Optional[str]\n    \"\"\"Identificador propio de la transacci\u00f3n. Ej: n\u00famero de factura u orden de compra.\"\"\"\n    custom: Optional[str]\n    \"\"\"Par\u00e1metro para enviar informaci\u00f3n personalizada de la transacci\u00f3n. Ej: documento XML con el detalle del carro de compra.\"\"\"\n    body: Optional[str]\n    \"\"\"Descripci\u00f3n del cobro.\"\"\"\n    bank_id: Optional[str]\n    \"\"\"Identificador del banco para usar en el pago.\"\"\"\n    return_url: Optional[str]\n    \"\"\"La direcci\u00f3n URL a donde enviar al cliente mientras el pago est\u00e1 siendo verificado.\"\"\"\n    cancel_url: Optional[str]\n    \"\"\"La direcci\u00f3n URL a donde enviar al cliente si decide no hacer hacer la transacci\u00f3n.\"\"\"\n    picture_url: Optional[str]\n    \"\"\"Una direcci\u00f3n URL de una foto de tu producto o servicio.\"\"\"\n    notify_url: Optional[str]\n    \"\"\"La direcci\u00f3n del web-service que utilizar\u00e1 khipu para notificar cuando el pago est\u00e9 conciliado.\"\"\"\n    contract_url: Optional[str]\n    \"\"\"La direcci\u00f3n 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.\"\"\"\n    notify_api_version: Literal[\"3.0\"]\n    \"\"\"Versi\u00f3n de la API de notificaciones para recibir avisos por web-service. Solo est\u00e1 soportada la version 3.0. para versiones anteriores pyeden usar la libreria pykhipu\"\"\"\n    expires_date: Optional[str]\n    \"\"\"Fecha m\u00e1xima para ejecutar el pago (en formato ISO-8601). El cliente podr\u00e1 realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecuci\u00f3n.\"\"\"\n    send_email: Optional[bool]\n    \"\"\"Si es True, se enviar\u00e1 una solicitud de cobro al correo especificado en payer_email.\"\"\"\n    payer_name: Optional[str]\n    \"\"\"Nombre del pagador. Es obligatorio cuando send_email es true.\"\"\"\n    payer_email: Optional[str]\n    \"\"\"Correo del pagador. Es obligatorio cuando send_email es true.\"\"\"\n    send_reminders: Optional[bool]\n    \"\"\"Si es true, se enviar\u00e1n recordatorios de cobro.\"\"\"\n    responsible_user_email: Optional[str]\n    \"\"\"Correo electr\u00f3nico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro.\"\"\"\n    fixed_payer_personal_identifier: Optional[str]\n    \"\"\"Identificador personal. Si se especifica, solo podr\u00e1 ser pagado usando ese identificador.\"\"\"\n    integrator_fee: Optional[str]\n    \"\"\"Comisi\u00f3n para el integrador. S\u00f3lo es v\u00e1lido si la cuenta de cobro tiene una cuenta de integrador asociada.\"\"\"\n    collect_account_uuid: Optional[str]\n    \"\"\"Para cuentas de cobro con m\u00e1s cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia.\"\"\"\n    confirm_timeout_date: Optional[str]\n    \"\"\"Fecha de rendici\u00f3n del cobro. Es tambi\u00e9n la fecha final para poder reembolsar el cobro. Formato ISO-8601.\"\"\"\n    mandatory_payment_method: Optional[str]\n    \"\"\"El cobro s\u00f3lo se podr\u00e1 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.\"\"\"\n    psp_client_merchant_name: Optional[str]\n    \"\"\"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.\"\"\"\n
      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.amount","title":"amount: str instance-attribute","text":"

      El monto del cobro. Sin separador de miles y usando '.' como separador de decimales. Hasta 4 lugares decimales, dependiendo de la moneda.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.bank_id","title":"bank_id: Optional[str] instance-attribute","text":"

      Identificador del banco para usar en el pago.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.body","title":"body: Optional[str] instance-attribute","text":"

      Descripci\u00f3n del cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.cancel_url","title":"cancel_url: Optional[str] instance-attribute","text":"

      La direcci\u00f3n URL a donde enviar al cliente si decide no hacer hacer la transacci\u00f3n.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.collect_account_uuid","title":"collect_account_uuid: Optional[str] instance-attribute","text":"

      Para cuentas de cobro con m\u00e1s cuenta propia. Permite elegir la cuenta donde debe ocurrir la transferencia.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.confirm_timeout_date","title":"confirm_timeout_date: Optional[str] instance-attribute","text":"

      Fecha de rendici\u00f3n del cobro. Es tambi\u00e9n la fecha final para poder reembolsar el cobro. Formato ISO-8601.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.contract_url","title":"contract_url: Optional[str] instance-attribute","text":"

      La direcci\u00f3n 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.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.currency","title":"currency: Literal['CLP', 'CLF', 'ARS', 'PEN', 'MXN', 'USD', 'EUR', 'BOB', 'COP'] instance-attribute","text":"

      El c\u00f3digo de moneda en formato ISO-4217.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.custom","title":"custom: Optional[str] instance-attribute","text":"

      Par\u00e1metro para enviar informaci\u00f3n personalizada de la transacci\u00f3n. Ej: documento XML con el detalle del carro de compra.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.expires_date","title":"expires_date: Optional[str] instance-attribute","text":"

      Fecha m\u00e1xima para ejecutar el pago (en formato ISO-8601). El cliente podr\u00e1 realizar varios intentos de pago hasta dicha fecha. Cada intento tiene un plazo individual de 3 horas para su ejecuci\u00f3n.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.fixed_payer_personal_identifier","title":"fixed_payer_personal_identifier: Optional[str] instance-attribute","text":"

      Identificador personal. Si se especifica, solo podr\u00e1 ser pagado usando ese identificador.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.integrator_fee","title":"integrator_fee: Optional[str] instance-attribute","text":"

      Comisi\u00f3n para el integrador. S\u00f3lo es v\u00e1lido si la cuenta de cobro tiene una cuenta de integrador asociada.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.mandatory_payment_method","title":"mandatory_payment_method: Optional[str] instance-attribute","text":"

      El cobro s\u00f3lo se podr\u00e1 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.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.notify_api_version","title":"notify_api_version: Literal['3.0'] instance-attribute","text":"

      Versi\u00f3n de la API de notificaciones para recibir avisos por web-service. Solo est\u00e1 soportada la version 3.0. para versiones anteriores pyeden usar la libreria pykhipu

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.notify_url","title":"notify_url: Optional[str] instance-attribute","text":"

      La direcci\u00f3n del web-service que utilizar\u00e1 khipu para notificar cuando el pago est\u00e9 conciliado.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.payer_email","title":"payer_email: Optional[str] instance-attribute","text":"

      Correo del pagador. Es obligatorio cuando send_email es true.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.payer_name","title":"payer_name: Optional[str] instance-attribute","text":"

      Nombre del pagador. Es obligatorio cuando send_email es true.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.picture_url","title":"picture_url: Optional[str] instance-attribute","text":"

      Una direcci\u00f3n URL de una foto de tu producto o servicio.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.psp_client_merchant_name","title":"psp_client_merchant_name: Optional[str] instance-attribute","text":"

      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.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.responsible_user_email","title":"responsible_user_email: Optional[str] instance-attribute","text":"

      Correo electr\u00f3nico del responsable de este cobro, debe corresponder a un usuario Khipu con permisos para cobrar usando esta cuenta de cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.return_url","title":"return_url: Optional[str] instance-attribute","text":"

      La direcci\u00f3n URL a donde enviar al cliente mientras el pago est\u00e1 siendo verificado.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.send_email","title":"send_email: Optional[bool] instance-attribute","text":"

      Si es True, se enviar\u00e1 una solicitud de cobro al correo especificado en payer_email.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.send_reminders","title":"send_reminders: Optional[bool] instance-attribute","text":"

      Si es true, se enviar\u00e1n recordatorios de cobro.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.subject","title":"subject: str instance-attribute","text":"

      Motivo.

      "},{"location":"api/#khipu_tools._payments.Payments.PaymentParams.transaction_id","title":"transaction_id: Optional[str] instance-attribute","text":"

      Identificador propio de la transacci\u00f3n. Ej: n\u00famero de factura u orden de compra.

      "},{"location":"api/#khipu_tools._payments.Payments.create","title":"create(**params) classmethod","text":"

      Crea un pago en Khipu y obtiene las URLs para redirecci\u00f3n al usuario para que complete el pago.

      Source code in khipu_tools/_payments.py
      @classmethod\ndef create(\n    cls, **params: Unpack[\"Payments.PaymentParams\"]\n) -> KhipuObject[\"Payments.PaymentCreateResponse\"]:\n    \"\"\"\n    Crea un pago en Khipu y obtiene las URLs para redirecci\u00f3n al usuario para que complete el pago.\n    \"\"\"\n    result = cls._static_request(\n        \"post\",\n        cls.class_url(),\n        params=params,\n    )\n    if not isinstance(result, KhipuObject):\n        raise TypeError(\n            \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n        )\n\n    return result\n
      "},{"location":"api/#khipu_tools._payments.Payments.delete","title":"delete(**params) classmethod","text":"

      Borrar un pago. Solo se pueden borrar pagos que est\u00e9n pendientes de pagar. Esta operaci\u00f3n no puede deshacerse.

      Source code in khipu_tools/_payments.py
      @classmethod\ndef delete(cls, **params: Unpack[\"Payments.PaymentInfo\"]) -> bool:\n    \"\"\"\n    Borrar un pago. Solo se pueden borrar pagos que est\u00e9n pendientes de pagar. Esta operaci\u00f3n no puede deshacerse.\n    \"\"\"\n    result = cls._static_request(\n        \"delete\",\n        f\"{cls.class_url()}/{params['payment_id']}\",\n    )\n\n    return result\n
      "},{"location":"api/#khipu_tools._payments.Payments.get","title":"get(**params) classmethod","text":"

      Informaci\u00f3n completa del pago. Datos con los que fue creado y el estado actual del pago.

      Source code in khipu_tools/_payments.py
      @classmethod\ndef get(cls, **params: Unpack[\"Payments.PaymentInfo\"]) -> KhipuObject[\"Payments\"]:\n    \"\"\"\n    Informaci\u00f3n completa del pago. Datos con los que fue creado y el estado actual del pago.\n    \"\"\"\n    result = cls._static_request(\n        \"get\",\n        f\"{cls.class_url()}/{params['payment_id']}\",\n    )\n    if not isinstance(result, KhipuObject):\n        raise TypeError(\n            \"Expected KhipuObject object from API, got %s\" % (type(result).__name__)\n        )\n\n    return result\n
      "},{"location":"contributing/","title":"Gu\u00eda de Colaboraci\u00f3n para khipu-tools","text":"

      \u00a1Gracias por tu inter\u00e9s en colaborar con khipu-tools! Este documento te guiar\u00e1 a trav\u00e9s del proceso de contribuci\u00f3n al proyecto.

      "},{"location":"contributing/#formas-de-colaborar","title":"Formas de Colaborar","text":"
      1. Reportar bugs: Si encuentras un error, por favor crea un issue en GitHub describiendo el problema.
      2. Sugerir mejoras: Las ideas para nuevas caracter\u00edsticas son bienvenidas. Crea un issue para discutirlas.
      3. Mejorar la documentaci\u00f3n: Ay\u00fadanos a mantener la documentaci\u00f3n clara y actualizada.
      4. Contribuir con c\u00f3digo: Sigue las instrucciones a continuaci\u00f3n para enviar tus contribuciones de c\u00f3digo.
      "},{"location":"contributing/#proceso-de-contribucion","title":"Proceso de Contribuci\u00f3n","text":"
      1. Fork el repositorio en GitHub.
      2. Clona tu fork a tu m\u00e1quina local.
      3. Crea una nueva rama para tu contribuci\u00f3n.
      4. Realiza tus cambios y aseg\u00farate de seguir las gu\u00edas de estilo del proyecto.
      5. Prueba tus cambios (ver secci\u00f3n de Pruebas).
      6. Haz commit de tus cambios con mensajes claros y descriptivos.
      7. Push tus cambios a tu fork en GitHub.
      8. Crea un Pull Request desde tu fork al repositorio principal.
      "},{"location":"contributing/#clonar-el-repositorio","title":"Clonar el Repositorio","text":"

      Puedes clonar el repositorio de dos maneras:

      "},{"location":"contributing/#usando-git","title":"Usando Git","text":"
      git clone https://github.com/mariofix/khipu-tools.git\ncd khipu-tools\n
      "},{"location":"contributing/#usando-github-cli","title":"Usando GitHub CLI","text":"
      gh repo clone mariofix/khipu-tools\ncd khipu-tools\n
      "},{"location":"contributing/#configuracion-del-entorno-de-desarrollo","title":"Configuraci\u00f3n del Entorno de Desarrollo","text":"
      1. Aseg\u00farate de tener Python 3.9+ y Poetry instalados.
      2. Instala las dependencias del proyecto:
      poetry install --with dev\n
      "},{"location":"contributing/#pruebas-cobertura-y-estructura-del-codigo","title":"Pruebas, Cobertura y Estructura del C\u00f3digo","text":"

      Antes de enviar tu Pull Request, aseg\u00farate de que tu c\u00f3digo pase todas las pruebas y siga las convenciones del proyecto.

      "},{"location":"contributing/#ejecutar-pruebas","title":"Ejecutar Pruebas","text":"
      poetry run pytest\n
      "},{"location":"contributing/#verificar-cobertura-de-codigo","title":"Verificar Cobertura de C\u00f3digo","text":"
      poetry run coverage run -m pytest\npoetry run coverage report\n
      "},{"location":"contributing/#verificar-estructura-y-estilo-del-codigo","title":"Verificar Estructura y Estilo del C\u00f3digo","text":"

      Utilizamos pre-commit para mantener la consistencia del c\u00f3digo:

      poetry run pre-commit run --all-files\n
      "},{"location":"contributing/#guias-de-estilo","title":"Gu\u00edas de Estilo","text":"
      • Sigue la gu\u00eda de estilo PEP 8 para el c\u00f3digo Python.
      • Utiliza docstrings para documentar funciones, clases y m\u00f3dulos.
      • Mant\u00e9n el c\u00f3digo limpio y bien comentado.
      "},{"location":"contributing/#proceso-de-revision","title":"Proceso de Revisi\u00f3n","text":"
      1. Un mantenedor revisar\u00e1 tu Pull Request.
      2. Puede que se te pida realizar cambios o aclaraciones.
      3. Una vez aprobado, tu c\u00f3digo ser\u00e1 fusionado en la rama principal.
      "},{"location":"contributing/#informes-de-calidad-de-codigo","title":"Informes de Calidad de C\u00f3digo","text":"

      Al realizar tu Pull Request, recibir\u00e1s un informe de Codacy que indicar\u00e1 si tu c\u00f3digo cumple con los est\u00e1ndares de calidad del proyecto. Aseg\u00farate de abordar cualquier problema se\u00f1alado en este informe.

      "},{"location":"contributing/#licencia","title":"Licencia","text":"

      Al contribuir a este proyecto, aceptas que tus contribuciones se licenciar\u00e1n bajo la licencia MIT del proyecto. Aseg\u00farate de que cualquier nuevo archivo incluya el encabezado de licencia apropiado.

      "},{"location":"contributing/#obtener-ayuda","title":"Obtener Ayuda","text":"

      Si tienes preguntas o necesitas ayuda, no dudes en crear un issue en GitHub.

      \u00a1Gracias por tu contribuci\u00f3n a khipu-tools!

      "},{"location":"pagos-automaticos/","title":"Pagos Autom\u00e1ticos","text":"

      Es muy sencillo habilitar el proceso de Pago Autom\u00e1tico a tus clientes, s\u00f3lo necesitas utilizar la API de Suscripci\u00f3n para solicitar un nuevo ID de Suscripci\u00f3n, para asociarlo al servicio que vas a cobrar a tu cliente de forma recurrente. Cuando el cliente finalice el proceso de firma en su banco, recibir\u00e1 una notificaci\u00f3n en la URL de devoluci\u00f3n de llamada que proporcion\u00f3 al solicitar el ID de suscripci\u00f3n.

      Tras una confirmaci\u00f3n positiva, puede empezar a utilizar la API de cobro para enviar sus solicitudes de pago autom\u00e1tico. La parte restante del proceso es as\u00edncrona y se le notificar\u00e1 cuando finalice el proceso de conciliaci\u00f3n.

      "},{"location":"pagos-automaticos/#crear-subscripcion","title":"Crear Subscripci\u00f3n","text":"
      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.AutomaticPayments.create(\n    name=\"Service XYZ Id 11.222.333-0\",\n    email=\"personal.email@gmail.com\",\n    max_amount=1000,\n    currency=\"CLP\",\n    notify_url=\"https://my-domain.biz/subscription-notify-api\",\n    return_url=\"https://my-domain.biz/subscription-result\",\n    cancel_url=\"https://my-domain.biz/subscription-cancel\"\n)\n
      {\n  \"subscription_id\": \"13a0f1aa-5e47-4894-aa8b-282dd19593ec\",\n  \"redirect_url\": \"https://khipu.com/pac-manager/13a0f1aa-5e47-4894-aa8b-282dd19593ec\"\n}\n
      "},{"location":"pagos-automaticos/#obtener-informacion-de-una-subscripcion","title":"Obtener informaci\u00f3n de una subscripci\u00f3n","text":"
      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.AutomaticPayments.get(payment_id=\"13a0f1aa-5e47-4894-aa8b-282dd19593ec\")\n

      Respuesta

      {\n  \"subscription_id\": \"13a0f1aa-5e47-4894-aa8b-282dd19593ec\",\n  \"status\": \"SIGNED\",\n  \"developer\": false,\n  \"customer_bank_code\": \"8\",\n  \"service_reference\": \"My Merchant name\"\n}\n
      "},{"location":"pagos-instantaneos/","title":"Pagos Instant\u00e1neos","text":"

      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\u00f3n, pago y validaci\u00f3n es el siguiente:

      • El cobrador genera un cobro usando la API y despliega un bot\u00f3n para la compra.
      • El pagador pincha el bot\u00f3n de pago en el sitio web, o un enlace de pago en un correo electr\u00f3nico u otro medio y paga utilizando Khipu.
      • El pagador es redireccionado a la p\u00e1gina de retorno definida por el cobrador donde se debe indicar que el pago est\u00e1 en verificaci\u00f3n (o a la p\u00e1gina de fracaso en el caso que no se haya podido hacer el pago).
      • Unos momentos despu\u00e9s Khipu verifica la transacci\u00f3n y notifica al pagador por correo electr\u00f3nico. Adem\u00e1s, se notifica al comercio por correo electr\u00f3nico y/o por la invocaci\u00f3n de un web service.
      • El cobrador valida la notificaci\u00f3n de pago y entrega el bien transado al pagador (o descarta la notificaci\u00f3n si es inv\u00e1lida)
      "},{"location":"pagos-instantaneos/#obtener-bancos","title":"Obtener Bancos","text":"
      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.Banks.get()\n

      Este m\u00e9todo obtiene el listado de bancos asociado a la cuenta.

      {\n  \"banks\": [\n    {\n      \"bank_id\": \"Bawdf\",\n      \"logo_url\": \"https://s3.amazonaws.com/static.khipu.com/logos/bancos/chile/demobank-icon.png\",\n      \"message\": \"Este es un banco de pruebas. Las transacciones no son reales.\",\n      \"min_amount\": \"200.0000\",\n      \"name\": \"DemoBank\",\n      \"parent\": \"\",\n      \"type\": \"Persona\"\n    }\n  ]\n}\n
      "},{"location":"pagos-instantaneos/#crear-pago","title":"Crear Pago","text":"

      Crea un pago en Khipu y obtiene las URLs para redirecci\u00f3n al usuario para que complete el pago.

      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.Payments.create(amount=10000, currency=\"CLP\", subject=\"Pago de prueba\")\n

      El listado completo de variables se encuentra descrita en la api de khipu

      Respuesta

      {\n  \"payment_id\": \"gqzdy6chjne9\",\n  \"payment_url\": \"https://khipu.com/payment/info/gqzdy6chjne9\",\n  \"simplified_transfer_url\": \"https://app.khipu.com/payment/simplified/gqzdy6chjne9\",\n  \"transfer_url\": \"https://khipu.com/payment/manual/gqzdy6chjne9\",\n  \"app_url\": \"khipu:///pos/gqzdy6chjne9\",\n  \"ready_for_terminal\": false\n}\n
      "},{"location":"pagos-instantaneos/#obtener-informacion-de-un-pago","title":"Obtener informaci\u00f3n de un Pago","text":"

      Informaci\u00f3n completa del pago. Datos con los que fue creado y el estado actual del pago.

      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.Payments.get(payment_id=\"gqzdy6chjne9\")\n

      Respuesta

      {\n  \"payment_id\": \"gqzdy6chjne9\",\n  \"payment_url\": \"https://khipu.com/payment/info/gqzdy6chjne9\",\n  \"simplified_transfer_url\": \"https://app.khipu.com/payment/simplified/gqzdy6chjne9\",\n  \"transfer_url\": \"https://khipu.com/payment/manual/gqzdy6chjne9\",\n  \"app_url\": \"khipu:///pos/gqzdy6chjne9\",\n  \"ready_for_terminal\": false,\n  \"notification_token\": \"9dec8aa176c5223026919b3b5579a4776923e646ff3be686b9e6b62ec042e91f\",\n  \"receiver_id\": 985101,\n  \"conciliation_date\": \"2017-03-01T13:00:00.000Z\",\n  \"subject\": \"Test\",\n  \"amount\": 1000,\n  \"currency\": \"CLP\",\n  \"status\": \"done\",\n  \"status_detail\": \"normal\",\n  \"body\": \"Test\",\n  \"picture_url\": \"https://micomercio.com/picture_url\",\n  \"receipt_url\": \"https://micomercio.com/order/receipt_url\",\n  \"return_url\": \"https://micomercio.com/order/return_url\",\n  \"cancel_url\": \"https://micomercio.com/order/cancel_url\",\n  \"notify_url\": \"https://micomercio.com/webhook/notify_url\",\n  \"notify_api_version\": \"3.0\",\n  \"expires_date\": \"2023-12-31T15:45:00-04:00\",\n  \"attachment_urls\": [\n    \"https://micomercio.com/attachment1.pdf\"\n  ],\n  \"bank\": \"Banco de Chile (Edwards Citi)\",\n  \"bank_id\": \"dfFbF\",\n  \"payer_name\": \"Nombre Pagador\",\n  \"payer_email\": \"pagador@email.com\",\n  \"personal_identifier\": \"11.000.111-9\",\n  \"bank_account_number\": \"001120490689\",\n  \"out_of_date_conciliation\": true,\n  \"transaction_id\": \"zwo3wqz6uulcvajt\",\n  \"custom\": \"<xml>...</xml>\",\n  \"responsible_user_email\": \"responsible@email.com\",\n  \"send_reminders\": true,\n  \"send_email\": true,\n  \"payment_method\": \"simplified_transfer\",\n  \"funds_source\": \"debit\",\n  \"discount\": 0,\n  \"third_party_authorization_details\": \"string\"\n}\n
      "},{"location":"pagos-instantaneos/#eliminar-pago","title":"Eliminar Pago","text":"

      Borrar un pago. Solo se pueden borrar pagos que est\u00e9n pendientes de pagar. Esta operaci\u00f3n no puede deshacerse.

      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.Payments.delete(payment_id=\"gqzdy6chjne9\")\n

      Respuesta

      {\n  \"message\": \"Message\"\n}\n
      "},{"location":"pagos-instantaneos/#predecir-pago","title":"Predecir Pago","text":"

      Predicci\u00f3n acerca del resultado de un pago, si podr\u00e1 o no funcionar. Informaci\u00f3n adicional como m\u00e1ximo posible de transferir a un nuevo destinatario.

      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.Predict.get(\n    payer_email=\"pagador@email.com\",\n    amount=\"5000000\",\n    currency=\"CLP\",\n    bank_id=\"Bawdf\",\n)\n

      Respuesta

      {\n  \"result\": \"ok\",\n  \"max_amount\": 5000000,\n  \"cool_down_date\": \"2024-06-21T11:23:09.123Z\",\n  \"new_destinatary_max_amount\": 100000\n}\n
      "},{"location":"pagos-instantaneos/#medios-de-pago","title":"Medios de Pago","text":"

      Obtiene el listado de medios de pago disponible para una cuenta de cobrador.

      import khipu_tools\n\nkhipu_tools.api_key = \"khipu-apiv3-key\nkhipu_tools.Payments.methods(cuenta_cobro=\"12345\")\n

      Respuesta

      {\n  \"paymentMethods\": [\n    {\n      \"id\": \"simplified_transfer\",\n      \"name\": \"simplified_transfer\",\n      \"logo_url\": \"https://s3.amazonaws.com/static.khipu.com/buttons/2015/150x50-transparent.png\"\n    }\n  ]\n}\n
      "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index baf8339..11e32c1 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,14 +2,26 @@ https://mariofix.github.io/khipu-tools/ - 2024-12-21 + 2024-12-22 https://mariofix.github.io/khipu-tools/CHANGELOG/ - 2024-12-21 + 2024-12-22 + + + https://mariofix.github.io/khipu-tools/api/ + 2024-12-22 https://mariofix.github.io/khipu-tools/contributing/ - 2024-12-21 + 2024-12-22 + + + https://mariofix.github.io/khipu-tools/pagos-automaticos/ + 2024-12-22 + + + https://mariofix.github.io/khipu-tools/pagos-instantaneos/ + 2024-12-22 \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 872794e24f8e059e7a26602cbaf4b3f57c88b388..8a8a68c1d725605b6dc7cd0dcd892a16620b1368 100644 GIT binary patch literal 256 zcmV+b0ssCViwFpSR%d4d|8r?{Wo=<_E_iKh0L4?mPQx$^z3(fk+?#X}2S9BnG{HC^ zxWETwS!t~`aTGgrpHI3?i2Dw;EIF~B-+KqU-kjW6{B)53eIwSg5=G}N9>DjF`1*V) z@5QEF)hUkDago8E8Zj`3N2R7|k_6m26G&q071<$wNL`z%k`JO?6**>t%j+EVh_;cl-ME zzI%TA*e&M31XxVlqUQ+v#CZ`GGZ9RWRGP%-41+~l*a>)I<8yYmSUHz`P3LXFb?U+n3k(Uea`aZkym#I!3aYigl!d(iU_;TV?8Z_Z?2v z+)UEmHC#&I$(A!!i*z%9VHh-{lx^OzCRYI$wO<(SAVm68nMvSl6u3>-N*gN7sKQ>R z%^lJa&$>dX`@KejzZ$zf6rzS9g^~Pto3pfZFiDhrgmDrkv8UXzn;HDOz2Li8e{EOG g&Clv>2@0~}aNmo6#`7Vr%|Fjv0H%9Cfb0PP03n!f7ytkO