有效地跳过Stripe API调用和/或记录测试ID

时间:2019-07-04 22:31:16

标签: go logging stripe-payments

我希望能够将测试条帐户与生产帐户一起存在于同一数据库中,但是根据我是否使用测试API密钥来区别对待它们。

当前,使用生产API密钥查询测试Stripe ID时,Stripe Go库记录错误。尝试获取此类条带客户时,Stripe库本身会记录以下内容:

Error encountered from Stripe: {"code":"resource_missing","status":404,"message":
"No such customer: cus_foo; a similar object exists in test mode, but a live mode
key was used to make this request.","param":"id","request_id":"req_foo","type":
"invalid_request_error"}

我想通过做一个单独的API调用来询问“这是测试用户吗?”,以避免发生这种情况。或仅抑制上述错误输出,以便在测试用户的情况下可以忽略并且不打印自己的错误。

我很明显

params := &stripe.CustomerParams{}
stripeCustomer, err := customer.Get(stripeID, params)
if err != nil {
    return nil, err
}

从一个函数开始,但是对Get()的调用已经记录了一个错误,然后我才有机会对此作出反应。

我可以将test_account属性附加到用户,但是我只想进行一些不必要的API调用,并以某种方式静默忽略它们。

0 个答案:

没有答案