{"id":22308071,"url":"https://github.com/akretion/caisse-ap-ip","last_synced_at":"2026-03-05T20:20:49.904Z","repository":{"id":153645738,"uuid":"629892481","full_name":"akretion/caisse-ap-ip","owner":"akretion","description":"Caisse-AP over IP protocol server and client","archived":false,"fork":false,"pushed_at":"2025-04-24T22:39:14.000Z","size":32,"stargazers_count":8,"open_issues_count":0,"forks_count":4,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-20T12:13:39.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akretion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-19T08:33:34.000Z","updated_at":"2025-06-27T10:20:30.000Z","dependencies_parsed_at":"2025-06-16T19:07:44.293Z","dependency_job_id":"31884da8-0146-4f1e-883b-4ecd5b23c27d","html_url":"https://github.com/akretion/caisse-ap-ip","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akretion/caisse-ap-ip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akretion%2Fcaisse-ap-ip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akretion%2Fcaisse-ap-ip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akretion%2Fcaisse-ap-ip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akretion%2Fcaisse-ap-ip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akretion","download_url":"https://codeload.github.com/akretion/caisse-ap-ip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akretion%2Fcaisse-ap-ip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272631632,"owners_count":24967104,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T20:13:03.390Z","updated_at":"2026-03-05T20:20:44.854Z","avatar_url":"https://github.com/akretion.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Caisse AP over IP protocol server and client\n\nThis project provides a server and client for the Caisse AP over IP protocol under the [GPL licence](https://www.gnu.org/licenses/gpl-3.0.html).\n\nThe [Caisse AP protocol](https://www.associationdupaiement.fr/protocoles/protocole-caisse/) is a vendor-independent protocol used in France to communicate between a point of sale and a payment terminal. It is implemented by [Ingenico](https://ingenico.com/fr/produits-et-services/terminaux-de-paiement) payment terminals, [Verifone](https://www.verifone.com/) payment terminal and other brands of payment terminals. This protocol is designed by a French association called [Association du paiement](https://www.associationdupaiement.fr/), abbreviated as **AP**. Note that the Caisse-AP protocol is used by Ingenico payment terminals deployed in France, but not by the same model of Ingenico payment terminals deployed in other countries!\n\nThe Caisse-AP protocol was initially written for serial and USB. Since the Caisse AP protocol version 3.x, it also supports IP. When used over IP, the client (point of sale) and the server (payment terminal) exchange simple text data encoded as ASCII over a raw TCP socket.\n\nThis project provides two Python 3 scripts:\n\n- a client `caisse-ap-ip-client.py` that can simulate a point of sale,\n- a server `caisse-ap-ip-server.py` that can simulate a payment terminal.\n\nWhen developers implement the Caisse-AP IP protocol in a point of sale software, they need a real payment terminal to perform tests and, if they want to test a successful payment transaction, they need to make a real payment with a credit card. With this project, developers can now simulate a payment terminal and don't need a real payment terminal and a real credit card to perform payment transaction tests. This project can also be useful to develop a fully automated test suite that cover the code that implement to Caisse-AP IP protocol.\n\n# Installation\n\nThe client needs the [iso4217](https://github.com/dahlia/iso4217) Python lib (not needed when using `EUR` only).\n\n    pip3 install iso4217\n\nThe server requires the [Twisted](https://twisted.org/) Python lib:\n\n    pip3 install Twisted\n\n# Usage\n\nThe client and server script both have an option `--help` (or `-h`) that display the full list of the available options.\n\nThe server can be configured to simulate successful payment transaction, but also payment failures or timeouts.\n\n# Tests\n\nTo develop this project, we used an **Ingenico Desk/5000** (with application `CONCERT V3` version `8400740115`) with check printer **Ingenico i2200**. We made real card payments and printed real checks.\n\n# Author\n\n- Rémi de Lattre\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakretion%2Fcaisse-ap-ip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakretion%2Fcaisse-ap-ip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakretion%2Fcaisse-ap-ip/lists"}