关于 ember.js:Emberjs Stripe 与 stripeToken 的集成帖子

Emberjs Stripe integration post with stripeToken

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

的表单

1
2
3
4
<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 组件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var StripeButton = Ember.Component.extend({
    scriptSource: '<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"',
    scriptClose: '>',
    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?


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

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