Observed since 20 Oct, 18:21 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Python SDK for Acoriss Payment Gateway
A lightweight Python SDK to create payment sessions with the Acoriss payment gateway.
Using pip:
pip install acoriss-payment-gateway
from acoriss_payment_gateway import PaymentGatewayClient
client = PaymentGatewayClient(
api_key="your-api-key",
api_secret="your-api-secret", # enables automatic HMAC-SHA256 signing
environment="sandbox", # or "live"
)
session = client.create_session(
amount=5000,
currency="USD",
customer={
"email": "john@example.com",
"name": "John Doe",
"phone": "+1234567890"
},
description="Payment for Order #1234",
callback_url="https://example.com/api/callback",
cancel_url="https://example.com/cancel",
success_url="https://example.com/success",
transaction_id="order_1234",
service_id="ecommerce_payment", # optional: categorize the payment
services=[
{
"name": "express_delivery",
"price": 1500,
"description": "Express delivery service",
"quantity": 1
}
]
)
print("Checkout URL:", session["checkout_url"])
payment = client.get_payment("pay_1234567890")
print("Payment Status:", payment["status"]) # 'P' | 'S' | 'C'
print("Amount:", payment["amount"])
print("Expired:", payment["expired"])
print("Services:", payment["services"])
Payment status values:
'P' - Pending: Payment is awaiting completion'S' - Succeeded: Payment was successful'C' - Canceled: Payment was canceled or failedBy default the SDK computes X-SIGNATURE as HMAC-SHA256(body, apiSecret) if you provide api_secret.
If your gateway uses a different signing algorithm, you can:
from acoriss_payment_gateway import PaymentGatewayClient
from acoriss_payment_gateway.signer import SignerInterface
class CustomSigner(SignerInterface):
def sign(self, data: str) -> str:
return my_custom_signature(data)
client = PaymentGatewayClient(
api_key="...",
signer=CustomSigner()
)
client.create_session(payload, signature_override="precomputed-signature")
api_key: str (required)api_secret: str (optional; enables default HMAC-SHA256 signature)signer: SignerInterface (optional; custom signer)environment: "sandbox" | "live" (default: "sandbox")base_url: str (optional override of base URL)timeout: float (default: 15.0 seconds)create_session(payload, signature_override=None)Creates a new payment session.
Parameters:
amount: int - Amountcurrency: str - Currency code (e.g., "USD")customer: dict - Customer info with email, name, and optional phonedescription: str (optional) - Payment descriptioncallback_url: str (optional) - Webhook callback URLcancel_url: str (optional) - Cancel redirect URLsuccess_url: str (optional) - Success redirect URLtransaction_id: str (optional) - Merchant reference IDservice_id: str (optional) - Service categorization identifierservices: list (optional) - List of service itemssignature_override: str (optional) - Custom signatureReturns: dict - Session details with checkout URL
get_payment(payment_id, signature_override=None)Retrieves payment status and details by payment ID.
Parameters:
payment_id: str - The payment ID (e.g., 'pay_1234567890')signature_override: str (optional) - Custom signatureReturns: dict - Payment details including status, services, and customer info
Errors raise APIError with status, data, and headers from the HTTP response when available.
from acoriss_payment_gateway.errors import APIError
try:
session = client.create_session(...)
except APIError as e:
print(f"Status: {e.status}")
print(f"Message: {e.message}")
print(f"Data: {e.data}")
# Install dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
# Run tests with coverage
pytest --cov=acoriss_payment_gateway --cov-report=html
# Type checking
mypy acoriss_payment_gateway
# Linting
ruff check acoriss_payment_gateway
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.3 | 16 Dec 2025 | 7 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 18:21 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:5ba6657ea2a5778f8a664e62ac856677cd9fb4a1d8a285c18a373c6a32074818