from uqpay.crypto import generate_auth_decision_key_pair
# Generate a key pair once and store securely
keys = generate_auth_decision_key_pair(name="MyApp", email="ops@example.com")
# Configure at startup
client.issuing.auth_decision.configure(
private_key=keys["private_key"],
uqpay_public_key="<UQPAY public key from dashboard>",
)
# Define your decision function
def decide(transaction: dict) -> dict:
if transaction.get("amount", 0) > 10000:
return {"response_code": "05"} # Decline
return {"response_code": "00", "partner_reference_id": "ref-001"}
# In your HTTP handler:
encrypted_response = client.issuing.auth_decision.handle(
body=request.get_data(),
headers=dict(request.headers),
decide=decide,
)