Биллинг в приложении Android — как рынок уведомляет об ошибке платежа

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

Какова стандартная практика в таких случаях.

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


person Nitin    schedule 05.11.2012    source источник


Ответы (1)


Он не будет уведомлен. Платежи обрабатываются клиентом Google Play Store, и в случае сбоя проверки карты и т. д. отображается сообщение об ошибке. Если вы отступите и вернетесь в приложение (т. е. в свое приложение), вы получите общую ошибку «покупка не удалась» и т. д.

person Nikolay Elenkov    schedule 06.11.2012
comment
Спасибо за ответ. По вашим словам, когда я нажимаю «Принять» и «покупаю» в пользовательском интерфейсе оформления заказа, приложение Google Play будет обрабатывать все сообщения. Что, если обработка платежа займет немного больше времени, а пользовательский интерфейс проверки будет закрыт (что, согласно документации Google, происходит через 60 секунд), какое сообщение я должен показать пользователю. В таких случаях, как я могу определить разницу между сбоем покупки из-за проблем с кредитной картой или из-за какой-либо другой проблемы. Не будет ли это немного запутанным для пользователя. Есть ли стандартный способ справиться с этим или какой-то способ, который вы могли использовать ранее? - person Nitin; 06.11.2012
comment
Вы получите RESULT_USER_CANCELED или RESULT_ERROR. Пользовательский интерфейс Google Play покажет более подробное сообщение, если оно доступно, и вашему коду на самом деле не нужно заботиться о том, что именно пошло не так. - person Nikolay Elenkov; 06.11.2012