TypeError: quote_from_bytes() expected bytes,Django付款跳转去支付宝链接页面时提示quote_from_bytes() expected bytes的 解决方案
Django付款跳转去支付宝链接页面时提示quote_from_bytes() expected bytes错误,如下:

当时代码如下:
SDK对象对接支付宝支付的接口,得到登录页的地址
from luffyapi.libs import alipay_zf
from django.conf import settings
order_string = alipay_zf.alipay.api_alipay_trade_page_pay( out_trade_no=out_trade_no, total_amount=float(total_amount), subject=subject, return_url=settings.RETURN_URL, notify_url=settings.NOTIFY_URL ) # 这里的return_url和notify_url一定要是字符串, # 否则就会报错quote_from_bytes() expected bytes
错误原因
如下所示:
这里纯粹就是自己当时没注意手欠,在这两个回调地址后面加了逗号,导致python的语法中认为是一个元组
# 错误原因:下面地址 RETURN_URL="https://www.luffycity.com/free-course" , NOTIFY_URL="https://www.luffycity.com/free-course" , # 在python语法中python解释器认为上面的代码是元组,跟下面代码相同 # 而这里的值只要不是字符串, # 支付宝就会抛出:quote_from_bytes() expected bytes的报错 RETURN_URL=("https://www.luffycity.com/free-course" , ) NOTIFY_URL=("https://www.luffycity.com/free-course" , )

解决方案:
只需要将这里的逗号去除即可,如下:

这样,重新访问接口,就不会出现 quote_from_bytes() expected bytes 的异常现象了

浙公网安备 33010602011771号