API транзакций Braintree ios + java возвращает 403

Только начал проект. Приложение на стороне клиента — это демонстрационное приложение Braintree. Я изменил его, чтобы указать на мой сервер, работающий на локальном хосте.

Вот что я делаю.

  1. iOS-приложение отправляет запрос на сервер для получения токена

  2. сервер использует метод ниже, чтобы получить токен от Braintree и отправить обратно на сервер

    Шлюз BraintreeGateway = новый BraintreeGateway(Environment.SANDBOX,merchantAccountId, "........", "............" ); Строковый токен = gateway.clientToken().generate(); // Braintree вернул токен

  3. Демонстрационное приложение ios создает одноразовый номер с выпадающим представлением

  4. Демонстрационное приложение ios отправляет одноразовый номер на сервер

    // одноразовый номер отправляется на сервер 71a89c9d-6ca7-4804-a895-b0e7564425c6

  5. сервер вызывает Braintree API с кодом ниже

        TransactionRequest request = new TransactionRequest()
        .amount(new BigDecimal(19.0f))
        .merchantAccountId(merchantAccountId)
        .paymentMethodNonce(nonce)
        .options()
            .submitForSettlement(true)
            .done()
        .channel("MyShoppingCartProvider");
        Result<Transaction> result = gateway.transaction().sale(request);
        return result;
    

Последний шаг получил исключение 403 com.braintreegateway.exceptions.AuthorizationException от Braintree. XML-файл из потока ошибок неавторизован. Входной поток от Braintree говорит: «Сервер вернул код ответа HTTP: 403 для URL-адреса: https://api.sandbox.braintreegateway.com:443/merchants/vb38crtnzn77b9ys/transactions"

Спасибо за помощь


person YongJiang Zhang    schedule 12.12.2014    source источник


Ответы (1)


Получается, что есть два идентификатора. Один из них —merchanId, а другой —merchantAccountId. Сервер отправляет идентификатор продавца обратно клиенту. А в дальнейшем для тарификации используйте мерчАккаунтИд.

person YongJiang Zhang    schedule 12.12.2014
comment
Решил свою проблему в 2020. Теперь можно ложиться спать. - person vaughan; 29.02.2020