我正在我的前端使用Vue,并且我成功调用了checkout模式,并且在发送该模态的表单时成功创建了令牌。但是,我无法在后端实际创建电荷。
这一切都从我的Vue组件中的这个方法开始,它在表单发送后处理令牌:
done ({token, args}) {
// token - is the token object
// args - is an object containing the billing and shipping address if enabled
// do stuff...
this.$refs.addBookModal.show();
$backend.createStripeCharge(token.email, token)
},
backend.js中的createStripeCharge函数如下:
createStripeCharge(email,token){console.log('create stripe charge called')
return $axios.post(`/resource/${email}`)
.then(response => response.data)
.catch(error => {
this.error = error.message
})
},
这是Flask的路线:
@api_rest.route('/resource/<string:resource_id>')
class ResourceOne(Resource):
""" Unsecure Resource Class: Inherit from Resource """
def post(token, user_email):
charge = stripe.Charge.create(
customer = token.id,
amount = 2500,
currency='usd',
description='25',
recipent_email=user_email
)
但是我收到500内部服务器错误。我究竟做错了什么?
我发现在ResourceOne
的post方法中有一个问题是它有两个参数,你只在backend.js
的createStripeCharge
函数中传递一个。
(此外,如果您在此处发布错误日志,则对其他SO用户始终有帮助。)