我能够为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
令牌。
答案 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/