Formas de pago

Listar, crear formas de pago creadas en Bsale. Para usar las formas de pago creadas, revisar nodo payments en el envío del documento.

  • Cómo funciona el Front-end de Bsale, mira éstos videos: (ver)

Estructura JSON

Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:

{
  "href": "https://api.bsale.cl/v1/payment_types/1.json",
  "id": 1,
  "name": "Deposito en Cuenta Corriente",
  "isVirtual": 1,
  "isCheck": 0,
  "maxCheck": null,
  "isCreditNote": 0,
  "isClientCredit": 0,
  "isCash": 0,
  "isCreditMemo": 0,
  "state": 0,
  "maxClientCuota": 0,
  "ledgerAccount": null,
  "ledgerCode": null,
  "isAgreementBank": 0,
  "agreementCode": ""
}
  • href, url de la forma de pago (String).
  • id, identificador único de la forma de pago (Integer).
  • name, nombre de la forma de pago (String).
  • isVirtual, indica si se puede trabajar con la forma de pago en la web (el cheque no puede), No(0) o Si (1) (Boolean).
  • isCheck, indica si la forma de pago es cheque, No(0) o Si (1)(Boolean).
  • maxCheck, indica el máximo de cheques permitidos (Integer).
  • isCreditNote, indica si la forma de pago es una nota de crédito, No(0) o Si (1)(Boolean).
  • isClientCredit, indica si la forma de pago es crédito para un cliente, No(0) o Si (1)(Boolean).
  • isCash, indica si la forma de pago es efectivo, No(0) o Si (1)(Boolean).
  • isCreditMemo, indica si la forma de pago es un abono, No(0) o Si (1)(Boolean).
  • state, estado de la forma de pago activo(0) o inactivo (1) (Boolean).
  • maxClientCuota, indica el máximo de cuotas disponibles para un cliente (Integer).
  • ledgerAccount, indica la cuenta contable de la forma de pago (String).
  • ledgerCode, indica el código contable de la forma de pago (String).
  • isAgreementBank, indica si la forma de pago es un enlace bancario ejemplo caja vecina, No(0) o Si (1)(Boolean).
  • agreementCode, indica el código del enlace bancario (String).

GET lista de formas de pago

  • GET /v1/payment_types.json retornara todos los tipos de producto.

Parámetros

  • limit, limita la cantidad de items de una respuesta JSON, por defecto el limit es 25, el máximo permitido es 50.
  • offset, permite paginar los items de una respuesta JSON, por defecto el offset es 0.
  • fields, solo devolver atributos específicos de un recurso.
  • expand, permite expandir instancias y colecciones.
  • name, Permite filtrar por nombre de la forma de pago.
  • ledgeraccount, cuenta contable de la forma de pago
  • state, boolean (0 o 1) indica si las formas de pago están activas(0) inactivas(1).

Ejemplos

  • GET /v1/payment_types.json?limit=10&offset=0
  • GET /v1/payment_types.json?fields=[name,ledgeraccount]
  • GET /v1/payment_types.json?state=0

Respuesta

{
  "href": "https://api.bsale.cl/v1/payment_types.json",
  "count": 4,
  "limit": 25,
  "offset": 0,
  "items": [
    {
      "href": "https://api.bsale.cl/v1/payment_types/7.json",
      "id": 7,
      "name": "ABONO DE CLIENTE",
      "isVirtual": 0,
      "isCheck": 0,
      "maxCheck": null,
      "isCreditNote": 0,
      "isClientCredit": 0,
      "isCash": 0,
      "isCreditMemo": 1,
      "state": 0,
      "maxClientCuota": 0,
      "ledgerAccount": "",
      "ledgerCode": null,
      "isAgreementBank": 0,
      "agreementCode": null
    },
    {
      "href": "https://api.bsale.cl/v1/payment_types/5.json",
      "id": 5,
      "name": "CHEQUE",
      "isVirtual": 0,
      "isCheck": 1,
      "maxCheck": 3,
      "isCreditNote": 0,
      "isClientCredit": 0,
      "isCash": 0,
      "isCreditMemo": 0,
      "state": 0,
      "maxClientCuota": 0,
      "ledgerAccount": "1110201",
      "ledgerCode": null,
      "isAgreementBank": 0,
      "agreementCode": null,
      "dynamic_attributes": {
        "href": "https://api.bsale.cl/v1/payment_types/5/dynamic_attributes.json"
      }
    },
    {
      "href": "https://api.bsale.cl/v1/payment_types/4.json",
      "id": 4,
      "name": "CREDITO",
      "isVirtual": 0,
      "isCheck": 0,
      "maxCheck": null,
      "isCreditNote": 0,
      "isClientCredit": 1,
      "isCash": 0,
      "isCreditMemo": 0,
      "state": 0,
      "maxClientCuota": 0,
      "ledgerAccount": "",
      "ledgerCode": null,
      "isAgreementBank": 0,
      "agreementCode": null
    },
    {
      "href": "https://api.bsale.cl/v1/payment_types/1.json",
      "id": 1,
      "name": "EFECTIVO",
      "isVirtual": 0,
      "isCheck": 0,
      "maxCheck": null,
      "isCreditNote": 0,
      "isClientCredit": 0,
      "isCash": 1,
      "isCreditMemo": 0,
      "state": 0,
      "maxClientCuota": 0,
      "ledgerAccount": "1112401",
      "ledgerCode": null,
      "isAgreementBank": 0,
      "agreementCode": null
    },
    {
      "href": "https://api.bsale.cl/v1/payment_types/3.json",
      "id": 3,
      "name": "NOTA CREDITO DEVOLUCION",
      "isVirtual": 0,
      "isCheck": 0,
      "maxCheck": null,
      "isCreditNote": 1,
      "isClientCredit": 0,
      "isCash": 0,
      "isCreditMemo": 0,
      "state": 0,
      "maxClientCuota": 0,
      "ledgerAccount": "1112301",
      "ledgerCode": null,
      "isAgreementBank": 0,
      "agreementCode": null
    }
  ]
}

GET una forma de pago

  • GET /v1/payment_types/7.json retornara una forma de pago específica.

Respuesta

{
  "href": "https://api.bsale.cl/v1/payment_types/7.json",
  "id": 7,
  "name": "ABONO DE CLIENTE",
  "isVirtual": 0,
  "isCheck": 0,
  "maxCheck": null,
  "isCreditNote": 0,
  "isClientCredit": 0,
  "isCash": 0,
  "isCreditMemo": 1,
  "state": 0,
  "maxClientCuota": 0,
  "ledgerAccount": "",
  "ledgerCode": null,
  "isAgreementBank": 0,
  "agreementCode": null
}

GET cantidad de formas de pago

  • GET /v1/payment_types/count.json

Parámetros

  • state, permite filtrar por estado, activos (0) inactivos (1).

####Respuesta

{
  "count": 4
}

GET atributos dinamicos de la forma de pago

  • GET /v1/payment_types/5/dynamic_attributes.json retornara los atributos dinamicos de la forma de pago y los detalles de esta si tiene
{
    "href": "https://api.bsale.cl/v1/dynamic_attributes.json",
    "count": 6,
    "limit": 25,
    "offset": 0,
    "items": [
        {
            "href": "https://api.bsale.cl/v1/dynamic_attributes/2.json",
            "id": 2,
            "name": "Banco",
            "tip": "",
            "type": 4,
            "isMandatory": 1,
            "state": 0,
            "payment_type": {
                "href": "https://api.bsale.cl/v1/payment_types/5.json",
                "id": "5"
            }
        },
        {
            "href": "https://api.bsale.cl/v1/dynamic_attributes/3.json",
            "id": 3,
            "name": "Número",
            "tip": "",
            "type": 4,
            "isMandatory": 1,
            "state": 0,
            "payment_type": {
                "href": "https://api.bsale.cl/v1/payment_types/5.json",
                "id": "5"
            }
        },
        {
            "href": "https://api.bsale.cl/v1/dynamic_attributes/19.json",
            "id": 19,
            "name": "Nº Autoriza DICOM",
            "tip": "",
            "type": 3,
            "isMandatory": 1,
            "state": 1,
            "payment_type": {
                "href": "https://api.bsale.cl/v1/payment_types/5.json",
                "id": "5"
            }
        },
        {
            "href": "https://api.bsale.cl/v1/dynamic_attributes/94.json",
            "id": 94,
            "name": "Opcion",
            "tip": "",
            "type": 7,
            "isMandatory": 0,
            "state": 0,
            "payment_type": {
                "href": "https://api.bsale.cl/v1/payment_types/5.json",
                "id": "5"
            },
            "details": {
                "href": "https://api.bsale.cl/v1/dynamic_attributes/94/details.json",
                "count": 3,
                "limit": 25,
                "offset": 0,
                "items": [
                    {
                        "href": "https://api.bsale.cl/v1/dynamic_attributes/94/details/60.json",
                        "id": 60,
                        "name": "A",
                        "state": 0
                    },
                    {
                        "href": "https://api.bsale.cl/v1/dynamic_attributes/94/details/61.json",
                        "id": 61,
                        "name": "B",
                        "state": 0
                    },
                    {
                        "href": "https://api.bsale.cl/v1/dynamic_attributes/94/details/62.json",
                        "id": 62,
                        "name": "C",
                        "state": 0
                    }
                ]
            }
        },
        {
            "href": "https://api.bsale.cl/v1/dynamic_attributes/18.json",
            "id": 18,
            "name": "Titular",
            "tip": "",
            "type": 4,
            "isMandatory": 1,
            "state": 0,
            "payment_type": {
                "href": "https://api.bsale.cl/v1/payment_types/5.json",
                "id": "5"
            }
        },
        {
            "href": "https://api.bsale.cl/v1/dynamic_attributes/17.json",
            "id": 17,
            "name": "Vencimiento",
            "tip": "",
            "type": 1,
            "isMandatory": 1,
            "state": 1,
            "payment_type": {
                "href": "https://api.bsale.cl/v1/payment_types/5.json",
                "id": "5"
            }
        }
    ]
}

POST una forma de pago

  • POST /v1/payment_types.json

Para crear una forma de pago se debe considerar el tipo que tiene, por ejemplo si es efectivo se debe enviar el atributo "isCash":1, si es cheque "isCheck":1, en el caso de no requerir alguno de los tipos soportados solo se debe enviar el nombre, ejemplos:

Sin especificar un tipo.

{
  "name":"Tarjeta de Debito"  
}

En el caso del cheque se debe enviar el máximo de cheques permitidos.

{
  "name":"Cheque",
  "isCheck":1,
  "maxCheck":3
}

Si es un abono de cliente.

{
  "name":"Abono Cliente",
  "isCreditMemo":1
}

En caso de tener un enlace contable se puede enviar la cuenta contable y código contable.

{
  "name":"Tarjeta de crédito",
  "ledgerAccount":"111-01",
  "ledgerCode": "1234"
}

Respuesta

{
  "href": "https://api.bsale.cl/v1/payment_types/10.json",
  "id": 10,
  "name": "Tarjeta de crédito",
  "isVirtual": 0,
  "isCheck": 0,
  "maxCheck": null,
  "isCreditNote": 0,
  "isClientCredit": 0,
  "isCash": 0,
  "isCreditMemo": 0,
  "state": 0,
  "maxClientCuota": 0,
  "ledgerAccount":"111-01",
  "ledgerCode": "1234",
  "isAgreementBank": 0,
  "agreementCode": null
}