python - Braintree 客户端令牌生成方法在 Django 中引发 XML 错误
问题描述
我正在使用以下代码从 Django 支付视图中的 Braintree 网关生成客户端令牌。
def generate_token(request,id,token):
if not validate_user_session(id,token):
return JsonResponse({"error":"Invalid session"})
gateway = braintree.BraintreeGateway(
braintree.Configuration(
braintree.Environment.Sandbox,
merchant_id="xxxxxxxxxx",
public_key="xxxxxxxxxxxx",
private_key="xxxxxxxxxxxxxxxxxxxxxx"
)
print(gateway.client_token.generate())
return JsonResponse({"clientToken":gateway.client_token.generate(), "success":True})
这会引发错误
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 0
但是,该代码在 Django 和 Python Shell 中运行良好,并成功生成了令牌。我似乎不明白这是什么问题?在这两种情况下,ID 和令牌都是相同的。任何帮助表示赞赏。
解决方案
替换 client_token = gateway.client_token.generate()
通过 client_token = gateway.client_token.generate(params={'merchant_account_id': settings.BRAINTREE_MERCHANT_ID})
推荐阅读
- java - 如何在java中将图像转换为字符串,反之亦然
- kubernetes - 具有 3 个微型实例(免费层)的 Google Cloud Kubernetes - 根本不可用?
- python - 如何使用外键链接多个模型并制作相应的视图以获取在 Django 中的模板处呈现的数据?
- php - 将字符串转换为 Eloquent 函数
- excel - 在vba字典A1:D8中存储行并检查A列中的单元格值是否与K列中的唯一键匹配,如果匹配则粘贴
- java - 删除 SOAP 请求命名空间前缀
- ionic-framework - 离子简单地图,没有谷歌
- user-interface - 自定义网格布局行大小
- typescript - 什么 AsyncGenerator TypeScript 类型会产生 Promise?
- c++ - 为什么使用 MSVC 编译器编译 zlib 可以正常工作,但使用 Cygwin 时会出现语法错误?