Что я уже реализовал:
Настройка TWA: PWA упаковывается в TWA с помощью pwabuilder.com и загружается в Play Store. Процесс выставления счетов интегрируется через JavaScript с помощью window.getDigitalGoodsService("https://play.google.com/billing").
Настройка покупки в приложении: я осуществил покупку поток для конкретных продуктов (SKU), отправляя запросы на оплату с помощью:
Код: Выделить всё
const paymentMethods = [{ supportedMethods: "https://play.google.com/billing", data: {sku}, }]
Код: Выделить всё
const paymentDetails = {total: {label:
Код: Выделить всё
, amount: {currency:
Код: Выделить всё
, value: 0}}}
Код: Выделить всё
const request = new PaymentRequest(paymentMethods, paymentDetails)
Код: Выделить всё
const paymentResponse = await request.show()
Проблема:
Случайная ошибка прерывания: иногда без при любом взаимодействии с пользователем за функцией PaymentRequest.show() сразу же следует AbortError, указывающая, что платежное приложение вернуло RESULT_CANCELED. Это происходит сразу после вызова модального окна, при этом пользователь сам не закрывает модальное окно оплаты.
Эта проблема возникает спорадически у некоторых пользователей и для определенных продуктов, что затрудняет последовательное копирование.
Эта ошибка зафиксирована на веб-сайте Sentry: платежное приложение вернуло код RESULT_CANCELED. Вот как платежные приложения могут программно закрывать свою активность.
Сталкивался ли кто-нибудь с подобными проблемами с потоками выставления счетов в TWA, где процесс оплаты отменяется без взаимодействия с пользователем?
Существуют ли определенные конфигурации или рекомендации, которым мне следует следовать при работе с динамическими номерами SKU и несколькими запросами продуктов в одном сеансе?
Может ли это быть связано с самими SKU или, возможно, это проблема? со средой TWA или условиями сети?
Обработка ошибок: я реализовал обработку ошибок в потоке, чтобы фиксировать, когда пользователи вручную отменяют платеж, и в этих случаях ожидается AbortError. Однако эта ошибка, похоже, срабатывает автоматически сразу после отображения модального окна, чего не должно происходить без участия пользователя.
Тестирование различных SKU: проблема возникает только для определенных продуктов, но Я не смог определить закономерность. Я также убедился, что SKU правильно настроены в консоли Google Play.
Sentry для отслеживания ошибок: я интегрировал Sentry для ведения журнала, но ошибки, возникающие в TWA, не отображаются. не всегда фиксируется, если URL-адрес не открыт непосредственно за пределами среды TWA.
Подробнее здесь: https://stackoverflow.com/questions/790 ... thout-user