#php #stripe-payments
#php #stripe-платежи
Вопрос:
Я использую php stripe API для создания учетной записи, используя приведенный ниже код,
$account = StripeAccount::create(array(
"type" => "custom",
"country" => "GB",
"email" => 'devetest@gmail.com',
'capabilities' => [
'card_payments' => ['requested' => true],
'transfers' => ['requested' => true],
]
));
Учетная запись создана, но она показывает ограничение, пожалуйста, проверьте изображение ,
Можете ли вы подсказать, как очистить эти предупреждения с помощью php Stripe API (без использования stripe dashboard), я пропустил что-то новое для stripe API я проверил документы Stripe API, но не могу решить эту проблему.
Комментарии:
1. я создаю несколько учетных записей динамически с сайта, поэтому я не могу установить все эти значения через панель мониторинга для всех учетных записей
2. Хорошо, я быстро просмотрел документы , в которых показано, что вы можете указать
business_type
, что будет сортировать первое сообщение. Нажмите на вторую кнопку редактирования, чтобы увидеть, какие данные требуются, но отсутствуют. Также, по-видимому, существуют параметрыexternal_accounts
, включающие банковские счета, которые, вероятно, сортируют третье предупреждение.3. когда я добавляю ‘business_type’ => ‘company’ в указанный выше массив api учетных записей, он выдает ошибку «Получен неизвестный параметр: business_type»
4. Вы не должны получать эту ошибку, это часть API: stripe.com/docs/api/accounts/… Возможно, вы используете старую версию API? Весь этот API был сильно изменен в stripe.com/docs/upgrades#2019-02-19 итак, вы действительно хотите использовать последнюю версию, иначе вам будет очень трудно следовать документам.
5. я использую stripe из github.com/stripe/stripe-php , я думаю, что это последняя версия
Ответ №1:
Объект API имеет requirements
поле, которое точно описывает, какая информация необходима. Вы предоставляете это, вызывая API обновления учетной записи. Это подробно описано на https://stripe.com/docs/connect/identity-verification-api . например, у вас может быть такое requirements
поле, как это :
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: []
},
Так, например, вы бы очистили некоторые из них (давайте возьмем пример «business_profile.mcc», вызвав обновление учетных записей следующим образом
StripeAccount::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
В целом, если вы специально не собираетесь самостоятельно вводить белые метки для регистрации учетной записи и сбора информации KYC, гораздо проще либо интегрировать учетные записи Express (где Stripe собирает информацию для вас), либо использовать Connect Onboarding для пользовательских учетных записей, где вы просто вводите идентификатор учетной записи, а Stripe дает вам ссылкуна страницу, которую владелец учетной записи может посетить, чтобы предоставить любую необходимую информацию.
Комментарии:
1. @karlleko мне нужно разъяснение, скажем, у меня есть магазин, если клиент покупает товар за 10 рупий, я хочу взять 8 рупий и отправить 2 рупии на другую учетную запись stripe (у меня есть идентификатор их учетной записи), как это сделать в stripe API, прежде чем я использовал charge API (чтобы получить 10 рупий) иатрибут назначения для отправки (2 рупии) на другую учетную запись, как это сделать сейчас, поскольку назначение устарело, можете ли вы привести пример
2. Взимание платы за назначение как концепция не является устаревшей. Есть документы о том, как сделать именно это на stripe.com/docs/connect/destination-charges . Вы должны использовать
transfer_data
параметры в PaymentIntent, как описано там.3. @karlleko я использовал подключение к интернету, как вы предлагаете, я попытался удалить несколько предупреждений, но все равно получил ошибку выплаты «Добавить банковский счет или дебетовую карту для включения выплат»., я должен получить банковские реквизиты от владельца магазина? это обязательно?, потому что я уже получил данные карты (токен, carid)