В последние несколько лет я имел дело с оплатой, черезskr-shopЭтот проект поделится с вами, чтобы изучить, как разработать и сделать платежную систему. Сначала мы анализируем некоторые распространенные процессы оплаты, выявляем общие черты этих платежей, а затем после абстрагирования обсуждаем конкретный дизайн базы данных и структуру кода.
Похожие материалы:
Общий процесс оплаты таков: транзакция инициируется третьему лицу, пользователь завершает платеж через третье лицо, третье лицо сообщает мне, что платеж прошел успешно, и я даю пользователю продукт, приобретенный пользователем.
Этот, казалось бы, простой процесс обрабатывается разными платежными учреждениями по-разному. Ниже приводится краткое описание некоторых платежей, с которыми я столкнулся.
внутренний платеж
Типичными представителями внутренних платежей являются:Alipay,WeChat,банк(В качестве примера возьмем China Merchants Bank), поскольку внутренние платежи поддерживают несколько способов оплаты, для упрощения описания мы будем использовать платеж на ПК в качестве примера для объяснения.
Alipay
Доступ к Alipay, на мой взгляд, самый простой способ оплаты. Для возможности оплаты на ПК Alipay предоставляет [Компьютерный платеж]. После того, как пользователь размещает заказ, торговая система создает URL-адрес в соответствии с правилами Alipay, и пользователь переходит по этому URL-адресу и входит на страницу оплаты Alipay, а затем завершает процесс оплаты.
После успешной оплаты Alipay пройдетСинхронизировать уведомления,Асинхронное уведомлениеЭти два метода информируют торговую систему о том, что платеж прошел успешно, и результаты обоих методов уведомления заслуживают доверия, а задержка сообщения асинхронного уведомления также очень короткая.
Что касается процесса возврата, Alipay поддерживает полный и частичный возврат средств. И он может определить, является ли это одним и тем же возмещением, по номеру заказа продавца на возврат, тем самым избегая возможности повторных возвратов. Возврат платежа возвращается синхронно после вызова и не будет уведомлен асинхронно.
WeChat Pay
WeChat не предоставляет реальных возможностей оплаты с помощью ПК, но мы можем использовать [платеж с помощью скан-кода] для достижения цели оплаты с помощью компьютера. Существует два режима оплаты скан-кодом, и здесь в качестве примера используется режим 2.
WeChat вызывает интерфейс заказа, чтобы получить ссылку на QR-код, а затем пользователь сканирует код, чтобы войти в процесс оплаты. После завершения платежа WeChatАсинхронное уведомление, но нетСинхронизировать уведомления, поэтому интерфейсная страница может только проверять, оплачена ли транзакция путем регулярного обучения ротации до тех пор, пока запрос не будет успешным, или пока пользователь не закроет страницу.
Самая большая разница между процессом возврата и Alipay заключается в том, что существуетАсинхронное уведомлениеДля обработки требуется торговая система.
Первое отличие:
- Интерфейс для асинхронных уведомлений должен обрабатывать множество различных типов асинхронных сообщений.
Торговый Банк Китая
С активным развитием онлайн-платежей в Китае различные банки также постоянно запускают свои собственные возможности онлайн-платежей. Лучшим среди них являетсяТорговый Банк Китая. На Didi есть способ оплаты, которым все часто пользуются, вы можете его испытать.
China Merchants Pay использует банковские карты, поэтому новые пользователи должны привязать карту. Поэтому здесь может быть дополнительный процесс: сначала необходимо зафиксировать, привязал ли пользователь карту, а затем будет меняться публичный ключ, используемый для подписи, который необходимо регулярно обновлять.
The payment experience of all platforms of China Merchants is the same. It will jump to the H5 page of China Merchants Bank to complete the logic. After the payment is successful, it will not automatically jump back to the merchant, that is, there is нетСинхронизировать уведомления, его результат платежа будет проходить только через процесс асинхронного уведомления, и задержка очень короткая.
Процесс возврата аналогичен Alipay, который возвращает результат возврата синхронно без асинхронного уведомления.
Второе отличие:
- Перед оплатой необходимо проверить подписал ли пользователь договор, и идет ли процесс подписания
резюме
Внутренний процесс онлайн-платежей относительно завершен, и к нему очень легко получить доступ. Следует отметить, что заказ, оплаченный ранее, после возврата все еще находится в статусе успешной оплаты и не станет статусом возврата. Потому что возвраты и платежи - это разные операции.
Это в основном обычная практика для внутренних онлайн-платежей.
международный платеж
Существует множество международных платежных платформ, в том числе Alipay и WeChat, которые также расширяют этот рынок. Я сделаю краткий обзор нескольких платежных компаний, с которыми я связался.
WorldPay
Это относительно известная международная платежная компания, в основном занимающаяся платежами по банковским картам, базирующаяся в Великобритании.
В процессе оплаты, после построения запрошенного URL в соответствии с правилами, перейдите непосредственно кWorldPayстраницу, завершите оплату кредитной картой. Более трудный механизм обработки здесь: после успешного платежа первое асинхронное/синхронное уведомление о сообщении, которое он отправляет вам, не может быть использовано в качестве основы для успешного платежа. Настоящее уведомление об успешном проведении платежа будет предоставлено только после того, как банк подтвердит успешность перевода. Также может быть асинхронное уведомление о том, что платежный запрос был отклонен. Самая большая головная боль в том, что временной интервал асинхронных сообщений в разных состояниях рассчитывается по задержке более минуты.
В процессе возврата статус такой же, как в WeChat, и статус возврата необходимо подтвердить с помощью асинхронного сообщения. Во-вторых, он отличается тем, что не может подтвердить, был ли инициирован возврат на основе номера заказа продавца на возврат, поэтому для него, если интерфейс возврата запрашивается один раз, он инициирует возврат по умолчанию.
Третье и четвертое отличия:
- Существуют различные состояния уведомления после успешной оплаты, связанные со специальной обработкой бизнес-процесса системы мерчанта.
- Возврат не поддерживает номер заказа продавца на возврат и не может поддерживать возврат средств против дубликатов. Продавец должен справиться с этим самостоятельно.
Assist
Это платежная компания в России, и это еще и компания, которая убивает людей, не платя за их жизни.
Его инициация платежа заключается в создании формы формы и публикации в ней данных, связанных с платежом. После успеха он перейдет на страницу оплаты, и пользователь сможет завершить платеж. заСинхронизировать уведомления, он требует, чтобы пользователь вручную инициировал переход к продавцу, что очень похоже на логику продвижения инвестиций.Синхронизация является просто возвратом и на самом деле не информирует о результате платежа.Асинхронное уведомлениеЭто настоящее уведомление о статусе платежа. Что более отвратительно, так это то, что информация о продукте в указанном формате должна быть передана при оплате, что будет использоваться при частичном возмещении.
Теперь для возвратов, возвраты также связаны сWorldPayТочно так же номер заказа продавца на возмещение не поддерживается, поэтому аспект антивеса может быть разработан с помощью собственной системы. А если это частичный возврат, то нужно передать указанный товар возврата, что вызовет очень неприятную ситуацию: сумма частичного возврата не соответствует сумме ни одного товара, и возврат не состоится.
Пятое отличие:
- В случае частичного возврата вам необходимо передать информацию о продукте частичного возврата, и сумма должна быть той же
Doku
Далее поговорим об этом платежном учреждении в Индонезии.doku. Поскольку популярность кредитных карт в стране Индонезии невелика, ее онлайн-оплата обеспечивает способ оплаты суперпродавцом.
Что такое Super Merchant Payment? То есть после того, как пользователь совершит заказ в Интернете, он получит QR-код или штрих-код. Пользователь берет этот штрих-код в супермаркет (711, вся семья и т. д.), сканирует код через кассу, платит наличными в супермаркет и завершает процесс оплаты.
Проблема, которую приносит этот метод, заключается в том, что пользователь долго не платит, что приводит к оплате после закрытия заказа с течением времени. Это наносит большой ущерб всему бизнес-процессу и пользовательскому опыту.
Поговорим о возврате.В связи с существованием способа оплаты супермаркетов, этот вид оплаты не может поддерживать автоматические возвраты онлайн.Необходимо вручную собрать данные банковской карты пользователя, а затем выполнить операцию перевода. Очень болезненный.
Шестое отличие:
- Нет онлайн-платежей, получается только код платежа, а возврат должен осуществляться вручную.
AmazonPay
Произведено Amazon, очень похоже на Alipay. Предусмотрен интегрированный процесс кошелька.
При оплате создайте URL-адрес напрямую, а затем перейдите на Amazon, чтобы завершить платеж. Он также предоставляет режим авторизации, который может завершить платеж на стороне продавца, не переходя на Amazon.
После успешной оплаты он также будет прыгать синхронно.Синхронизировать уведомленияСодержимое можно использовать в качестве основы для оценки успешности платежа. Практический осмотрАсинхронное уведомлениеПрибытие будет немного задержано, около 10 секунд.
Возврат Возврат также поддерживает предприятия, которые полагаются на этот единственный номер, может быть анти-повтор. Но возврат основан на асинхронном состоянии.
Суммировать
Существуют также некоторые международные платежи, такие как:PayPal,GooglePay,PayTMДругие известные платежные учреждения не представлены, поскольку их основные процессы также входят в указанную выше модель. Наш последующий дизайн структуры кода и дизайн базы данных основаны на удовлетворении различных моделей оплаты, описанных выше.
Напоследок дам всем мозговую карту — это список проблем, которые необходимо уточнить при подключении к платежной компании.
Следующее уведомление: "Платежная база данных и дизайн структуры кода"
Вот некоторые бизнес-дизайны, над которыми наши маленькие друзья думали в свободное время.Если в письме есть какие-либо ошибки или несовершенства, я надеюсь, что вы будете комментировать больше, учиться друг у друга и улучшать друг друга~
адрес проекта:GitHub.com/payee-shop/лошадь…
Краткое представление участников проекта skr-shop
В произвольном порядке, в лексикографическом порядке
Никнейм | Введение | личный блог |
---|---|---|
AStraw | Дипломированный предприниматель, в настоящее время занимается внутренними исследованиями и разработками торгового центра в Xiaomi Technology Overseas Mall Group. | -------- |
Dayu | Платный автор с открытым исходным кодом, серверный разработчик | dayutalk.cn |
lwhcv | Работал в Baidu/Rong 360, а сейчас занимается внутренними исследованиями и разработками торгового центра в Xiaomi Technology Overseas Mall Group. | -------- |
TIGERB | Автор PHP-фреймворка EasyPHP, имеет опыт работы в A/B/C раундах стартапов электронной коммерции, в настоящее время занимается внутренними исследованиями и разработками торгового центра в Xiaomi Technology Overseas Mall Group. | TIGERB.cn |