Как получить список идентификаторов платежей для объекта выплаты CONNECTED ACCOUNT в полосе

UPDATE Эта функция удаляется с Firefox 17 (см. https://bugzilla.mozilla.org/show_bug.cgi?id=546848 ).


Вкл. Firefox, который вы (программист) может сделать это из файла JavaScript:

netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");

, и вам (пользователю браузера) будет предложено разрешить доступ. (для Firefox вам просто нужно делать это один раз при каждом запуске браузера)

Если пользователь браузера - кто-то другой, они должны предоставить разрешение.

0
задан Assaf Karmon 28 February 2019 в 21:58
поделиться

1 ответ

Я получил официальный ответ от нашивки, нет способа сделать это одним запросом, но есть способ.

1) для учетной записи платформы создается платеж ch_xxxx и связанная транзакция (txn_xxxxxx)

После того, как платформа получает платеж, учетная запись платформы создает перевод на подключенную учетную запись (tr_xxxxxx) и объект переноса также находится на Учетной записи Платформы

2) Когда подключенный аккаунт получил перевод, будет создан платежный объект (py_xxxxxx) и связанная транзакция (txn_xxxxx) На подключенном аккаунте эти платежные транзакции будут сгруппированы вместе и выплачены в виде «po_xxxxxx»

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

выплата (po_xxxx) -> транзакции (txn_xxxx) -> платеж (py_xxxx) -> перевод (tr_xxxx) -> оплата (ch_xxxxx)

    public static void ListTransactionsForPayout(String payout) throws StripeException {

//1. Get a list of transactions for payout in Connected account 
 Map<String, Object> balancetransactionParams = new HashMap<String, Object>();
 balancetransactionParams.put("limit", 20);
 balancetransactionParams.put("payout", "po_1Dy8ZfKxxxxxx"); 

 List<String> expandList = new LinkedList<String>();
 expandList.add("data.source");
 balancetransactionParams.put("expand", expandList);


 RequestOptions requestOptions = RequestOptions.builder()
            .setStripeAccount("acct_connected_account")
            .build();

 BalanceTransactionCollection transactions = BalanceTransaction.list(balancetransactionParams, requestOptions);

 for (BalanceTransaction txn : transactions.autoPagingIterable()) {
 if (txn.getType().equals("payment")) {
 Charge charge = (Charge) txn.getSourceObject();

// 2. Get transfers from payment and get charge from transfer 
 Transfer transfer = Transfer.retrieve(charge.getSourceTransfer());
 System.out.printf("txn %s -> payment %s -> transfer %s -> charge %s\n", txn.getId(), txn.getSource(), transfer.getId(), transfer.getSourceTransaction());
            }
        }
    }
0
ответ дан Assaf Karmon 28 February 2019 в 21:58
поделиться