написание онлайн-системы обработки платежей - PullRequest
2 голосов
/ 28 августа 2009

Нас попросили создать онлайн-систему обработки платежей, такую ​​как Paypal, для нашего национального использования.

существует ли версия с открытым исходным кодом? (чтобы я мог его изучить и, возможно, улучшить)

есть ли какие-нибудь книги / ресурсы / материалы, которые могут быть полезны?

Как я могу взять на себя такую ​​огромную задачу?

Ответы [ 4 ]

1 голос
/ 28 августа 2009

Ну, во-первых, вам необходимо иметь твердые знания о том, как ваша страна обращается с деньгами с точки зрения законов (НДС, возврат средств и т. Д.), Так что это может помочь, если вы сообщите нам об этом.

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

Это действительно широкий вопрос, я бы посоветовал вам прочитать все записи в Википедии о PayPal и других системах обработки, а затем объяснить свою конкретную проблему чуть более подробно (хотя вы, возможно, захотите сохранить некоторые вещи в секрете, поскольку это общедоступный веб-сайт).

1 голос
/ 28 августа 2009

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

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

Для начала просто спроектируйте систему, используя что-то вроде Payflow, чтобы выполнить фактическую обработку.

После того, как вы приступили к работе и приняли стандарты PCI для защиты данных кредитных карт, вы можете, возможно, попытаться свернуть свой платежный шлюз и сделать это самостоятельно, но это должно произойти, только если определите, что вы обрабатываете объем, достаточный для дополнительных затрат на разработку и ресурсы, чтобы сделать это самостоятельно.

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

http://www.allbusiness.com/sales/internet-e-commerce-securelectronic-transaction/2310-1.html

0 голосов
/ 28 августа 2009

+ 1 каждому @James Black и @eyze за ответы. Это не мелкое обязательство, и если вы не работаете в компании, которая каким-либо образом связана с сетью обработки кредитов, у вас много работы и много проблем с соблюдением нормативных требований. Их ответы были достаточно хороши, и мне нечего добавить, но я бы хотел добавить это.

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

Также, чтобы ответить на ваши конкретные вопросы:

  • Я не верю, что существует что-либо с открытым исходным кодом. Магистраль, на которой выполняется обработка кредитных карт, является настолько чувствительной и такой целью для злоумышленников, что существует реальная необходимость ограничить знания о том, как обрабатывать карты на основе необходимости знать. (Я потерял счет количества соглашений о неразглашении, которые мне представили только для исследования идеи.)

  • По той же причине, я сомневаюсь, что вы найдете много на пути книг и т. Д.

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

0 голосов
/ 28 августа 2009

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

Хитрость в решении любой большой проблемы состоит в том, чтобы разбить ее на маленькие проблемы.

Так сделай это.

  • Напиши, что нужно делать на бумаге,
  • рисовать картинки,
  • найдите все отдельные элементы функциональности, которые вам нужны, нарисуйте экраны того, как это будет выглядеть,
  • обсудить опыт пользователя,
  • разбить вещи на модули
  • приступаю к работе, пишу это

Вы также можете подумать о том, чтобы протестировать его и убедиться, что он предоставляет все необходимые вам функции.

Как только вы начинаете думать о проблеме с карандашом и бумагой в руке, это становится очень легко, ИМХО:)

...