Получение ожидаемого вывода curl в postman... но не то же самое при использовании django view.py

Я делаю интеграцию платежей на моем сайте и следующий curl взят из phonepe api docs. При использовании curl он работает, но не работает с методом request.post в django

Вот завиток:

curl --location --request POST 'https://mercury-uat.phonepe.com/v4/debit/' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-CALLBACK-URL: https://www.demoMerchant.com/callback' \
--data-raw '{  
   "merchantId":"M2306160483220675579140",
   "transactionId":"TX123456789",
   "merchantUserId":"U123456789",
   "amount":100,
   "merchantOrderId":"OD1234",
   "mobileNumber":"9xxxxxxxxx",
   "message":"payment for order placed OD1234",
   "subMerchant":"DemoMerchant",
   "email":"amit***75@gmail.com",
   "shortName":"Amit"
}'

And CurlOutput:

{
    "success": false,
    "code": "BAD_REQUEST",
    "message": "Please check the inputs you have provided.",
    "data": {}
}

Но я делаю то же самое в django view.py и получаю пустой словарь на выходе

Вот код:

class test(generics.GenericAPIView):
    def post(self, request):

        url = "https://mercury-uat.phonepe.com/v4/debit/"

        headers = {
            "Accept": "application/json",
            "Content-Type": "application/json",
            "X-CALLBACK-URL": "https://www.demoMerchant.com/callback"
        }

        data = {
   "merchantId":"M2306160483220675579140",
   "transactionId":"TX123456789",
   "merchantUserId":"U123456789",
   "amount":100,
   "merchantOrderId":"OD1234",
   "mobileNumber":"9xxxxxxxxx",
   "message":"payment for order placed OD1234",
   "subMerchant":"DemoMerchant",
   "email":"amit***75@gmail.com",
   "shortName":"Amit"
}

        response = requests.post(url, data=data, headers=headers).json()

        print(response)

        return Response(response)

вывод:

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