سلام استاد
استاد من وقتی دکمه پرداختو میزنم این ارورو میده در حالیکه چون پروژه آنلاین نیست و هنوز مرچنت ایدی و ... رو ندادم مثل ویدیو آموزش کد ارور -1 رو بده
چیکار کنم!؟
سلام دوست من
لطفا کدهای اصلی view که نوشتین رو وارد کنین
با تشکر
بله بفرمایید
view
@login_required(login_url='/login')
def add_user_order(request):
new_order_form = UserNewOrderForm(request.POST or None)
if new_order_form.is_valid():
order = Order.objects.filter(owner__id=request.user.id, is_paid=False).first()
if order is None:
order = Order.objects.create(owner_id=request.user.id, is_paid=False)
product_id = new_order_form.cleaned_data.get('product_id')
count = new_order_form.cleaned_data.get('count')
if count < 0:
count = 1
product = Product.objects.get_by_id(product_id=product_id)
order.orderdetail_set.create(product_id=product.id, count=count, price=product.price)
return redirect('/open-order')
@login_required(login_url='/login')
def user_open_order(request):
open_order: Order = Order.objects.filter(owner_id=request.user.id, is_paid=False).first()
context = {
'order': None,
'details': None,
'total': 0,
'total_with_post': 0,
}
if open_order is not None:
context['order'] = open_order
context['details'] = open_order.orderdetail_set.all()
context['id'] = id
context['total'] = list(open_order.get_total_price())[0]
context['total_with_post'] = list(open_order.get_total_price())[1]
return render(request, 'order/user_open_order.html', context)
@login_required(login_url='/login')
def remove_order_detail(request, *args, **kwargs):
detail_id = kwargs['detail_id']
if detail_id is not None:
order_detail = OrderDetail.objects.get_queryset().get(id=detail_id, order__owner_id=request.user.id)
if order_detail is not None:
order_detail.delete()
return redirect('/open-order')
MERCHANT = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
amount = 1000 # Toman / Required
description = "توضیحات مربوط به تراکنش را در این قسمت وارد کنید" # Required
email = 'x' # Optional
mobile = 'x' # Optional
client = Client('https://www.zarinpal.com/pg/services/WebGate/wsdl')
CallbackURL = 'http://localhost:8000/verify' # Important: need to edit for realy server.
def send_request(request, *args, **kwargs):
total_price = 0
open_order: Order = Order.objects.filter(owner_id=request.user.id, is_paid=False).first()
if open_order is not None:
total_price = open_order.get_total_price()
result = client.service.PaymentRequest(
MERCHANT, total_price, description, email, mobile, f"{CallbackURL}/{open_order.id}"
)
if result.Status == 100:
return redirect('https://www.zarinpal.com/pg/StartPay/' + str(result.Authority))
else:
return HttpResponse('Error code: ' + str(result.Status))
def verify(request, *args, **kwargs):
order_id = kwargs.get('order_id')
if request.GET.get('Status') == 'OK':
result = client.service.PaymentVerification(MERCHANT, request.GET['Authority'], amount)
if result.Status == 100:
user_order = Order.objects.get_queryset().get(id=order_id)
user_order.is_paid = True
user_order.payment_date = time.time()
user_order.ref_id = result.RefID
user_order.save()
return HttpResponse('Transaction success.\nRefID: ' + str(result.RefID))
elif result.Status == 101:
return HttpResponse('Transaction submitted : ' + str(result.Status))
else:
return HttpResponse('Transaction failed.\nStatus: ' + str(result.Status))
else:
return HttpResponse('Transaction failed or canceled by user')
urls
urlpatterns = [
path('add-user-order', add_user_order),
path('open-order', user_open_order, name="open-order"),
path('remove-order-detail/<detail_id>', remove_order_detail),
path('request', send_request, name='request'),
path('verify/<order_id>', verify, name='verify'),
]
لینک زیر رو کامل مطالعه کنین:
پکیج soap احتمالا به درستی نصب نشده در سیستم شما
استاد لینک بالارو کامل مطالعه کردم
کد های شمارو با بره خودم مقایسه کردم
پکیج zeep دوباره نصب کردم
باز همین ارورو میده
ولی پروژه ای که شما نوشتیدو اجرا میکنم error code :-10 میده
میشه مشکل از پکیج باشه؟
چون من چند بار کد هارو چک کردم
اگر مشکل soap error ادامه پیدا کنه به احتمال زیاد مشکل از package هستش
البته باید در نظر بگیرین که این package با چه نسخه ای از پایتون کار میکنه. ممکنه پروژه ی شما با پایتون 3.9 استارت خورده باشه اما این package اون رو پشتیبانی نکنه
استاد توی pypi نگا کردم پایتون 3.8 ساپورت میکنه پروژه منم با 3.8 ران میشه
استاد این مشکل حل بشو نیست😂😂
لطفا اگه پکیج جایگزینی هست بگید یا تو دوره جدید جنگو بررسی کنید
ممنون
سورس اموزش بنده رو اجرا کنین ( کپی نکنید توی پروژه ی خودتون و همون رو اجرا کنین )
بنده سورس اموزش رو چک کردم و مشکلی نداره و باز هم همون ارور -10 رو برمیگردونه
تمامی قسمت ها رو با اموزش بنده مقایسه کنین تا مشکلش برطرف بشه
در جریان اموزش جدید هم این مورد رو بررسی خواهیم کرد
موفق باشین :)
چشم استاد
خیلی ممنون