HTTPSConnectionPool(host='api.razorpay.com', port=443): Max retries exceeded with url: /v1/orders

Я разрабатываю веб-приложение для социальных медиа/электронной коммерции на Django. Я хочу добавить платежный шлюз для покупки товаров на сайте, для этого я использую 'Razorpay'. Я интегрировал его, и он отлично работает с моим приложением. Но я хотел хранить детали, связанные с транзакциями, в модели под названием 'TransactionDetails'. Для этого я вызываю новую функцию в представлении, которое работает со шлюзом Razorpay. которая создает экземпляр модели и сохраняет его. Но по какой-то причине, когда я вызываю эту функцию, я получаю эту ошибку, пожалуйста, помогите мне понять, что происходит.

вот мое мнение :

from django.shortcuts import render, redirect
import razorpay
from django.views.decorators.csrf import csrf_exempt
from weShare.settings import razorpay_id, razorpay_secret_key
from django.contrib.auth.mixins import UserPassesTestMixin, LoginRequiredMixin
from django.urls import reverse_lazy
from social.models import *
from social.forms import *

from .models import TransactionDetails
from social.models import UserProfile

client = razorpay.Client(auth=(razorpay_id, razorpay_secret_key))

def home(request, pk):
    rentee = UserProfile.objects.get(user=request.user)
    renteeName = rentee.user
    renteeLocation = rentee.location

    post = Post.objects.get(pk=pk)
    renter = post.author
    product = post.productName
    subPeriod = post.subscriptionPeriod
    montlycharge = post.productMonthlyCharge
    loc = rentee.location
    order_amount = post.deposite*100

    order_currency = 'INR'
    order_receipt = 'order_rcptid_11'
    notes = {'Shipping address': 'Bommanahalli, Bangalore'}   # OPTIONAL

    payment_order = client.order.create(dict(amount=order_amount, currency=order_currency, payment_capture=1))
    payment_order_id = payment_order['id']

    createTransaction(request, rentee, pk, payment_order_id) # here


    context ={
        'amount' : 100,
        'razorpay_id' : razorpay_id,
        'order_id' : payment_order_id,
        'razorpay_secret_key' : razorpay_secret_key,
        'renter' : renter,
        'product' : product,
        'subPeriod' : subPeriod,
        'montlycharge' : montlycharge,
        'order_amount' : order_amount/100,
    }
    return render(request, 'paymentgateway/index.html', context)

def createTransaction(request, rentee, pk, payment_order_id):
    post = Post.objects.get(pk=pk)
    renter = post.author
    product = post.productName
    subPeriod = post.subscriptionPeriod
    montlycharge = post.productMonthlyCharge
    loc = rentee.location
    order_amount = post.deposite*100

    #Inserting data in TrasactionDetails object
    transaction = TransactionDetails(rentee=request.user, product=product, renter=renter, subPeriod=subPeriod, monthlyCharge=montlycharge, deposite=order_amount, address=loc, order_id=payment_order_id)

    transaction.save()

Вот model.py :

from django.db import models
from social.models import *
from django.contrib.auth.models import User

# Create your models here.
class TransactionDetails(models.Model):
    rentee = models.ForeignKey(User, on_delete=models.CASCADE)
    product = models.CharField(max_length=200, default="")
    renter = models.CharField(max_length=200, default="")
    subPeriod = models.IntegerField(default=3)
    monthlyCharge = models.IntegerField(default=100)
    deposite = models.IntegerField()
    address = models.CharField(max_length=300)
    order_id = models.CharField(max_length=100, default="failed")

    def __str__(self):
        return '%s %s'%(self.product, self.renter)
Вернуться на верх