Skip to content

Commit

Permalink
cambios en documentacion y docstrings
Browse files Browse the repository at this point in the history
  • Loading branch information
mariofix committed Sep 27, 2024
1 parent a012367 commit bbd442f
Show file tree
Hide file tree
Showing 30 changed files with 556 additions and 6,628 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ repos:
rev: v3.17.0
hooks:
- id: pyupgrade
args: [--py38-plus]
args: [--py39-plus]
- repo: https://github.com/hhatto/autopep8
rev: v2.3.1
hooks:
Expand Down
63 changes: 30 additions & 33 deletions .vscode/pyflowcl.code-workspace
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
{
"folders": [
{
"path": ".."
},
{
"path": "../../stripe-python"
}
],
"settings": {
"python.analysis.typeCheckingMode": "off",
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSaveMode": "file",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"isort.args": [
"--profile",
"black",
"--filter-files"
],
"isort.check": true,
"diffEditor.codeLens": true,
"python.defaultInterpreterPath": "/home/mariofix/.cache/pypoetry/virtualenvs/pyflowcl-S15X6UCq-py3.8/bin/python",
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
},
}
}
// {
// "folders": [
// {
// "path": ".."
// }
// ],
// "settings": {
// "python.analysis.typeCheckingMode": "off",
// "editor.defaultFormatter": "ms-python.black-formatter",
// "editor.formatOnSaveMode": "file",
// "editor.formatOnSave": true,
// "editor.codeActionsOnSave": {
// "source.organizeImports": "explicit"
// },
// "[jsonc]": {
// "editor.defaultFormatter": "vscode.json-language-features"
// },
// "isort.args": [
// "--profile",
// "black",
// "--filter-files"
// ],
// "isort.check": true,
// "diffEditor.codeLens": true,
// "python.defaultInterpreterPath": "/home/mariofix/.cache/pypoetry/virtualenvs/pyflowcl-S15X6UCq-py3.10/bin/python",
// "[markdown]": {
// "editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
// },
// }
// }
46 changes: 27 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
# Bienvenido a pyflowcl

Pyflowcl es una biblioteca de Python que proporciona una interfaz para interactuar con la API de Flow en Chile. Con pyflowcl, puedes realizar diversas operaciones, como crear pagos, obtener información de pagos, realizar reembolsos y más.
Hace aproximadamente 10 años comencé a desarrollar esta librería con el objetivo de crear una herramienta simple y funcional para el sistema en el que estaba trabajando. Aunque el primer commit es de hace 4 años, la he estado utilizando desde entonces, refinándola según las necesidades. Inicialmente, implementé el manejo de pagos y reembolsos, y en ese momento, funcionaba perfectamente. Sin embargo, cuando intenté añadir soporte para suscripciones y otras características más complejas, me encontré con que la API era mucho más extensa de lo que esperaba. Además, surgió un problema de formato en el archivo que impidió que se pudiera leer correctamente.

Investigando soluciones, descubrí la librería Dorthu/openapi3, que permitía generar automáticamente una API a partir del archivo YAML proporcionado por Flow, lo que parecía ideal para simplificar el proceso en Python. Implementé el soporte completo para la API, logrando que funcionara en un 90%, aunque todavía no es completamente usable. Intenté contribuir con una solución para un bug, pero no fue aceptada. Además, el mantenedor no ha realizado actualizaciones en los últimos dos años. Por eso, he decidido dejar de dar soporte a FlowAPI y migrar hacia FlowClient, actualizando la documentación en consecuencia. Los pasos para realizar esta transición están detallados en la documentación.

pyflowcl es una biblioteca de Python que proporciona una interfaz para interactuar con la API de Flow en Chile. Con pyflowcl, puedes realizar diversas operaciones, como crear pagos, obtener información de pagos, realizar reembolsos y más.

![PyPI - Status](https://img.shields.io/pypi/status/pyflowcl)
[![Tests&Coverage](https://github.com/mariofix/pyflowcl/actions/workflows/tests_coverage.yml/badge.svg?branch=main)](https://github.com/mariofix/pyflowcl/actions/workflows/tests_coverage.yml)
[![Downloads](https://pepy.tech/badge/pyflowcl)](https://pepy.tech/project/pyflowcl)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/7254d825df2d4292bf68563548d41f64)](https://app.codacy.com/gh/mariofix/pyflowcl/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/7254d825df2d4292bf68563548d41f64)](https://app.codacy.com/gh/mariofix/pyflowcl/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/mariofix/pyflowcl/main.svg)](https://results.pre-commit.ci/latest/github/mariofix/pyflowcl/main)
![PyPI](https://img.shields.io/pypi/v/pyflowcl)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyflowcl)
![PyPI - Implementation](https://img.shields.io/pypi/implementation/pyflowcl)
![PyPI - License](https://img.shields.io/pypi/l/pyflowcl)
![PyPI - Status](https://img.shields.io/pypi/status/pyflowcl)

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## Instalación

Expand All @@ -26,23 +31,26 @@ pip install pyflowcl
Aquí hay un ejemplo básico de cómo usar pyflowcl para crear un pago:

```python
from pyflowcl import FlowAPI
from pyflowcl.utils import genera_parametros

api = FlowAPI(api_key="tu llave flow", api_secret="tu secreto flow")
parametros = {
"apiKey": api.api_key,
"amount": 10000,
"currency": "CLP",
"subject": "Ejemplo de Pago",
"email": "correo@example.com",
"urlConfirmation": "https://mariofix.github.io/pyflowcl/uso/#crear-un-pago",
"urlReturn": "https://mariofix.github.io/pyflowcl/uso/#crear-un-pago",
"commerceOrder": "order_1234",
from pyflowcl import Payment
from pyflowcl.Clients import ApiClient

api = ApiClient(
api_url="https://www.flow.cl/api",
api_key="tu_api_key",
api_secret="tu_api_secret",
)
pago = {
"subject": "Asunto Email",
"commerceOrder": "1234",
"amount": 5000,
"email": "mariofix@pm.me",
"urlConfirmation": "https://mariofix.com",
"urlReturn": "https://mariofix.com",
}
pago = api.objetos.call_payment_create(parameters=genera_parametros(parametros, api.api_secret))
print(pago)
> { "flowOrder": 123456, "url": "https://www.flow.cl/app/pay.php", "token": "tok_123456" }

llamada = Payment.create(api, pago)
print(f"{llamada = }")
> llamada = { "flowOrder": 123456, "url": "https://www.flow.cl/app/pay.php", "token": "tok_123456" }

# Obtiene la URL de pago
print(f"URL de pago: {pago.url}?token={pago.token}")
Expand Down
41 changes: 0 additions & 41 deletions cliente_openapi.py

This file was deleted.

Loading

0 comments on commit bbd442f

Please sign in to comment.