Metadata-Version: 2.4
Name: swarmauri_billing_razorpay
Version: 0.9.2
Summary: Razorpay billing provider for the Swarmauri SDK.
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: swarmauri,sdk,billing,razorpay,community,payments,payment gateway,recurring billing,subscription management,merchant services,e-commerce integration
Author: Jacob Stewart
Author-email: jacob@swarmauri.com
Requires-Python: >=3.10,<3.13
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial :: Point-Of-Sale
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Dist: razorpay (>=1.3.0)
Requires-Dist: swarmauri_base
Requires-Dist: swarmauri_core
Description-Content-Type: text/markdown

![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)

<p align="center">
    <a href="https://pypi.org/project/swarmauri_billing_razorpay/">
        <img src="https://img.shields.io/pypi/dm/swarmauri_billing_razorpay" alt="PyPI - Downloads"/></a>
    <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/community/swarmauri_billing_razorpay/">
        <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/community/swarmauri_billing_razorpay.svg"/></a>
    <a href="https://pypi.org/project/swarmauri_billing_razorpay/">
        <img src="https://img.shields.io/pypi/pyversions/swarmauri_billing_razorpay" alt="PyPI - Python Version"/></a>
    <a href="https://pypi.org/project/swarmauri_billing_razorpay/">
        <img src="https://img.shields.io/pypi/l/swarmauri_billing_razorpay" alt="PyPI - License"/></a>
    <a href="https://pypi.org/project/swarmauri_billing_razorpay/">
        <img src="https://img.shields.io/pypi/v/swarmauri_billing_razorpay?label=swarmauri_billing_razorpay&color=green" alt="PyPI - swarmauri_billing_razorpay"/></a>
</p>

---

# Swarmauri Billing Razorpay

The **Swarmauri Billing Razorpay** package integrates the Razorpay Python SDK into the Swarmauri billing ecosystem. It offers high-fidelity wrappers for Razorpay items, payment links, orders, subscriptions, invoices, and webhook verification routines.

## Features

- ✅ Creates products and prices using Razorpay items and catalog metadata.
- ✅ Generates payment links for hosted checkout flows.
- ✅ Manages orders for online payments, capture, and cancellation workflows.
- ✅ Handles Razorpay subscriptions and invoice issuance APIs.
- ✅ Supports Route marketplace transfers and secure webhook signature validation.

## Installation

```bash
pip install swarmauri_billing_razorpay
```

```bash
uv add swarmauri_billing_razorpay
```

## Usage

```python
from swarmauri_billing_razorpay import RazorpayBillingProvider
from swarmauri_base.billing import CheckoutRequest, PriceSpec, ProductSpec

provider = RazorpayBillingProvider(
    key_id="rzp_test_xxxxx",
    key_secret="test_secret",
)

product = provider.create_product(
    ProductSpec(name="Analytics Plan", description="Advanced dashboards"),
    idempotency_key="razorpay-prod-001",
)

price = provider.create_price(
    product,
    PriceSpec(currency="INR", unit_amount_minor=49900, nickname="Quarterly"),
    idempotency_key="razorpay-price-001",
)

checkout = provider.create_checkout(
    price,
    CheckoutRequest(
        quantity=1,
        success_url="https://merchant.example/razorpay/callback",
        idempotency_key="razorpay-checkout-001",
    ),
)

print(product.id, price.id, checkout.url)
```

## Capability Mapping

Razorpay operations surfaced by this provider emit `Capability` enums that can be translated to tigrbl billing capabilities using `capabilities_to_tigrbl`.

## Contributing

Bug fixes and new Razorpay API coverage are very welcome. Please share reproducible examples when reporting issues so we can iterate quickly.

