Source code for python_flutterwave.charge.validation

import os
import requests
import json
from python_flutterwave.decorators import handle_api_exceptions

token = os.environ.get("FW_SECRET_KEY")


[docs] @handle_api_exceptions def validate_charge(otp: str, flw_ref: str) -> dict: """ Validate a charge Args: flw_ref (str): Reference returned in the initiate charge call as `data.flw_ref` otp (str): Random number of at least 6 characters sent to customers phone number. Returns: dict: Response Details """ params = {"type": "mpesa"} payload = json.dumps( { "flw_ref": f"{flw_ref}", "otp": f"{otp}", } ) headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"} base_url = "https://api.flutterwave.com/v3/validate-charge" response = requests.post(url=base_url, headers=headers, data=payload, params=params) return dict(response.json())