Мы используем Reader SDK для обработки платежей в Square. В этом ключи назначены в файле gradle.properties
.
У нас есть приложение для заказа Android, где несколько продавцов получают доступ к нашему приложению. Мы хотим отправлять платежи только этим продавцам.
Мы будем запрашивать идентификатор приложения и пароль у продавца на нашем веб-сайте и хранить данные в нашей БД. Всякий раз, когда продавец использует приложение, мы получаем ключи от сервиса и должны назначить
SQUARE_READER_SDK_APPLICATION_ID
а также
SQUARE_READER_SDK_REPOSITORY_PASSWORD
Есть ли возможность программно изменять ключи свойств (SQUARE_READER_SDK_APPLICATION_ID
, SQUARE_READER_SDK_REPOSITORY_PASSWORD
) с/без использования файла " gradle.properties
"?
Как мы можем обновить эти ключи программно? Или любая другая возможность для этого варианта использования?
Там нет необходимости запрашивать учетные данные у продавцов (на самом деле, вы не должны). Что вы хотели бы сделать, это использовать Square OAuth API. Этот поток позволит вам предоставить ссылку продавцам с любыми разрешениями, которые вы пожелаете. Если продавец выберет разрешение для вашего приложения, вы получите код, который вы можете обменять на OAuth access token
. Вы должны использовать указанный токен доступа для генерации кода мобильной авторизации, который требуется для использования ReaderSDK на каждом отдельном устройстве. Затем gradle.properties
может продолжать использовать идентификатор приложения (разработчика) и пароль хранилища без необходимости их изменения.
Ссылка Mobile Authorization, которую я предоставил, фактически проходит рабочий процесс использования OAuth (вместо личного) токена доступа.
Изменение: я заметил, что вы упомянули ordering app
. Обратите внимание, что ReaderSDK предназначен для личных платежей, а не онлайн-платежей. Если вы хотите совершать онлайн-платежи с помощью приложения Android без использования аппаратного обеспечения Square, ознакомьтесь с нашим SDK для платежей в приложении.