Stripe和NodeJS - 传递金额来收费

时间:2017-03-03 06:27:30

标签: javascript node.js stripe-payments

编辑:为了澄清,充电确实在进行,我唯一能做的就是动态设置充电量。

我整天都在工作,但没有找到任何解决方案。这是我的server.js:

<script type="text/javascript">
jQuery(document).on("scroll",function(){
    if(jQuery(document).scrollTop()>100){
        console.log('scrolled')
        jQuery(".responsive-logo").removeClass("largelogo").addClass("smalllogo");
        jQuery("#main-nav").removeClass("large").addClass("small");
        jQuery("#menu-menu-1").removeClass("large").addClass("small");
        jQuery(".menu-item").removeClass("large").addClass("small");
    } else{
        console.log('notscrolled')
        jQuery(".responsive-logo").removeClass("smalllogo").addClass("largelogo");
        jQuery("#main-nav").removeClass("small").addClass("large");
        jQuery("#menu-menu-1").removeClass("small").addClass("large");
        jQuery(".menu-item").removeClass("small").addClass("large");
    }
});

这是我的动态条纹按钮。

    .smalllogo{
            width: 40px;
            height: auto;
            -webkit-transition-duration: 2s;
        }

.largelogo{
            display:block;
        }

.small{
            padding-top: 0px !important;
            min-height: 0px !important;
            margin-top: 0px !important;
            max-height: 60px !important;
        }

按钮与动态金额和所有内容一起使用,现在我似乎无法弄清楚app.post('/charge', function(req, res) { var stripeToken = req.body.stripeToken; var amount = 12000; console.log(req); stripe.charges.create({ card: stripeToken, currency: 'usd', amount: amount }, function(err, charge) { if (err) { res.send(500, err); } else { res.send(204); } }); }); 的帖子如何收到金额并将其设置为变量。

这是我的$('#calcTransAmount').click(function(event) { var amount = $('#transAmount').scope().totall; //console.log(amount); var holder = document.getElementById('hello'); var script = document.createElement('script'); script.src = 'https://checkout.stripe.com/checkout.js'; script.setAttribute('class', 'stripe-button'); script.setAttribute('data-amount', amount); script.setAttribute('data-key',"KEY"); script.setAttribute('data-image', "IMG"); script.setAttribute('data-name', "NAME"); script.setAttribute('data-billing-address', "true"); script.setAttribute('data-description', "Purchase"); script.setAttribute('data-locale', "auto"); document.getElementById('btnCont').appendChild(script); }); 对象:

/charge

我无法找到一种方法来将数据量属性从按钮传送到服务器以收取动态金额。

由于

1 个答案:

答案 0 :(得分:0)

特别感谢 @koopajah 提供解决方案的灵感。

在客户端的表单中,除了javascript按钮之外,我使用隐藏的输入框传递了一个键值,这样我的服务器端就可以从我们的数据库中获取购物车总数。

<form action="/charge" method="POST"> 
    <input name="coKey" value ="{{currentUser.coKey}}">
</form>

然后在服务器端,我可以像这样拉出相应的密钥:var coKey = req.body.coKey;