ayyanar pms
ayyanar pms

Reputation: 169

Stripe API accounts are restricted

I'm using php stripe API to create an account using below code,

$account = \Stripe\Account::create(array(
                    "type" => "custom",
                    "country" => "GB",
                    "email" => '[email protected]',
                    'capabilities' => [
                        'card_payments' => ['requested' => true],
                        'transfers' => ['requested' => true],
                    ]
        ));

Account is created, but it shows restricted please check image ,

enter image description here

Can you suggest how to clear these warnings using php Stripe API (without using stripe dashboard), am i missing anything im new to stripe API i checked Stripe API docs but cannot solve this one.

Upvotes: 2

Views: 2560

Answers (1)

karllekko
karllekko

Reputation: 7218

The API object has a requirements field which describes exactly what information is needed. You provide it by calling the Account Update API. It's described in detail at https://stripe.com/docs/connect/identity-verification-api . e.g. you might have a requirements field like this :

requirements: {
    current_deadline: null,
    currently_due: [
      "business_profile.mcc",
      "business_profile.url",
      "business_type",
      "external_account",
      "relationship.representative",
      "tos_acceptance.date",
      "tos_acceptance.ip"
    ],
    disabled_reason: "requirements.past_due",
    errors: [],
    eventually_due: [
      "business_profile.mcc",
      "business_profile.url",
      "business_type",
      "external_account",
      "relationship.representative",
      "tos_acceptance.date",
      "tos_acceptance.ip"
    ],
    past_due: [
      "business_profile.mcc",
      "business_profile.url",
      "business_type",
      "external_account",
      "relationship.representative",
      "tos_acceptance.date",
      "tos_acceptance.ip"
    ],
    pending_verification: []
  },

So for example you would clear some of these(let's take the example of "business_profile.mcc" by calling Accounts Update like this

\Stripe\Account::update($account->id, array(
  "business_profile" => array(
      "mcc" => "5942" // https://stripe.com/docs/connect/setting-mcc#list
    )
))

https://stripe.com/docs/api/accounts/update#update_account-business_profile


Overall unless you specifically intend to white-label the account onboarding and KYC information collection yourself, it's much easier to either integrate Express accounts(where Stripe collects the information for you), or to use Connect Onboarding for Custom accounts, where you just pass in an account ID and Stripe gives you a link to a page that the account holder can visit to provide any required info.

Upvotes: 2

Related Questions