Stripe отправляет платеж на подключенные учетные записи на платформе

Сценарий состоит в том, что на нашем веб-сайте 3 пользователя: администратор, отправитель и получатель. Отправитель отправляет платежи Получателю, но на нашем веб-сайте Отправитель не отправляет платеж напрямую Получателю, сумма удерживается в учетной записи Admin Stripe, и после подтверждения Получатель получает платеж из учетной записи Admin Stripe . Для этого процесса я создаю платформу из учетной записи Admin Stripe, теперь отправитель и получатель подключены к этой платформе.

Ниже приведены коды, которые мы используем:

Отправитель отправляет платеж в учетную запись администратора

\Stripe\Stripe::setApiKey("sk_test_ADMIN_KEY");

\Stripe\Charge::create(array(
  "amount" => 400,
  "currency" => "usd",
  "source" => "tok_18uL5yIXv4Heg2KDdPHJFo8A", // obtained with Stripe.js
  "description" => "Charge for [email protected]"
));

Получатель получает платеж из учетной записи Admin Stripe

\Stripe\Stripe::setApiKey("sk_test_ADMIN_KEY.....");

\Stripe\Charge::create(array(
  'amount' => 400,
  'currency' => 'usd',
  'source' => $token,
  'destination' => 'acct_...' // 
));

и более того, у всех трех пользователей есть свои учетные записи Stripe, а в тестовом режиме у всех трех есть доступный баланс в размере 0 долларов США. и сумма не добавляется к учетной записи Receiver Stripe после использования вышеуказанного кода.


person Muhammad Rehman    schedule 11.01.2017    source источник


Ответы (1)


Принимая платежи от имени третьих лиц, вы не можете хранить средства на счете платформы («Администратор»). По соображениям соответствия вы должны установить целевую учетную запись при создании платежа.

\Stripe\Stripe::setApiKey("sk_test_..."); // platform's API key

\Stripe\Charge::create(array(
  'amount' => 400,
  'currency' => 'usd',
  'source' => $token,
  'destination' => 'acct_...' // connected account's ID
));

Это будет взимать плату с клиента (с помощью метода оплаты в $token) и добавлять средства на баланс подключенной учетной записи. Как только средства станут доступны, они могут быть переведены на банковский счет, связанный с подключенным счетом.

Обратите внимание: поскольку эта плата создается «через платформу» (т. Е. С помощью destination), платформа будет оплачивать сборы Stripe и отвечать за возвратные платежи и возмещения (см. здесь). Поскольку нет параметра application_fee, платформа фактически потеряет деньги на эта транзакция, поскольку она оплатит комиссию Stripe, но ничего не получит.

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

С автономными учетными записями платформа не контролирует банковские переводы - вместо этого каждый владелец автономной учетной записи делает это через настройки своей учетной записи.

person Ywain    schedule 11.01.2017
comment
Не могли бы вы пл. взгляните на этот stackoverflow.com/questions/42853469/ - person Stella; 17.03.2017