Самая большая проблема с большинством биллинговых систем заключается в том, что вам либо приходится много писать, либо у них не хватает одной или нескольких критических функций. Такие системы, как PayPal, по соображениям безопасности не могут обрабатывать повторяющиеся счета извне; Вы как клиент можете согласиться на подписку от продавца, но PayPal должен справиться со всем. Кроме того, каждый, кому нужна учетная запись PayPal или GoogleCheckout для ведения бизнеса, может не начинать свою работу в зависимости от вашей аудитории. Традиционные системы электронной коммерции, такие как AuthorizeNet и LinkPoint, дают вам больше гибкости, но вам может потребоваться много кода для продвижения транзакций так, как вам нужно, в зависимости от вашей платформы, не говоря уже о дополнительных затратах при настройке аккаунт на первом месте. Служба гибких платежей Amazon стоит где-то посередине, предлагая большую гибкость, чем PayPal / Google Checkout, но сохраняя ограничение сторонней учетной записи. Поскольку вы работаете с инструментом, который управляет отношениями клиентов с их поставщиками, вы можете извлечь выгоду из способности Amazon содействовать транзакциям между двумя внешними сторонами.
Я занимался разработкой в этом пространстве с использованием Java или Ruby on Rails. У Ruby on Rails есть замечательная жемчужина, созданная людьми из Shopify под названием ActiveMerchant , которая делает обработку кредитных карт довольно простой, как только вы открыли свой торговый счет у одного из поставщиков AuthorizeNet / LinkPoint. Большинство торговых поставщиков также имеют приличные API Java. Возможно, вы захотите взглянуть на что-то вроде Blinksale для выставления счетов, так как оно позволяет вам собирать симпатичные счета и имеет API.
Что касается облачных вычислений: я большой поклонник, и он позволяет вам легче управлять затратами на масштабирование. Однако во многих случаях для решения проблем кластеризации и отработки отказа требуется более быстрое решение. Для таких задач, как пакетный биллинг, который может выполняться через что-то вроде Amazon MapReduce, это не проблема; Вы получаете то, что вам нужно, бросаете это в черный ящик и получаете результат. Для чего-то, что требует непрерывного времени безотказной работы, такого как веб-интерфейс, вы захотите оценить, будет ли дешевле запускать кластер серверов веб-приложений в облаке или просто запустить 1 или 2 блока в управляемом центре обработки данных, таком как The Planet. или Rackspace. Правильный ответ для вас частично зависит от имеющегося у вас опыта и языков / платформ, которые вы используете. Что касается непрерывной работы, вы также можете обратиться к поставщику, например Morph , который будет размещать приложение Rails в облаке.
Пожалуйста, ответьте, если что-то, что я сказал, требует дальнейших разъяснений.