Объект типа function не является JSON сериализуемым в Django

Я пытался передать эти данные в формате json, но продолжаю получать эту ошибку. Я получаю все данные и передаю их в платежную систему для обработки. Но каждый раз, когда я передаю данные, я получаю сообщение об ошибке

    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type function is not JSON serializable
def paytes(request): 
    amount = 10
    desc = "USSD"
    category = 'Robert'
    phone = "233244491909"
    vote = "10"
    slug = "test"
    award = "test"
    url = 'https://api.pays.co/charge'
    transaction_id = random.randint(100000000000, 999999999999)
    data = json.dumps({
        "reference": transaction_id,
        "amount": amount,
        "phone": phone,
        "email":"customer@gmail.com",
        "mobile_money": {
        "phone" : "0244496709",
        "provider" : "MTN"
         },
        "label" : desc,
        "metadata":{
            "custom_fields": [
                {
                    "value": desc,
                    "nominee_name": slug,
                    "transaction_id": transaction_id,
                    "amount": amount,
                    "award": award,
                    "category": category,
                    "email": email,
                    "phone": phone,
                    "vote": vote,
                }
            ]
        } 
})
    headers = {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer texk_002929992',
        'Cache-Control': 'no-cache'
    }
    response = requests.post(url, data=data, headers=headers)
    return HttpResponse(response)

Попробовал сделать дамп ваших данных и он выдал мне ошибку "имя email не определено". Замена его на какую-то строку решает проблему. Так что, скорее всего, это автоимпорт или что-то еще.

Email не определен

amount = 10
desc = "USSD"
category = 'Robert'
phone = "233244491909"
vote = "10"
slug = "test"
award = "test"
url = 'https://api.pays.co/charge'

"email": email,

Вернуться на верх