Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 条带连接入职限制国家/地区?(锁定到澳大利亚)_Ruby On Rails_Stripe Payments_Payment Gateway - Fatal编程技术网

Ruby on rails 条带连接入职限制国家/地区?(锁定到澳大利亚)

Ruby on rails 条带连接入职限制国家/地区?(锁定到澳大利亚),ruby-on-rails,stripe-payments,payment-gateway,Ruby On Rails,Stripe Payments,Payment Gateway,我使用以下命令创建一个新的Stripe connect帐户: account=Stripe::account.create({ 键入:“express”, 请求的_功能:[“卡支付”、“转账”] }) 当用户单击“连接到条带”时,他们开始输入详细信息。他们可以输入一个美国电话号码,但不能输入美国地址——这个国家被锁定在澳大利亚,点击“澳大利亚”试图改变它根本不起任何作用: 此外,“州”字段仅显示澳大利亚州: 为什么stripe会设置此限制?我确信我在设置stripe时已正确配置了它,我怀疑

我使用以下命令创建一个新的Stripe connect帐户:

account=Stripe::account.create({
键入:“express”,
请求的_功能:[“卡支付”、“转账”]
})
当用户单击“连接到条带”时,他们开始输入详细信息。他们可以输入一个美国电话号码,但不能输入美国地址——这个国家被锁定在澳大利亚,点击“澳大利亚”试图改变它根本不起任何作用:

此外,“州”字段仅显示澳大利亚州:

为什么stripe会设置此限制?我确信我在设置stripe时已正确配置了它,我怀疑这是我的代码有问题(我在
stripe::Account.create()期间正在执行或未能执行的操作)

我试过的 尝试1 我尝试了
请求的功能:[“卡付款”]
,但是:

Accounts do not currently support `card_payments` without `transfers`. 
Please visit 
https://stripe.com/docs/connect/account-capabilities#card-payments 
for more details.
尝试2 我尝试了
请求的功能:['transfers']
,没有出现错误,但我仍然只能输入一个澳大利亚地址

尝试3 我检查了平台仪表板中的设置,无法发现设置中的任何异常,并确认connect已配置为接受来自澳大利亚和其他35个国家/地区的已连接用户


我认为Stripe API的v1应该允许您指定国家/地区。从我在文档中看到的情况来看,我认为您应该指定您想要的内容

POST/v1/accounts的StripeAPI文档如下所示

require 'stripe'
Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc'

Stripe::Account.create({
  type: 'custom',
  country: 'US',
  email: 'jenny.rosen@example.com',
  capabilities: {
    card_payments: {requested: true},
    transfers: {requested: true},
  },
})
您可能需要进一步配置。如果指定国家/地区未解决问题,请告诉我。从中读出。根据API中的内容,
country
是可选的。因为您没有指定,所以它默认为您的位置


目前,条形快车支持澳大利亚、奥地利、比利时、保加利亚、加拿大、塞浦路斯、捷克共和国、丹麦、爱沙尼亚、芬兰、法国、德国、希腊、香港、匈牙利、匈牙利、匈牙利、y、y、y、y、y、γ、γ、、、、、、、、、、、、、、斯洛文尼亚、西班牙、瑞典、瑞士、英国或美国。因此,您可以决定要指定哪个国家,并将ISO 3166-1 alpha-2国家代码放入其中。

我认为Stripe API的v1应该允许您指定国家。从我在文档中看到的情况来看,我认为您应该指定您想要的内容

POST/v1/accounts的StripeAPI文档如下所示

require 'stripe'
Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc'

Stripe::Account.create({
  type: 'custom',
  country: 'US',
  email: 'jenny.rosen@example.com',
  capabilities: {
    card_payments: {requested: true},
    transfers: {requested: true},
  },
})
您可能需要进一步配置。如果指定国家/地区未解决问题,请告诉我。从中读出。根据API中的内容,
country
是可选的。因为您没有指定,所以它默认为您的位置


目前,条形快车支持澳大利亚、奥地利、比利时、保加利亚、加拿大、塞浦路斯、捷克共和国、丹麦、爱沙尼亚、芬兰、法国、德国、希腊、香港、匈牙利、匈牙利、匈牙利、y、y、y、y、y、γ、γ、、、、、、、、、、、、、、斯洛文尼亚、西班牙、瑞典、瑞士、英国或美国。因此,您可以决定要指定哪个国家并放置ISO 3166-1 alpha-2国家代码。

我从Stripe支持部门得到了回复,但他们的回答与@Afolabi的回答相矛盾,也与代码在rails控制台中运行时发生的情况相矛盾。因此,我已经回复了额外的信息,并将在收到回复后更新

我说:

如果您有一个标准和快速帐户,则用户将指出其条带帐户的国家/地区。对于自定义帐户,平台需要指出国家/地区,因为自定义帐户没有与标准和快速条带帐户不同的仪表板

但是,我在不提供国家/地区的情况下生成
express
帐户的所有尝试都会导致国家/地区默认为
'US'
,用户无法更改它(因此,在此阶段我所能做的最好的事是确保平台(即我的应用程序)提供国家/地区参数)

最小可重复示例 以下是问题的完整MRE:

require 'stripe'
Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc'

new_account = Stripe::Account.create({
  type: 'express',
  email: 'jenny.rosen@example.com',
  capabilities: {
    card_payments: {requested: true},
    transfers: {requested: true},
  },
})

account_links = Stripe::AccountLink.create({
  account: new_account.id,
  refresh_url: 'http://localhost:3000/reauth',
  return_url: 'http://localhost:3000/return',
  type: 'account_onboarding',
})

# Visit url provided and see that country is locked to 'US', 
# and it cannot be input by the user being onboarded like stripe 
# support suggests should happen


我从Stripe支持部门得到了回复,但他们的回答与@Afolabi的回答相矛盾,也与代码在rails控制台中运行时发生的情况相矛盾。因此,我已经回复了额外的信息,并将在收到回复后更新

我说:

如果您有一个标准和快速帐户,则用户将指出其条带帐户的国家/地区。对于自定义帐户,平台需要指出国家/地区,因为自定义帐户没有与标准和快速条带帐户不同的仪表板

但是,我在不提供国家/地区的情况下生成
express
帐户的所有尝试都会导致国家/地区默认为
'US'
,用户无法更改它(因此,在此阶段我所能做的最好的事是确保平台(即我的应用程序)提供国家/地区参数)

最小可重复示例 以下是问题的完整MRE:

require 'stripe'
Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc'

new_account = Stripe::Account.create({
  type: 'express',
  email: 'jenny.rosen@example.com',
  capabilities: {
    card_payments: {requested: true},
    transfers: {requested: true},
  },
})

account_links = Stripe::AccountLink.create({
  account: new_account.id,
  refresh_url: 'http://localhost:3000/reauth',
  return_url: 'http://localhost:3000/return',
  type: 'account_onboarding',
})

# Visit url provided and see that country is locked to 'US', 
# and it cannot be input by the user being onboarded like stripe 
# support suggests should happen


这是正确的。我假设由于stripe处理99%的用户信息,它也会处理
国家/地区
,但事实证明,平台(即我的应用程序)必须负责向用户询问他们的国家/地区,而stripe则负责其余部分。这可能有一个很好的理由,尽管我想不出一个。我用Stripe提出了这个问题,如果我听到了原因,我会向你汇报。事实证明Stripe认为express帐户应该允许用户更改其
国家/地区,但这与实际情况不符(它被锁定为默认值)。所以我已经回复了他们的支持票,当我听到回复时会更新:)谢谢@Stevec这是正确的。我假设,由于stripe处理99%的用户信息,它也会处理
国家
,但它会