управление запасом электронной коммерции с внешним платежным шлюзом

Единственная другая библиотека, о которой я знаю, pyAmazon, который является предшественником pyaws. Если Вы знакомы с Amazon API (или готовы стать так), Вы могли, вероятно, соединить что-то сами с ZSI.

8
задан Community 23 May 2017 в 12:04
поделиться

4 ответа

Как насчет более социального решения вместо технического? Почему бы не сделать абсолютно очевидным, что билет будет разблокирован, если вы будете слишком долго ждать?

1
ответ дан 5 December 2019 в 17:38
поделиться

Все платежные шлюзы будут выполнять обратную передачу, чтобы сообщить вам (например) ссылку на платеж и т. Д. Большинство также отправит обратно информацию об авторизации / аутентификации, такую ​​как результаты проверки CSC / CVV2, чтобы вы ( продавец) имеет последнее слово в принятии платежа или нет.

При получении обратной передачи вы должны иметь возможность проверить, заблокирован ли билет, и, если нет, то произвести отмену платежа через платежный шлюз для отмены платежа. Затем вам нужно отобразить сообщение «извините, истекло время ожидания, попробуйте еще раз»

. Если шлюз не поддерживает функцию стиля «мгновенного реверсирования», то он, по крайней мере, будет поддерживать некоторую «недействительную» функциональность, при которой средства никогда не будут фактически снято с карты клиента, и блокировка авторизации автоматически отключается (обычно через два дня, хотя на некоторых картах это может занять больше времени). Для (надеюсь, небольшого) количества транзакций с тайм-аутом это может быть приемлемо. Было бы целесообразно отслеживать, сколько времени ожидания транзакций, чтобы время ожидания можно было отрегулировать.

В качестве альтернативы, если билет больше не заблокирован (и снова, если шлюз поддерживает это), отправьте обратно платеж возврата.

6
ответ дан 5 December 2019 в 17:38
поделиться

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

Paypal и многие другие процессоры имеют прямой путь интеграции веб-сервисов. Это означает, что вы собираете платежную информацию на своей странице, она отправляется на ваш сервер, вы делаете вызов веб-службы и получаете немедленный ответ от процессора. (Я не помню, как PayPal называет продукт, который это делает, но раньше он назывался PayFlow Pro и был куплен у Verisign.)

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

  1. Сбор информации о платеже.
  2. После отправки информации о платеже на ваш сервер: но раньше он назывался PayFlow Pro и был куплен у Verisign.)

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

    1. Сбор информации о платеже.
    2. После отправки информации о платеже на ваш сервер: но раньше он назывался PayFlow Pro и был куплен у Verisign.)

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

      1. Сбор информации о платеже.
      2. После отправки информации о платеже на ваш сервер: а. Попробуйте заблокировать билеты - возврат невозможен, если нет в наличии б. При успешной блокировке авторизация процесса
      3. При успешной авторизации билеты удаляются из доступного пула.
      4. При неудачной авторизации или ошибке билеты разблокируются и становятся доступными для других пользователей.

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

      Вы не спрашивали о решении проблемы, одновременно предотвращая раскрытие PCI. Поскольку вы, вероятно, спросите:

      Существуют процессоры, которые позволяют встроить сбор информации о платеже на вашу собственную страницу. Есть такие, которые позволяют получить «жетон» для замены номера карты, чтобы ваш сервер никогда не получал номер карты. Затем токен можно использовать при вызове веб-службы на стороне сервера. Вы получаете то, что вам нужно, и вам не нужно решать проблемы PCI, связанные с получением номеров карт.

2
ответ дан 5 December 2019 в 17:38
поделиться

Я думаю, вам не следует блокировать билет, если кто-то кладет его в свою тележку, как в те 5 минут. вы можете в конечном итоге отогнать нескольких других клиентов ...

Я предлагаю вам разрешить каждому добавить билет в свою корзину, если только кто-то на самом деле не произведет оплату и не купит его. Теперь, когда другие продолжат оформление заказа, просто высветите сообщение «Извините, вы опоздали ... Билет продан !!!» и билет должен быть удален из их корзины.

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

1
ответ дан 5 December 2019 в 17:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: