Metadata-Version: 2.4
Name: pofsis-pay
Version: 0.2.0
Summary: Internal POFSIS client for IAM-authenticated POFPay integrations
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: boto3<2,>=1.35
Requires-Dist: httpx<1,>=0.28
Provides-Extra: fastapi
Requires-Dist: fastapi<1,>=0.115; extra == "fastapi"
Provides-Extra: dev
Requires-Dist: fastapi<1,>=0.115; extra == "dev"
Requires-Dist: pytest<10,>=8; extra == "dev"

# pofsis-pay

Private Python SDK for IAM-authenticated POFPay machine requests and signed callback validation.

```python
from pofsis_pay import POFPayClient

client = POFPayClient(
    api_base_url="https://pofpay.example.com",
    region="ap-southeast-1",
)
checkout = client.create_payment_request(snapshot, "tool:order-id")
```

Lambda uses the standard AWS credential chain, so no access key is stored in application
configuration. Install the same pinned version locally and in the published Python 3.12 Layer.

`buildspec-publish.yml` tests, builds, validates, and publishes an immutable package version to
PyPI using a protected `PYPI_API_TOKEN`. `buildspec-layer.yml` installs that exact public version
from `https://pypi.org/simple` and publishes the shared Lambda Layer. Runtime Lambdas need no PyPI
credentials or package-registry access.

The PyPI distribution is `pofsis-pay`; the Python import is `pofsis_pay`.

Version 0.2 adds framework-independent callback and reconciliation processors plus an optional
FastAPI router. Tool databases implement the `IntegrationStore` protocol; the SDK does not own
tool order or fulfillment tables. Hosted tools use an immutable version of the shared Python 3.12
Layer named `pofsis-pay-layer`. The Layer contains only the SDK (`--no-deps`), while each function
continues to package compatible `boto3` and `httpx` versions.
