Stripe идентификатор банковского счета - PullRequest
0 голосов
/ 11 ноября 2018

Итак, я провел последние два дня, оглядываясь на stackoverflow, а также на чередующийся API, и я не могу понять, как получить банковский идентификатор, когда добавляю новый банковский счет для работника. Аккаунт добавляется в полосу, но, похоже, он никогда не возвращает мне идентификатор банковского идентификатора ba _ ****.

Вот мой код для добавления банковского счета:

Первый метод, который я попробовал:

 $bank_account_token = mysqli_real_escape_string($link, $_POST['token']);

 $account = \Stripe\Account::retrieve($worker_token);
$account->external_accounts->create(["external_account" => 
$bank_account_token]);
$bank_id = $account->external_account->id;

Это второй метод, который я попробовал:

$account = \Stripe\Account::retrieve($worker_token);
  $account->external_accounts->create(array(
    "external_account" => array(
    "object" => "bank_account",
    "account_number" => $account_number,
    "routing_number" => $routing_number,
    "country" => "US",
    "currency" => "USD",)
  ));
$bank_id = $account->external_account->id;

Я также попробовал эти различные другие методы, чтобы попытаться захватить идентификатор банка после того, как он был введен в полосу, и ни один из них не возвращает идентификатор.

$bank_id = $account->bank_account->id;
$bank_id = $account->bank_account->external_account->id;
$bank_id = $account->external_accounts->bank_account->id;

Это ответ, который нашивка говорит, что я должен получить, когда добавляю новый банковский счет:

com.stripe.model.BankAccount JSON: {
"id": "ba_1DVFGuC7941OKJKEoBwDlmHc",
"object": "bank_account",
"account_holder_name": null,
"account_holder_type": null,
"bank_name": "STRIPE TEST BANK",
"country": "US",
"currency": "usd",
"fingerprint": "bGA06pJMr6Vwreh6",
"last4": "6789",
"metadata": {
},
"routing_number": "110000000",
"status": "new",
"account": "acct_1BS4bBC7941OKJKE"
}

1 Ответ

0 голосов
/ 11 ноября 2018

Ладно, так что после дальнейших раскопок и поиска полос (ожидание ответов на их электронные письма) я выяснил, что их документация устарела в некоторых разделах.Правильный ответ:

 "external_accounts": {
"object": "list",
"data": [
  {
    "id": "ba_1DVFGuC7941OKJKEoBwDlmHc",
    "object": "bank_account",
    "account": "acct_2BS4cCb7841ONDLK",
    "account_holder_name": null,
    "account_holder_type": null,
    "bank_name": "STRIPE TEST BANK",
    "country": "US",
    "currency": "usd",
    "default_for_currency": true,
    "fingerprint": "bGA06pJMr6Vwreh6",
    "last4": "6789",
    "metadata": {
    },
    "routing_number": "110000000",
    "status": "new"
  }
],

Таким образом, чтобы получить первый элемент (который является идентификатором), мне нужно было извлечь его для массива:

  $account = \Stripe\Account::retrieve($worker_token);
  $account->external_accounts->create(["external_account" => $bank_account_token]);
  $bank_id = $account->external_accounts->data[0]->id;
...