50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

درگاه پرداخت زرین پال

سلام  من  به درگاه  پرداخت  وصل میشم  وپرداخت هم ان جام  میشه  ولی  وقتی کال بک میزنه  توی متود verify  وقتی  می خام  پرداخت  رو  توی  دیتابیس   سیو  کنم  به  متود  save()  گیر  میده    type error  میده  میگه    expected string or  bytes-like object  چرا اینجوریه؟

پرسیده شده در 1401/01/03 توسط

4 پاسخ

0

سلام دوست عزیز

در آموزش زیر بنده کامل توضیح دادم چطور درگاه پرداخت واقعی زرین پال را پیاده کنید و کلاس های مربوطه را خودم نوشتم

https://www.farslearn.com/ShowCourse/1

دلیل اینکه بنده این آموزش را ضبط کردم این بود که در ساخت درگاه زرین پال با مشکلات بسیار زیادی مواجه شدم

و محیط سند باکس تفاوت زیادی با محیط واقعی دارد

پاسخ در 1401/01/05 توسط
0

فیلد ی  که برای  ثبت تاریخ پرداخت  استفاده  کردم  از نوع DateTimeField  هست  و  من  موقع سیو  از () time.time   استفاده  کردم  شاید  به  خاطر  اینه

 


       

پاسخ در 1401/01/06 توسط
0

سلام به شما دوست عزیز.

لطفا کد بخش save و متن کامل خطا رو قرار بدید.

پاسخ در 1401/01/04 توسط
0
def verify(request, *args, **kwargs):
    order_id = kwargs.get('order_id')

    t_status = request.GET.get('Status')
    t_authority = request.GET['Authority']
    if request.GET.get('Status') == 'OK':
        req_header = {"accept": "application/json",
                      "content-type": "application/json'"}
        req_data = {
            "merchant_id": MERCHANT,
            "amount": total_price,
            "authority": t_authority
        }
        req = requests.post(url=ZP_API_VERIFY, data=json.dumps(req_data), headers=req_header)
        if len(req.json()['errors']) == 0:
            t_status = req.json()['data']['code']
            if t_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.save()
                return HttpResponse('Transaction success.\nRefID: ' + str(
                    req.json()['data']['ref_id']
                ))
            elif t_status == 101:
                return HttpResponse('Transaction submitted : ' + str(
                    req.json()['data']['message']
                ))
            else:
                return HttpResponse('Transaction failed.\nStatus: ' + str(
                    req.json()['data']['message']
                ))
        else:
            e_code = req.json()['errors']['code']
            e_message = req.json()['errors']['message']
            return HttpResponse(f"Error code: {e_code}, Error Message: {e_message}")
    else:
        return HttpResponse('Transaction failed or canceled by user')










متن ارور     

TypeError at /verify/1

expected string or bytes-like object


Traceback Switch to copy-and-paste view

  • C:\python37\lib\site-packages\django\core\handlers\exception.py, line 47, in inner
    1.                 response = get_response(request)
  • C:\python37\lib\site-packages\django\core\handlers\base.py, line 181, in _get_response
    1.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)
  • Z:\Tamrin\Django\toplearn\toplearn_eshop\eshop_order\views.py, line 172, in verify
    1.                 user_order.save()
  

پاسخ در 1401/01/06 توسط

پاسخ شما