# u093622/softluka-py architecture

> Architecture diagram of the GitHub repository u093622/softluka-py, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/u093622/softluka-py
- Repository: https://github.com/u093622/softluka-py

## Overview

This repository implements a FastAPI service for domain-level payment-method checks, payment-provider checkout operations, Stripe-related account setup, and Google search. The principal workflow is an authenticated JSON request that is validated and dispatched to a selected handler; the handler contacts the target site or provider and returns a status/result. The source index identifies the entry point’s references to the handlers, but the excerpt omits the route registrations, so dispatch edges are dashed. The README is empty, and several provider implementations were not excerpted.

Main entry points: [`index.py`](https://github.com/u093622/softluka-py/blob/main/index.py) (FastAPI entry), [`api/auth/stripe.py`](https://github.com/u093622/softluka-py/blob/main/api/auth/stripe.py) (Stripe account setup), [`api/charge/intuit.py`](https://github.com/u093622/softluka-py/blob/main/api/charge/intuit.py) (Intuit handler), [`api/charge/ppcp.py`](https://github.com/u093622/softluka-py/blob/main/api/charge/ppcp.py) (PayPal Commerce handler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API entry"]
  node_entry["FastAPI entry<br/>[index.py]"]
end

subgraph group_checks["Payment checks"]
  node_method1["Method 1 check<br/>[method1.py]"]
  node_method2["Method 2 check<br/>[method2.py]"]
  node_method3["Method 3 check<br/>[method3.py]"]
end

subgraph group_charges["Payment handlers"]
  node_stripeauth["Stripe account setup<br/>[stripe.py]"]
  node_cybersource["CyberSource handler<br/>[cybersource.py]"]
  node_intuit["Intuit handler<br/>[intuit.py]"]
  node_moneris["Moneris handler<br/>[moneris.py]"]
  node_nmi["NMI handler<br/>[nmi.py]"]
  node_payflow["PayPal Payflow handler"]
  node_paypalpro["PayPal Pro handler<br/>[paypalpro.py]"]
  node_ppcp["PayPal Commerce handler<br/>[ppcp.py]"]
  node_securesubmit["SecureSubmit handler<br/>[securesubmit.py]"]
  node_stripe["Stripe handler<br/>[stripe.py]"]
  node_stripecc["Stripe CC handler<br/>[stripe_cc.py]"]
end

subgraph group_integrations["External integrations"]
  node_search["Google search<br/>[search.py]"]
  node_target(("Target websites"))
  node_providers(("Payment providers"))
  node_google(("Google Search"))
end

node_client(("API client"))

node_client -->|"submits JSON"| node_entry
node_entry -.->|"dispatches"| node_method1
node_entry -.->|"dispatches"| node_method2
node_entry -.->|"dispatches"| node_method3
node_entry -.->|"dispatches"| node_stripeauth
node_entry -.->|"dispatches"| node_cybersource
node_entry -.->|"dispatches"| node_intuit
node_entry -.->|"dispatches"| node_moneris
node_entry -.->|"dispatches"| node_nmi
node_entry -.->|"dispatches"| node_payflow
node_entry -.->|"dispatches"| node_paypalpro
node_entry -.->|"dispatches"| node_ppcp
node_entry -.->|"dispatches"| node_securesubmit
node_entry -.->|"dispatches"| node_stripe
node_entry -.->|"dispatches"| node_stripecc
node_entry -.->|"dispatches"| node_search
node_method1 -->|"requests site"| node_target
node_method2 -->|"requests site"| node_target
node_method3 -->|"requests site"| node_target
node_stripeauth -->|"requests site"| node_target
node_intuit -->|"requests site"| node_target
node_securesubmit -->|"requests site"| node_target
node_stripe -->|"requests site"| node_target
node_stripecc -->|"requests site"| node_target
node_ppcp -->|"requests site"| node_target
node_stripeauth -->|"calls Stripe"| node_providers
node_intuit -->|"calls gateway"| node_providers
node_securesubmit -->|"calls gateway"| node_providers
node_stripe -->|"calls Stripe"| node_providers
node_stripecc -->|"calls Stripe"| node_providers
node_ppcp -->|"calls PayPal"| node_providers
node_search -->|"searches"| node_google

click node_entry "https://github.com/u093622/softluka-py/blob/main/index.py"
click node_method1 "https://github.com/u093622/softluka-py/blob/main/api/payment/method1.py"
click node_method2 "https://github.com/u093622/softluka-py/blob/main/api/payment/method2.py"
click node_method3 "https://github.com/u093622/softluka-py/blob/main/api/payment/method3.py"
click node_stripeauth "https://github.com/u093622/softluka-py/blob/main/api/auth/stripe.py"
click node_cybersource "https://github.com/u093622/softluka-py/blob/main/api/charge/cybersource.py"
click node_intuit "https://github.com/u093622/softluka-py/blob/main/api/charge/intuit.py"
click node_moneris "https://github.com/u093622/softluka-py/blob/main/api/charge/moneris.py"
click node_nmi "https://github.com/u093622/softluka-py/blob/main/api/charge/nmi.py"
click node_payflow "https://github.com/u093622/softluka-py/blob/main/api/charge/paypal_pro_payflow.py"
click node_paypalpro "https://github.com/u093622/softluka-py/blob/main/api/charge/paypalpro.py"
click node_ppcp "https://github.com/u093622/softluka-py/blob/main/api/charge/ppcp.py"
click node_securesubmit "https://github.com/u093622/softluka-py/blob/main/api/charge/securesubmit.py"
click node_stripe "https://github.com/u093622/softluka-py/blob/main/api/charge/stripe.py"
click node_stripecc "https://github.com/u093622/softluka-py/blob/main/api/charge/stripe_cc.py"
click node_search "https://github.com/u093622/softluka-py/blob/main/api/google/search.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_client toneBlue
class node_method1,node_method2,node_method3 toneAmber
class node_stripeauth,node_cybersource,node_intuit,node_moneris,node_nmi,node_payflow,node_paypalpro,node_ppcp,node_securesubmit,node_stripe,node_stripecc toneMint
class node_search,node_target,node_providers,node_google toneRose
```

## Components

### API entry

- [FastAPI entry](https://github.com/u093622/softluka-py/blob/main/index.py): `index.py`

### Payment checks

- [Method 1 check](https://github.com/u093622/softluka-py/blob/main/api/payment/method1.py): `api/payment/method1.py`
- [Method 2 check](https://github.com/u093622/softluka-py/blob/main/api/payment/method2.py): `api/payment/method2.py`
- [Method 3 check](https://github.com/u093622/softluka-py/blob/main/api/payment/method3.py): `api/payment/method3.py`

### Payment handlers

- [Stripe account setup](https://github.com/u093622/softluka-py/blob/main/api/auth/stripe.py): `api/auth/stripe.py`
- [CyberSource handler](https://github.com/u093622/softluka-py/blob/main/api/charge/cybersource.py): `api/charge/cybersource.py`
- [Intuit handler](https://github.com/u093622/softluka-py/blob/main/api/charge/intuit.py): `api/charge/intuit.py`
- [Moneris handler](https://github.com/u093622/softluka-py/blob/main/api/charge/moneris.py): `api/charge/moneris.py`
- [NMI handler](https://github.com/u093622/softluka-py/blob/main/api/charge/nmi.py): `api/charge/nmi.py`
- [PayPal Payflow handler](https://github.com/u093622/softluka-py/blob/main/api/charge/paypal_pro_payflow.py): `api/charge/paypal_pro_payflow.py`
- [PayPal Pro handler](https://github.com/u093622/softluka-py/blob/main/api/charge/paypalpro.py): `api/charge/paypalpro.py`
- [PayPal Commerce handler](https://github.com/u093622/softluka-py/blob/main/api/charge/ppcp.py): `api/charge/ppcp.py`
- [SecureSubmit handler](https://github.com/u093622/softluka-py/blob/main/api/charge/securesubmit.py): `api/charge/securesubmit.py`
- [Stripe handler](https://github.com/u093622/softluka-py/blob/main/api/charge/stripe.py): `api/charge/stripe.py`
- [Stripe CC handler](https://github.com/u093622/softluka-py/blob/main/api/charge/stripe_cc.py): `api/charge/stripe_cc.py`

### External integrations

- [Google search](https://github.com/u093622/softluka-py/blob/main/api/google/search.py): `api/google/search.py`
- **Target websites**
- **Payment providers**
- **Google Search**

### Other components

- **API client**

## Connections

- API client → FastAPI entry: submits JSON (evidence: `index.py`)
- FastAPI entry → Method 1 check: dispatches (evidence: `index.py`)
- FastAPI entry → Method 2 check: dispatches (evidence: `index.py`)
- FastAPI entry → Method 3 check: dispatches (evidence: `index.py`)
- FastAPI entry → Stripe account setup: dispatches (evidence: `index.py`)
- FastAPI entry → CyberSource handler: dispatches (evidence: `index.py`)
- FastAPI entry → Intuit handler: dispatches (evidence: `index.py`)
- FastAPI entry → Moneris handler: dispatches (evidence: `index.py`)
- FastAPI entry → NMI handler: dispatches (evidence: `index.py`)
- FastAPI entry → PayPal Payflow handler: dispatches (evidence: `index.py`)
- FastAPI entry → PayPal Pro handler: dispatches (evidence: `index.py`)
- FastAPI entry → PayPal Commerce handler: dispatches (evidence: `index.py`)
- FastAPI entry → SecureSubmit handler: dispatches (evidence: `index.py`)
- FastAPI entry → Stripe handler: dispatches (evidence: `index.py`)
- FastAPI entry → Stripe CC handler: dispatches (evidence: `index.py`)
- FastAPI entry → Google search: dispatches (evidence: `index.py`)
- Method 1 check → Target websites: requests site (evidence: `api/payment/method1.py`)
- Method 2 check → Target websites: requests site (evidence: `api/payment/method2.py`)
- Method 3 check → Target websites: requests site (evidence: `api/payment/method3.py`)
- Stripe account setup → Target websites: requests site (evidence: `api/auth/stripe.py`)
- Intuit handler → Target websites: requests site (evidence: `api/charge/intuit.py`)
- SecureSubmit handler → Target websites: requests site (evidence: `api/charge/securesubmit.py`)
- Stripe handler → Target websites: requests site (evidence: `api/charge/stripe.py`)
- Stripe CC handler → Target websites: requests site (evidence: `api/charge/stripe_cc.py`)
- PayPal Commerce handler → Target websites: requests site (evidence: `api/charge/ppcp.py`)
- Stripe account setup → Payment providers: calls Stripe (evidence: `api/auth/stripe.py`)
- Intuit handler → Payment providers: calls gateway (evidence: `api/charge/intuit.py`)
- SecureSubmit handler → Payment providers: calls gateway (evidence: `api/charge/securesubmit.py`)
- Stripe handler → Payment providers: calls Stripe (evidence: `api/charge/stripe.py`)
- Stripe CC handler → Payment providers: calls Stripe (evidence: `api/charge/stripe_cc.py`)
- PayPal Commerce handler → Payment providers: calls PayPal (evidence: `api/charge/ppcp.py`)
- Google search → Google Search: searches (evidence: `api/google/search.py`)
