Formas de pago
Listar, crear formas de pago en Bsale.
Cómo funciona la interfaz de Bsale, mira éstos videos:
- Gestión de Formas de pago Ver
Para usar las formas de pago creadas, revisar arreglo payments en el envío del documento.
Estructura JSON
Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:
{
"href": "https://api.bsale.io/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": ""
}
Atributos
| Atributo | Descripción | Tipo dato |
|---|---|---|
| href | url del Formas de pago | String |
| id | identificador único del Formas 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.jsonretornará todas los formas de pago.
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 para traer relaciones en una sola petición.
- 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=0GET /v1/payment_types.json?fields=[name,ledgeraccount]GET /v1/payment_types.json?state=0
{
"href": "https://api.bsale.io/v1/payment_types.json",
"count": 4,
"limit": 25,
"offset": 0,
"items": [
{
"href": "https://api.bsale.io/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.io/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.io/v1/payment_types/5/dynamic_attributes.json"
}
},
{
"href": "https://api.bsale.io/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.io/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.io/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.jsonretornará una forma de pago específica.
{
"href": "https://api.bsale.io/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.jsonRetornará cantidades de registros.state, boolean (0 o 1) indica si los Formas de pagos están activos(0) inactivos (1).
{
"count": 6
}
GET atributos dinamicos de la forma de pago
- GET
/v1/payment_types/5/dynamic_attributes.jsonretornará los atributos dinamicos de la forma de pago y los detalles de esta si tiene.
{
"href": "https://api.bsale.io/v1/dynamic_attributes.json",
"count": 6,
"limit": 25,
"offset": 0,
"items": [
{
"href": "https://api.bsale.io/v1/dynamic_attributes/2.json",
"id": 2,
"name": "Banco",
"tip": "",
"type": 4,
"isMandatory": 1,
"state": 0,
"payment_type": {
"href": "https://api.bsale.io/v1/payment_types/5.json",
"id": "5"
}
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/3.json",
"id": 3,
"name": "Número",
"tip": "",
"type": 4,
"isMandatory": 1,
"state": 0,
"payment_type": {
"href": "https://api.bsale.io/v1/payment_types/5.json",
"id": "5"
}
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/19.json",
"id": 19,
"name": "Nº Autoriza DICOM",
"tip": "",
"type": 3,
"isMandatory": 1,
"state": 1,
"payment_type": {
"href": "https://api.bsale.io/v1/payment_types/5.json",
"id": "5"
}
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/94.json",
"id": 94,
"name": "Opcion",
"tip": "",
"type": 7,
"isMandatory": 0,
"state": 0,
"payment_type": {
"href": "https://api.bsale.io/v1/payment_types/5.json",
"id": "5"
},
"details": {
"href": "https://api.bsale.io/v1/dynamic_attributes/94/details.json",
"count": 3,
"limit": 25,
"offset": 0,
"items": [
{
"href": "https://api.bsale.io/v1/dynamic_attributes/94/details/60.json",
"id": 60,
"name": "A",
"state": 0
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/94/details/61.json",
"id": 61,
"name": "B",
"state": 0
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/94/details/62.json",
"id": 62,
"name": "C",
"state": 0
}
]
}
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/18.json",
"id": 18,
"name": "Titular",
"tip": "",
"type": 4,
"isMandatory": 1,
"state": 0,
"payment_type": {
"href": "https://api.bsale.io/v1/payment_types/5.json",
"id": "5"
}
},
{
"href": "https://api.bsale.io/v1/dynamic_attributes/17.json",
"id": 17,
"name": "Vencimiento",
"tip": "",
"type": 1,
"isMandatory": 1,
"state": 1,
"payment_type": {
"href": "https://api.bsale.io/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
Para crear una forma de pago, se debe enviar un JSON con la siguiente estructura:
Ejemplo JSON
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 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"
}
Atributos (opcional)
Si se desean usar atributos especiales para la forma de pago, se debe enviar la siguiente estructura en el arreglo payments del documento.
{
"payments": [
{
"paymentTypeId": 4,
"amount": 1500,
"contactDetails": [
{
"id_atributo_formulario": 61,
"descripcion_atributo": "Operación 188373473"
}
]
}
]
}
- paymentTypeId, id forma de pago
- id_atributo_formulario, id atributo de forma de pago
- descripcion_atributo, dato que se almacena en atributo forma de pago
Respuesta
{
"href": "https://api.bsale.io/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
}