2013-03-24 2 views
7

Я только что сделал приложение iOS с IAP для покупки виртуальных монет (Расходуемые). И бэкендом является Ruby on Rails. На данный момент у меня есть некоторые проблемы в отношении всего решения.IAP backend лучшая практика

Мой текущий процесс IAP описывает следующим образом:

  • ШАГ 1 - Клиент IOS отправляет запрос на наш бэкэндом и получить идентификаторы продукта.
  • ШАГ 2 - Клиент получить список товаров через магазин Kit с идентификаторами из step1
  • ШАГ 3 - Пользователь щелкните покупку и клиент отправляет запрос на платеж, чтобы хранить комплект
  • ШАГ 4 - Когда закончите транзакции клиент посылает маркер квитанции к нашему бэкэнду
  • ШАГ 5 - сервер проверяет получение первым, чтобы убедиться, что это действует проверка
  • ШАГ 6 - Сервер вызовы App Store, чтобы проверить квитанцию ​​и иметь дело с обменом (перезарядка счета в БД)
  • STEP 7 - Клиент возвращает ответ и отображает остаток на счете

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

Мои вопросы:

  1. Что лучшая практика, чтобы проверить получение IAP? Как избежать прерывания проверки с нашего сервера? (например, пользователь тратит деньги и завершает транзакцию на клиенте, но не работает, когда проверяет получение на сервере. Нет поддержки транзакции восстановления IAP.)

  2. Apple IAP скорее всего является идеальным решением для клиентов. Особенно в моем случае, после оплаты пользователем, он хочет немедленно получить монеты, а не тот случай, когда мы говорим ему, что транзакция обрабатывается, и его счет будет выполнен в ближайшее время. Для обеспечения приоритетности UX на мобильном устройстве. Вы все еще используете материал очереди сообщений на сервере?

Спасибо за ваше время.

ответ

1

Возможно, вы найдете http://helios.io/. Он объединяет в себе четыре полезных драгоценных камня, связанных с iOS, один из которых - https://github.com/mattt/rack-in-app-purchase

+1

Хорошие ссылки, Алекс, хотя он не отвечает на мой вопрос действительно – chagel

0

Если я правильно понял вопрос, похоже, есть драгоценный камень, называемый itunes-квитанцией, который можно использовать для этого. Драгоценный камень можно найти здесь: https://github.com/nov/itunes-receipt

Существует также NSScreencast, рассматривающий эту проблему, а инструкции в примечаниях к шоу выглядят достаточно полно. http://nsscreencast.com/episodes/45-validating-iap-receipts

1

Вопрос 1: Согласно Apple's docs here, вы всегда должны проверять поступления на сервере.Есть несколько рубиновых камней, которые могут помочь с разговором с сервером компании Apple на внутреннем интерфейсе:

https://github.com/gabrielgarza/monza

Хостинг: https://getmonza.com

https://github.com/nomad/venice

https://github.com/nov/itunes-receipt

Вопрос 2: Это зависит как вы обеспокоены мошенничеством. Если вы не проверяете поступления, вы подвергаете себя мошенничеству. Я настоятельно рекомендую проверить на стороне сервера.

Оформить заказ this WWDC video что за хорошие основы в покупках приложений.

Смежные вопросы