Введите номер транзакции gpa для пользователей android

Интеграция Google Pay

Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API.

Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает не Google Play), то скорее всего среди вариантов оплаты у вас есть и “Оплата картой”. А это значит, что вам каждый раз приходится отправлять пользователя вводить данные карты или на красиво сверстанные экраны с картой, или на веб-сайт вашего провайдера платежных сервисов (далее — payment processor). Уже посчитали сколько действий придется совершить пользователю, чтобы оплатить заветный заказ? Ага, а теперь представьте, что он сможет выполнить то же целевое действие всего в два тапа. Мы тоже представили и подумали, а почему бы не дать пользователям такую возможность? Основные условия успеха — продавец быть зарегистрирован в Google и payment processor должен сотрудничать с Google.

Список банков России, которые сотрудничают с Android Pay:

АК Барс Банк
Альфа Банк
БИНБАНК
Промсвязьбанк
ВТБ24
Банк Открытие
МТС Банк
Райффайзен Банк
Рокетбанк
Россельхозбанк
Банк Русский Стандарт
Сбербанк
Тинькофф Банк
Точка
Яндекс Деньги

Как все будет выглядеть для пользователя: он попадает на экран выбора типов оплаты в вашем приложении, нажимает на кнопку “Оплатить через Google ”, выбирает нужную карту или оставляет ту, что указана по-умолчанию, нажимает кнопку подтверждения. Готово!
Помните, что Google Pay API позволяет пользователям выбрать любую карту, привязанную или к аккаунту Google, или добавленную в Google Pay.

Теперь перейдем непосредственно к интеграции.

  1. Верстка
  2. Код
  3. Тестирование
  4. Отправка на ручную проверку
  5. Релиз

1. Верстка

Первое, о чем стоит сказать — предупредите дизайнеров о гайдлайнах. Если кратко по пунктам:

  • на экранах ДО ИЛИ на экране, где будет расположена кнопка “Оплатить через Google” должна быть указана стоимость покупки;
  • дайте пользователям возможность изменять данные заказа, выбирать тип оплаты [, менять адрес];
  • никогда не показывайте данные для оплаты полностью (любые номера, даты и так далее);
  • еще раз — “Оплатить через Google” — именно такая надпись должна быть на вашей кнопке, если делаете приложение с поддержкой русского языка;
  • Google рекомендует использовать стандартные кнопки. Если вы хотите использовать темную тему или вообще кнопку со своим дизайном, то вам стоит написать в тех. поддержку по адресу androidpay-api-support@google.com. Но даже на кастомной кнопке должно быть лого Google и надпись … да, я надеюсь, вы поняли 🙂 ;
  • по ширине ограничений нет, минимальная высота кнопки — 40dp. Если делаете выше/шире, то помните, что текст должен быть отцентрирован.

Соблюдение данных пунктов позволит вам быстрее пройти все проверки и попасть в белый список.

2. Код

Чтобы оплата через Google работала, на телефоне пользователя должны быть установлены Google Play Services версии не ниже 11.4. Но не беспокойтесь, есть специальный метод, который подскажет, можно ли провести оплату или же стоит спрятать кнопку.

Для начала добавим нужные зависимости в build.gradle уровня приложения. Перед внедрением проверяйте актуальность версий!

Далее следует обновить AndroidManifest:

Теперь осталось совсем чуть-чуть:

    Создаём PaymentsClient в вашей Activity или в Fragment. Чтобы не захламлять эти классы, можно вынести весь код в методы GooglePaymentUtils, например. Тогда:

Обратите внимание на константы:

WalletConstants.ENVIRONMENT_TEST — пока Google не разрешит выход в боевую среду, вы должны использовать именно её, чтобы самостоятельно протестировать флоу оплаты. Не пугайтесь, когда увидите предупреждение на диалоге Google Pay, что приложение не опознано.
WalletConstants.THEME_LIGHT — светлая тема диалога, также есть темная.

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

Читайте также:  Андроид убрать звук при подключении зарядки

PAYMENT_METHOD_CARD, PAYMENT_METHOD_TOKENIZED_CARD — говорят, что мы хотим видеть карточки из Google аккаунта пользователя и карточки, привязанные к Android Pay.

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

Тут запомните, что price — это строчка. И самое важное, даже если вы вызываете AutoResolveHelper.resolveTask из фрагмента, то результат все-равно придет в активити (об этом чуть позже) [на момент написания статьи работает именно так, AutoResolveHelper не умеет возвращать результат во фрагмент].

Тут CURRENCY_CODE = “RUB”.
WalletConstants.TOTAL_PRICE_STATUS_FINAL — говорим, что стоимость покупки окончательная и больше изменяться не будет.

Также есть варианты:
WalletConstants.TOTAL_PRICE_STATUS_ESTIMATED — стоимость примерная, и может измениться, например, после уточнения адреса.
WalletConstants.TOTAL_PRICE_STATUS_NOT_CURRENTLY_KNOWN — еще не знаем, какая стоимость.

Не могу сказать, как на практике поведут себя последние две константы, так как не проверял ¯\_(ツ)_/¯.

Остановимся на PaymentMethodTokenizationParameters и его методе setPaymentMethodTokenizationType:

    PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY
    используется только если ваш payment processor в списке:

Adyen
Braintree
PaySafe
Stripe
Vantiv
WorldPay

Тогда вместо .addParameter(«publicKey», TOKENIZATION_PUBLIC_KEY)
вы должны написать .addParameter(«gateway», «yourGateway»)
.addParameter(«gatewayMerchantId», «yourMerchantIdGivenFromYourGateway»)

  • Иначе используется вышеуказанный тип PAYMENT_METHOD_TOKENIZATION_TYPE_DIRECT.
    Для этого вам необходимо запросить у провайдера платежных сервисов публичный ключ и передавать именно его в .addParameter(«publicKey», TOKENIZATION_PUBLIC_KEY)
  • Теперь остается создать запрос.
    .setPhoneNumberRequired — должен ли пользователь ввести номер.
    .setEmailRequired — должен ли пользователь ввести email
    .setShippingAddressRequired — должен ли пользователь выбрать страну. Тут можно ограничить число стран, для которых данная транзакция выполнится.
    .addAllowedPaymentMethods — у нас это WalletConstants.PAYMENT_METHOD_CARD — карты из google аккаунта, WalletConstants.PAYMENT_METHOD_TOKENIZED_CARD — карты, добавленные в Google Pay.

    В CardRequirements мы указываем, что должны работать карточки систем Visa, Mastercard и других (МИР, например)

    Все, мы создали запрос, отправили его через клиента и ждем результат через AutoResolveHelper.

    Как вы помните, результат придет в активити.

    Вот и все, в paymentData у вас будет токен, который следует отдать вашему серверу. Дальнейшая логика зависит от вашего payment processor.

    3. Тестирование

    Ничего сложного, просто проверяете, что установлена константа WalletConstants.ENVIRONMENT_TEST, и проходите весь флоу. Списание денег с карточки производиться не будет, вам будет отдаваться тестовый токен, поэтому payment processor должен отклонить оплату.

    4. Отправка на ручную проверку

    Поздравляю! Вы готовы отправить свой дебаг билд на ручную проверку в Google.
    Несколько советов:

    • Если ваше приложение поддерживает только русский язык, то подготовьте скриншоты с указаниями, куда нажимать.
    • Если есть какая-то специфика в процессе заказа, то подробно опишите.
    • Создайте тестовый аккаунт специально для Google и отправьте прямо с билдом.

    Отправляете билд на androidpay-api-support@google.com и ждете ответа.

    5. Релиз

    Вам сказали, что все хорошо и можно выпускать приложение. Первым делом вас попросят активировать приложение по адресу (с аккаунта продавца (merchant)).

    Далее вас могут попросить прислать PCI Compliance. Эти документы подтверждают, что ваш payment processor соответствует стандартам безопасности по работе с картами. Запрашиваете у него и отправляете в поддержку.

    Как только вы выполнили эти два пункта, вам скажут, что можно поменять WalletConstants.ENVIRONMENT_TEST на WalletConstants.ENVIRONMENT_PRODUCTION. Также может потребоваться поменять TOKENIZATION_PUBLIC_KEY, если вы использовали ключ с тестовой среды вашего payment processor.

    Вот и все, теперь протестируйте реальную оплату и можете выпускать релиз в маркет!

    Источник

    Как проверить платежи и списания в магазине Google Play

    Когда вы покупаете что-то в Google Play, в аккаунте пользователя Google, который использовался для совершения покупки, вы увидите письмо с подтверждением и информацией о заказе. В любой момент вы можете просмотреть историю заказов в Google Play.

    Просмотр истории заказов

    В приложении Play Маркет

    1. На мобильном устройстве откройте приложение «Play Маркет».
    2. Выберите МенюУчетная запись.
    3. Нажмите История покупок.

    Примечание: номера заказов в настоящий момент не доступны на Google Play. Если вам нужен номер заказа, чтобы запросить возврат средств, выполните инструкции ниже для Google Pay.

    Читайте также:  Ios или android по странами

    На сайте Google Play

    1. Войдите в свою учетную запись Google Play.
    2. Прокрутите вниз, чтобы просмотреть список заказов.

    На сайте Google Pay

    1. Откройте pay.google.com.
    2. Найдите пункт Другие покупки.
    3. Выберите Показать покупки.
    4. Подтверждение покупки появляется, когда вы нажимаете заказ.

    Когда ожидать списание платежа

    Оплата взимается в ближайшее время после покупки контента в Google Play. Изменения в балансе в Google Play вы увидите сразу, а списание по счёту выбранного способа оплаты, как правило, появляется в течение нескольких дней.

    Пошлины, сборы и авторизации

    На этой странице вы можете получить информацию о тарифах, сборах и авторизациях, которые применяются при работе с Google Payments.

    Тарифы

    Google не взимает никаких сборов в своих сервисах, таких как Google Play и Google Диск. Вы несете только расходы,налоги и сборы за доставку.

    Списания за покупки

    Сервис Google, в котором вы размещаете заказ, взимает плату с вашего счета.

    Списания в выписке имеют форму GOOGLE*Имя продавца и, как правило, появляются в течение нескольких дней после заказа.

    Авторизации

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

    Это только запрос авторизации, а не списания.

    В зависимости от банка, авторизация может сохраняться на счету до 14 рабочих дней. Если по истечении 14 рабочих дней авторизация по-прежнему отображается, обратитесь в банк, чтобы получить больше информации.

    Источник

    Как исправить ошибку транзакции Google Play, которая не может быть завершена

    Часто встречаются определенные проблемы, связанные с оплатой при покупке платных приложений или покупках внутри приложений в Google Play Store. В этом руководстве мы описываем некоторые исправления ошибки «Транзакция не может быть завершена», которая многие пользователи Android лицо при попытке совершить платеж в Play Store.

    Эта ошибка указывает на то, что платежные реквизиты пользователя не авторизованы. Таким образом, предполагаемая покупка не будет обработана или завершена. Если вы столкнулись с этой ошибкой, обратитесь к решению, указанному ниже, чтобы решить ее.

    1. Подтвердите наличие средств.

    Если у вас недостаточно средств для покрытия стоимости приложения / услуги, которую вы пытаетесь купить, вы обязательно столкнетесь с этим сообщением об ошибке во время оплаты. Вы должны убедиться, что на карте (или любом другом способе оплаты, привязанном к вашему Google Play) достаточно денег, чтобы покрыть расходы на приложение.

    Вы также должны убедиться, что у банка, связанного с вашей платежной картой, нет определенного минимального баланса, который необходимо поддерживать перед транзакцией. Вам следует связаться с вашим банком или эмитентом кредитной / дебетовой карты, чтобы подтвердить, что ваш способ оплаты может использоваться для онлайн-транзакций.

    2. Проверьте способ оплаты.

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

    Шаг 1: Посетите эту страницу поддержки платежей в Справочном центре Google Play по ссылке ниже.

    Вы можете использовать любой веб-браузер на мобильном телефоне или ПК.

    Шаг 2: В разделе «Найдите доступные способы оплаты» нажмите кнопку раскрывающегося списка, чтобы просмотреть список стран.

    Шаг 3: Прокрутите список и выберите свою страну.

    Это перезагрузит страницу и отобразит список поддерживаемых способов оплаты для вашей страны.

    Шаг 4: Коснитесь «Неподдерживаемые типы платежей», чтобы просмотреть список неприемлемых способов оплаты для вашего региона.

    Google Play не поддерживает виртуальные кредитные карты, транзитные карты и т. Д. Если эти (и другие типы неподдерживаемых типов платежей на шаге 4 выше) связаны с вашей учетной записью Google Play, вам следует заменить их на любой из допустимых типов оплаты для вашей страны. См. Следующее решение ниже.

    Читайте также:  Дельфин для андроид все версии

    3. Повторно добавьте способ оплаты

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

    Следуйте инструкциям ниже, чтобы это сделать.

    Шаг 1: Запустите приложение Play Store на своем телефоне и коснитесь значка меню гамбургера.

    Шаг 2: Выберите Способы оплаты.

    Вы должны увидеть способы оплаты, связанные с вашим Google Play.

    Шаг 3: Чтобы удалить способ оплаты или добавить новый, нажмите «Дополнительные настройки оплаты».

    Вам будет предложено посетить страницу платежей Google во внешнем браузере. Если вы не вошли в свою учетную запись Google в браузере, вам будет предложено войти в систему.

    Шаг 4: Вы должны увидеть свои способы оплаты. Нажмите «Удалить», чтобы отменить привязку способа оплаты к вашей учетной записи. Снова нажмите Удалить в запросе подтверждения.

    Шаг 5: Чтобы (повторно) добавить поддерживаемый способ оплаты, нажмите кнопку «Добавить способ оплаты».

    Шаг 6: Введите данные о способе оплаты и нажмите «Сохранить», когда закончите.

    4. Закройте и принудительно остановите Google Play Store.

    Иногда это просто сбой в работе приложения Play Store. Может помочь простое закрытие и повторное открытие приложения. Или еще лучше, принудительно закройте приложение, запустите его снова и попробуйте совершить покупку еще раз. Выполните следующие действия, чтобы принудительно закрыть приложение Play Store.

    Шаг 1: Нажмите и удерживайте значок Play Store на главной странице вашего устройства или в области приложений.

    Шаг 2: Коснитесь значка информации (i) во всплывающем меню приложения.

    Или перейдите в Настройки> Приложения и уведомления> Все приложения> Google Play Store.

    Шаг 3: Коснитесь значка «Принудительная остановка» и выберите ОК в запросе.

    Шаг 4: Теперь нажмите «Открыть», чтобы перезапустить приложение.

    Проверьте, можете ли вы теперь оплатить приложение, которое хотите приобрести. Если ошибка «Транзакция не может быть завершена» по-прежнему сохраняется, перейдите к следующему способу устранения неполадок, описанному ниже.

    5. Очистите кеш Play Store.

    Очистка кеша приложений Google Play Store также может помочь исправить эту ошибку. Для этого перейдите в «Настройки»> «Приложения и уведомления»> «Все приложения»> «Магазин Google Play». На странице информации о приложении выберите «Хранилище и кеш» и коснитесь значка «Очистить кеш».

    Запустите Google Play Store и проверьте, можете ли вы теперь покупать и оплачивать приложения.

    6. Изменить платежный адрес

    Если адрес в платежных настройках Google Play отличается от платежного адреса по умолчанию на вашей карте, это может привести к отклонению вашего платежа и, следовательно, к ошибке «Транзакция не может быть завершена».

    Чтобы исправить это, вы можете:

    1. Обратитесь к своей платежной компании или эмитенту карты, чтобы изменить адрес для выставления счетов карты, чтобы он совпадал с адресом в Google Play, или
    2. Измените адрес в настройках платежей Google Play, чтобы он соответствовал платежному адресу, на который зарегистрирована ваша карта.

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

    Шаг 1: Запустите приложение Google Play Store и коснитесь значка меню гамбургера.

    Шаг 2: Выберите Способы оплаты.

    Шаг 3: Нажмите «Дополнительные настройки оплаты».

    Посетите страницу настроек Google Payments и перейдите в нужный браузер.

    Шаг 4: Нажмите «Изменить» на платежной карте.

    Шаг 5: Коснитесь существующего адреса, чтобы изменить / обновить его.

    Шаг 6: Введите новую адресную информацию, которая соответствует платежному адресу вашей банковской карты. Также введите значение проверки карты (CVV) — вы найдете этот номер на обратной стороне кредитной / дебетовой карты. Нажмите «Обновить», чтобы сохранить новый адрес.

    Следующий:

    Вы не можете устанавливать приложения из Play Store? Публикация, ссылка на которую приведена ниже, содержит здоровенный сборник исправлений, которые вы можете использовать для устранения ошибки ожидания загрузки в Google Play Store. Проверить это.

    Последнее обновление: 27 июн, 2020

    Вышеупомянутая статья может содержать партнерские ссылки, которые помогают поддерживать Guiding Tech. Однако это не влияет на нашу редакционную честность. Содержание остается объективным и достоверным.

    Источник

    Оцените статью