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)