{"library":"mastercard-oauth1-signer","title":"Mastercard OAuth1 Signer","description":"The Mastercard OAuth1 Signer is a Python library that simplifies the process of generating OAuth 1.0a signatures required for authenticating requests to Mastercard APIs. It handles the complexities of OAuth 1.0a, including nonce generation, timestamping, and RSA-SHA256 signature creation. The current version is 1.9.2, with a release cadence focused on security updates, dependency bumps, and bug fixes.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install mastercard-oauth1-signer"],"cli":null},"imports":["from mastercard.oauth1.signer import Auth"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import requests\nimport os\nfrom mastercard.oauth1.signer import Auth\n\n# --- Environment variables or placeholder values ---\n# Replace with your actual credentials or set as environment variables\nCONSUMER_KEY = os.environ.get('MASTERCARD_CONSUMER_KEY', 'YOUR_CONSUMER_KEY')\nPRIVATE_KEY_PATH = os.environ.get('MASTERCARD_PRIVATE_KEY_PATH', 'path/to/your/key.p12')\nKEY_ALIAS = os.environ.get('MASTERCARD_KEY_ALIAS', 'keyalias') # Alias used when creating the .p12 file\nKEY_PASSWORD = os.environ.get('MASTERCARD_KEY_PASSWORD', 'keypassword')\nBASE_URL = os.environ.get('MASTERCARD_BASE_URL', 'https://sandbox.api.mastercard.com') # Or 'https://api.mastercard.com'\n\n# --- Load private key and create Auth object ---\ntry:\n    # The Auth constructor handles loading the private key from the .p12 file\n    oauth_auth = Auth(\n        consumer_key=CONSUMER_KEY,\n        private_key_path=PRIVATE_KEY_PATH,\n        private_key_password=KEY_PASSWORD,\n        private_key_alias=KEY_ALIAS\n    )\nexcept Exception as e:\n    print(f\"Error initializing Auth: {e}\")\n    print(\"Please ensure your private key path, password, and alias are correct.\")\n    exit(1)\n\n# --- Example API call (replace with your actual endpoint) ---\n# This example assumes an endpoint that returns some data, like a health check or a simple resource.\n# The actual endpoint will vary based on the Mastercard API you are using.\napi_endpoint = f\"{BASE_URL}/some/api/resource\"\n\nheaders = {'Accept': 'application/json'}\n\ntry:\n    response = requests.get(api_endpoint, auth=oauth_auth, headers=headers)\n    response.raise_for_status() # Raise an HTTPError for bad responses (4xx or 5xx)\n\n    print(f\"Successfully called {api_endpoint}\")\n    print(f\"Status Code: {response.status_code}\")\n    print(\"Response Body:\")\n    print(response.json()) # Assuming JSON response\nexcept requests.exceptions.RequestException as e:\n    print(f\"API call failed: {e}\")\n    if hasattr(e, 'response') and e.response is not None:\n        print(f\"Response Status: {e.response.status_code}\")\n        print(f\"Response Body: {e.response.text}\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\n","lang":"python","description":"This quickstart demonstrates how to initialize the `Auth` object with your Mastercard API credentials and use it with the `requests` library to make an authenticated call to a Mastercard API endpoint. Ensure you replace placeholder values with your actual `consumer_key`, `private_key_path`, `key_alias`, and `key_password`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.9.2","pypi_latest":"1.9.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.5,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"38.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.7,"import_time_s":null,"mem_mb":null,"disk_size":"39M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"41.0M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":"41M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"32.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":"33M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"32.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":"33M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"38.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mastercard-oauth1-signer","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.5,"import_time_s":null,"mem_mb":null,"disk_size":"39M"}]}}