Instalación y Configuración

Instalación

Note

Solo ha sido probado en python 3 en Debian 10 y Centos 7.5 con python3.6 .

Instale mediante pypi

pip install pyfva

o usando el repositorio

pip install -e "git+https://github.com/solvo/pyfva.git#egg=pyfva"

Instalación Windows

Pyfva se desarrolla y prueba en Linux por lo que se recomienda encarecidamente usarlo, aún así debería ser compatible con Windows.

Los siguientes pasos corresponden a como lograrlo instalar

Es recomendable usar la terminal provista por git

  • pip install pyfva

Parámetros de ambiente

Los siguientes parámetros pueden ser modificados usando variables de entorno o variables en django settings.

Los valores por defecto son:

  • FVA_HOST = “http://bccr.fva.cr/
  • STUB_SCHEME = ‘http’
  • STUB_HOST = “localhost:8001”
  • RECEPTOR_HOST = ‘http://bccr.fva.cr/
  • DEFAULT_BUSSINESS = 1
  • DEFAULT_ENTITY = 1
  • RECEPTOR_CLIENT = ‘pyfva.receptor.client’
  • FVA_TESTURLS = ‘’

Para usarse en una consola en linux use por ejemplo:

export STUB_HOST="localhost:8000"

y luego ejecute el programa que hace uso de pyfva.

En el caso de utilizar el entorno de pruebas se requiere especificar true, la no existencia de la variable representa, el uso de las URL para producción.

export FVA_TESTURLS="true"

Note

No usar FVA_TESTURLS=”true” cuando se use con el simulador, ya que este de momento no soporta las rutas de prueba.

En caso de usarse en conjunto con django puede agregar los parámetros en settings.py y serán cargados automáticamente.

Note

Las variables de entorno tiene prioridad con respecto a las variables en settings de django

Comunicación SSL

Para entablar comunicación entre la entidad y el BCCR se requiere autenticación mutua, para esto debe indicar a nivel de entorno que las rutas de los certificados a utilizar.

export REQUESTS_CA_PATH=ca_nacional_de_CR.pem
export REQUESTS_CERT_PATH=bccr_agent.pem
export REQUESTS_KEY_PATH=bccr_agent_key.pem

Por limitaciones de requests la llave privada debe estar en plano, por lo que se recomienda proteger especialmente ese archivo contra accesos indebidos.