最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Stripe account capabilities set but still throws an error - Stack Overflow

programmeradmin3浏览0评论

I did create Stripe Account using the following parameters:

stripe.accounts.create({
  type: 'custom',
  business_type: 'individual',
  individual: {
      email: user.email,
      first_name: user.firstName,
      last_name: user.lastName
  },
  requested_capabilities: ['card_payments', 'transfers'],
  email: user.email,
  tos_acceptance: {
    date: Math.floor(Date.now() / 1000),
    ip: user.ip
  }
})

But if I am trying to create transfer, I get the following error:

Your destination account needs to have at least one of the following capabilities enabled: transfers, legacy_payments

This is how I create the transfer:

stripe.transfers.create({amount, currency, destination, transfer_group})

It seems weird because the required capabilities are set as you can see. I do not know how to debug further. Any help is appreciated!

I did create Stripe Account using the following parameters:

stripe.accounts.create({
  type: 'custom',
  business_type: 'individual',
  individual: {
      email: user.email,
      first_name: user.firstName,
      last_name: user.lastName
  },
  requested_capabilities: ['card_payments', 'transfers'],
  email: user.email,
  tos_acceptance: {
    date: Math.floor(Date.now() / 1000),
    ip: user.ip
  }
})

But if I am trying to create transfer, I get the following error:

Your destination account needs to have at least one of the following capabilities enabled: transfers, legacy_payments

This is how I create the transfer:

stripe.transfers.create({amount, currency, destination, transfer_group})

It seems weird because the required capabilities are set as you can see. I do not know how to debug further. Any help is appreciated!

Share Improve this question edited Mar 20, 2024 at 11:39 Tarvo Mäesepp asked Feb 21, 2020 at 10:38 Tarvo MäeseppTarvo Mäesepp 4,5334 gold badges51 silver badges100 bronze badges 1
  • Is the 'transfers' capability active? You've requested it, but there might still be verification requirements required before it is enabled for the account and you can make transfers. The requirements hash on the object should say what is needed : stripe./docs/connect/… – karllekko Commented Feb 21, 2020 at 13:30
Add a ment  | 

2 Answers 2

Reset to default 7

The reason the transfer is failing is that onboarding is not plete - there are requirements for the "transfer" capability to be enabled. When creating the account you have only "requested" the correct capabilities but they are not yet granted.

Simply fetch the account based on the id and see what fields are are required and provide them - either on your end by updating the account through the API or in the Stripe web admin if you only want to quickly provide everything so you can test. (The stripe web admin has all the fields required for full onboarding of an account)

Once the transfers capability requirements are fulfilled, it will be granted and it will turn green. After that transfers will be allowed. (Similar thing goes for the "card payments" capability. Regarding the "legacy" capability you should not use that anymore since it will bee deprecated in March 31 2020)

(you might even need to supply an external bank account, you can get that here)

I had the same problem and i added this code if you are using python:

stripe.Account.modify(
               "acct_1JKoh0PpggScpyQX", //this is the account id
                tos_acceptance={
                    'date': int(time.time()), //import time
                    'ip': '8.8.8.8', // Depends on what web framework you're using
                }
            )

else other language check this link https://stripe./docs/connect/updating-accounts#tos-acceptance

this code indicate to Stripe that a connected account accepted the Stripe Connected Account Agreement.

发布评论

评论列表(0)

  1. 暂无评论