(Stripe API)能够获取bank_account令牌,而不是卡令牌

时间:2019-01-27 07:30:07

标签: javascript stripe-payments

我能够为bank_account创建客户端令牌,但是无法以相同的方式为card(条带化关联帐户)创建客户端令牌;该文档表明这些过程几乎相同。

使用bank_account

使用以下客户端(JS),我可以创建令牌;令牌已返回。

result = stripe.createToken('bank_account', {
        account_holder_name: 'Test Account Holder',     
        account_holder_type: 'individual',
        account_number:'000123456789', // Stripe test account number
        routing_number: '110000000', // Stripe test routing number
        currency: 'usd',
        country:'US'
}).then(function(result) {
    console.log("OK");
    console.log(result);
}).catch(function(error) {
    console.log("ERROR:");
    console.log(error);
});

不适用于card

但是,当我将bank_account参数替换为card参数和以下必需参数时,会出现以下错误:

result = stripe.createToken('card', {
        number: '5200828282828210', // Stripe testing card
        exp_month: '12',
        exp_year:'2020',
        cvc: '1234',
        currency: 'usd',
        name:'Test Account Holder Name',
        default_for_currency: true      
}).then(function(result) {
    console.log("OK");
    console.log(result);
}).catch(function(error) {
    console.log("ERROR:");
    console.log(error);
});

Error: Invalid value for token type: value should be one of the following strings: account, bank_account, pii, apple_pay. You specified: card.

我的困惑:

该错误表明我使用了其他一些参数,而card不是这些参数之一。

我知道pii基本上是针对SSN(美国)的,我刚刚成功使用过bank_account,而card的版本(根据他们的文档)似乎是相同的。我尝试account只是为了破解它(无济于事),显然apple_pay不适用。

为什么我会收到此错误?我该如何解决并收到一个card令牌。

2 个答案:

答案 0 :(得分:0)

card应该是您提供的卡片对象的密钥-您在逗号处应该有一个冒号。

result = stripe.createToken('card': {
    number: '5200828282828210', // Stripe testing card
    exp_month: '12',
    exp_year:'2020',
    cvc: '1234',
    currency: 'usd',
    name:'Test Account Holder Name',
    default_for_currency: true      
}).then(function(result) {
  console.log("OK");
  console.log(result);
}).catch(function(error) {
  console.log("ERROR:");
  console.log(error);
});

答案 1 :(得分:0)

问题是您无法将原始卡详细信息传递给客户端方法。默认情况下,此功能被阻止,因为它会影响您的PCI合规性状态。在此处记录:https://stripe.com/docs/security#validating-pci-compliance

相反,您需要使用Elements。该库提供UI组件,可用于在客户端安全地收集卡详细信息。您可以在此处查看一些示例:https://stripe.github.io/elements-examples/