我已经将Stripe实现到Laravel项目中 . 我在服务器端有一个关于Stripe的安全性和最佳实践的问题 .
例如,我有三个可用于我的网站的订阅计划(假设免费试用,基本和专业) . 在Stripe验证用户的付款并向我发送交易令牌后,我将此令牌与用户选择的订阅一起发送到我的服务器,然后我实际向用户收费 . 此代码段显示执行此过程的表单提交代码 .
$('#ButtonForBasicSubscription').click(function(){
var token = function(res){
var $token = $('').val(res.id);
var $plan = $('').val('basic');
$('form').append($token,$plan).submit();
};
StripeCheckout.open({
key: 'pk_my_publishable_key',
address: false,
amount: 100,
currency: 'gbp',
name: 'My Product',
description: 'Basic Subscription',
panelLabel: 'Make Payment',
token: token
});
在我的服务器上,然后我测试selectedPlan输入,然后根据该值,使用stripeToken向用户收费 .
我担心的是我发送selectedPlan变量的方式 . 我想不出更好的方法来做到这一点(虽然我肯定必须这样做),我担心的是(邪恶的)用户可能会拦截Stripe令牌并将其提交给我的服务器不同的selectedPlan值(例如某人选择基本订阅,完成对Stripe的付款,但随后将"professional" selectedPlan值而不是"basic" selectedPlan的返回标记提交给我的服务器) . 这将为用户提供支付基本订阅的专业订阅 .
这甚至可能吗?或者让我从一个中立的怀疑论者过渡到过度偏执狂 .
非常感谢任何帮助或指导 .