Я знаю, что задавать это здесь можно было бы бросить камень в темноту, потому что я нашел 2 других похожих вопроса, но ни на один из них не было ответов.
В любом случае, я надеюсь, что кто-то уже нашел решение для этого и может пролить свет на это.
Позвольте мне сначала объяснить сценарий, так как он может помочь в поиске решения:
Я создаю полосу custom connect accounts
как это:
$acct = \Stripe\Account::create(array(
"country" => "US",
"type" => "custom",
"email" => "email@mail.com"));
Потом добавляю Bank Accounts
им так нравится
$account->external_accounts->create(
array(
'external_account' => array(
"object" => "bank_account",
"country" => "US",
"currency" => "usd",
"account_holder_name" => 'Jane Austen',
"account_holder_type" => 'individual',
"routing_number" => "111000025",
"account_number" => "000123456789")
));
Пока все работает нормально ….
Теперь мне необходимо перевести деньги / платежи с подключенные пользовательские аккаунты в их банковские счета.
Для этого мне нужно будет добавить кредитную карту к этому connetced account
так что данные карты могут быть использованы для осуществления платежей на банковские счета.
Итак, я пошел дальше и попробовал это:
$account->external_accounts->create(
array(
'external_account' => array(
"object" => "card",
"exp_month" => 8,
"exp_year" => 2018,
"number" => "4012888888881881",
"currency" => "usd",
"cvc" => "123")
));
И это не сработало и дал мне эту ошибку:
Requests made on behalf of a connected account must use card tokens from Stripe.js, but card details were directly provided.
Поэтому я изменил свою стратегию и попробовал это:
$result = \Stripe\Token::create(
array(
"card" => array(
"name" => "Some Name",
"exp_month" => 8,
"exp_year" => 2018,
"number" => "4012888888881881",
"currency" => "usd",
"cvc" => "123")
));$token = $result['id'];$account->external_accounts->create(
array(
'external_account' => array(
"object" => "card",
"source" => "".$token."")
));
Однако, это дало мне то же самое сообщение об ошибке !!!
Это очень расстраивает, потому что если вы посмотрите на их собственную документацию по API, вы ясно увидите, что они говорят:
source required
Either a token, like the ones returned by Stripe.js, or a dictionary containing a user's credit card details (with the options shown below). Stripe will automatically validate the card.
Это можно увидеть здесь:
https://stripe.com/docs/api#create_card
Может кто-нибудь, пожалуйста, совет по этому вопросу?
Я не могу использовать stripe.js в своем проекте, поэтому мне нужно будет использовать API.
Любая помощь будет принята с благодарностью.
Заранее спасибо.
Первое редактирование:
Вот странный .. Я сгенерировал токен карты Stripe отсюда:
https://codepen.io/fmartingr/pen/pGfhy
Обратите внимание, что вышеприведенный кодекс использует stripe.js для генерации токенов ….
и попытался использовать токен оттуда в моем PHP-коде так:
$account->external_accounts->create(
array(
'external_account' => array(
"object" => "card",
"source" => "tok_1AqPXeDQzcw33c71uncYBFdm")
));
но это дает мне точно такую же ошибку:
Requests made on behalf of a connected account must use card tokens from Stripe.js, but card details were directly provided.
Задача ещё не решена.
Других решений пока нет …