Транзакции через Stripe Connect


Я пытаюсь настроить следующее с помощью Stripe:

  • Основная учетная запись
  • Несколько субсчетов (т.е. подключенных к основной учетной записи через приложение Stripe Connect)
  • Позволяет осуществлять платежи на субсчет с процентной комиссией, взимаемой с Основного счета за транзакцию.

Я создал Основную учетную запись и дополнительную учетную запись. Я подключил дополнительную учетную запись к основной учетной записи через Stripe Connect. Я получил и сохранил access_token и refresh_token в конце процесса подключения Stripe.

Когда производятся платежи, один платеж может охватывать несколько позиций. У меня есть следующий код (PHP) для обработки платежа:

Stripe_Charge::create(array(
    "amount" => $amt,
    "currency" => "EUR",
    "source" => $stripeCardToken,
    "description" => $description),
    "application_fee_percent" => 0.5
),
    $stripeAccessToken
);

Это помещается в цикл для каждого оплаченного товара. Он также находится в блоке try/catch с несколькими перехватами исключений полосы. Однако этот метод завершается неудачей без какой-либо ошибки.

Правильно ли использовать этот метод класса? Является ли поле "источник" для кредитной карты жетон? Есть ли способ отслеживать суммы, уплаченные по нескольким позициям, без использования цикла? Возвращается ли $stripeAccessToken access_token субсчета из процесса подключения или refresh_token? Или это Публикуемый/Секретный ключ Главной учетной записи? Или что-то еще? Могу ли я использовать этот формат для $stripeaccesstoken, или мне нужно вместо этого использовать Stripe::setApiKey($stripeAccessToken) перед циклом?

Как основной, так и вспомогательный аккаунт в настоящее время используют тестовую среду и поддельную карту, но я хотел бы протестировать вживую транзакции также.

Author: Eamonn, 2015-03-12

1 answers

Первая проблема здесь заключается в том, что вы пытаетесь повторно использовать токен карты, но это одноразовое использование, поэтому, как только вы создадите плату с помощью токена карты, вы не сможете создать новый.

Если вы хотите взимать плату со своего клиента и распределять платежи между несколькими продавцами, вам нужно будет использовать общих клиентов . Это поток, которому вам нужно следовать в вашем случае:

  • Создайте карточный токен для реквизитов карты вашего клиента с помощью вашего публикуемого API ключ
  • Создайте клиента в своей учетной записи stripe с помощью вашего секретного ключа.
  • Для каждого из ваших продавцов вам необходимо создать токен для клиента, который вы затем используете для создания платы в своих учетных записях продавцов. Вам придется создавать отдельные сборы здесь для каждого продавца, но вам не нужно несколько раз запрашивать у клиента данные его карты.

В случае, если я неправильно понял и все товары поступят от одного и того же продавца, вам не нужно будет этого делать все это, и вам нужно будет следовать этому потоку:

  • Создайте маркер карты для данных карты вашего клиента с помощью их публикуемого ключа API, который вы получили во время подключения.
  • Создайте клиента в своей учетной записи stripe с помощью их access_token который вы получили во время потока подключения, переданный в качестве второго параметра вызову API.
  • Создайте плату за общую сумму товаров, купленных клиентом, передав идентификатор клиента, который вы получили на предыдущем шаг и access_token снова в качестве второго параметра.
 2
Author: koopajah, 2015-03-12 21:04:19