【发布时间】:2016-07-12 20:21:45
【问题描述】:
我正在使用 Python 中的条带库进行信用卡收费。我将 customerID 用于收费而不是令牌,因为我想重复使用该卡而不是每次都要求它。成功过程工作得很好,但是,如果我创建错误条件,则永远不会抛出“except”。我正在使用无效的客户 ID 测试故障状态。
服务器日志显示以下错误:“InvalidRequestError: Request req_8949iJfEmeX39p: No such customer: 22”但在 try/except 中也没有处理。
class ChargeCustomerCard(webapp2.RequestHandler):
def post(self):
stripe.api_key = stripeApiKey
customerID = self.request.get("cust")
amount = self.request.get("amt")
try:
charge = stripe.Charge.create(amount=int(amount),currency="usd",customer=customerID,description=customerID)
except stripe.error.CardError, e:
output = {"result":e}
else:
output = {"result":"1"}
self.response.out.write(json.dumps(output))
【问题讨论】:
-
在特定的
stripe.error.CardError下方和try块的else之前添加另一个except Exception as e子句,看看这是否会给您带来适当的错误。如果是这样,您可能希望在 github.com/stripe/stripe-python/issues 提交问题,除非它不是特定于条带的异常/错误,或者在stripe.error命名空间下可能存在另一个特定错误,您需要except -
是的,这是正确的方法。谢谢。