带有stripeToken的Emberjs Stripe集成帖子

时间:2014-12-24 19:00:13

标签: ember.js stripe-payments

我正在尝试将条带集成到我的Ember应用程序中,并且在初始卡片收集帖子完成时我遇到了障碍。 Stripe尝试发布

周围的表单
<form {{action "charge" on="submit"}} method="POST">
  <input type="hidden" name="plan" {{bind-attr value="plan.id"}} />
  {{strip-button amount=plan.amount name=plan.name emailAddress=emailAddress}}
</form>

问题在于我不想不想做服务器POST。我想劫持POST形式,并自己创建stripeToken和其他数据元素的自定义帖子来实际创建费用。

下面的StripeButton组件:

var StripeButton = Ember.Component.extend({
    scriptSource: '<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"',
    scriptClose: '></script>',
    dataElement: function(element, value) {
        return 'data-' + element + '="' + value + '"';
    },
    didInsertElement: function() {
        this.$().append(
            this.get('scriptSource') +
            this.dataElement('key', 'pk_test_wat') +
            this.dataElement('amount', this.get('amount')) +
            this.dataElement('email', this.get('emailAddress')) +
            this.dataElement('label', this.get('name') + ' Plan') +
            this.dataElement('name', 'Company Name') +
            this.dataElement('description', this.get('name')) +
            this.get('scriptClose')
      );
    }
});

export default StripeButton;

如何通过自己的操作告诉Ember控制表单提交以执行我需要的自定义ajax?

1 个答案:

答案 0 :(得分:1)

您可能需要在此处查看checkout.js自定义集成:https://stripe.com/docs/checkout#integration-custom

这将使您在创建解决方案时具有更大的灵活性,而不是试图破解简单的集成。