Java生鮮電商平臺-電商支付流程架構實戰

Java生鮮電商平臺-電商支付流程架構實戰

?

說明:我一直秉承的就是接地氣的業務架構實戰。我的文章都有一個這樣的核心。

1. 業務場景

2. 解決問題。

3.代碼實現。

4.代碼重構。

5.總結與復盤。

6.缺點與防范

?

一、場景描述

想必大家都曾遇到過這個問題,在電商購物的過程中,已經走到了最后一步:去支付。這個時候突然意識到商品數量不對,或者收貨信息選錯。

除此之外,用戶還存在之下返回的原因:

誤點擊,也就是說用戶還是想買的;

猶豫中點了返回,想買的欲望不是十分堅決;

堅決不買了。

二、可選方案

(1)目前幾乎所有主流電商平臺,在支付頁面點擊返回跳轉到訂單的待支付頁面。

?

?

(2)有一部分微商城,依然原路徑返回,不過依然生成了待支付訂單。

?

(3)原路返回,也不生成待支付訂單,不過作者目前并沒有找到此類型的案例。

?

三、為什么要有「待付款」狀態

1. 庫存計算

在電商系統中,前端頁面顯示的庫存與倉庫的實體庫存是不同步的,因而在商品出倉前要求前端的庫存進行「鎖定」即前端的減庫存。

關于庫存的鎖定,電商領域存在有兩種方案:

一種是拍下減庫存即生成訂單(待付款)減庫存,故此方案繞不過「待支付」;

一種是支付成功減庫存。

拍下減庫存存在的問題:

用戶可能拍下不買,不乏存在有用戶把拍下當收藏夾用,以致占用庫存,影響平臺的交易量。甚至存在更為極端的「惡拍」漏洞,競爭對手會把商品所有庫存全都拍掉,也不付錢,平臺的商品就全部被下架了。

支付成功減庫存存在的問題:

支付成功減庫存會碰到最嚴重的問題,是「超賣」。因為系統在付款成功之前,都不減庫存,所以總是會發生“短時間很多人都拍下,甚至都付錢了,但是系統卻發現庫存不夠了”。

買家拍下商品后,從提交付款到付款成功的之間是有時間差的,因為付款的動作是在幾個不同的系統之間傳信息。因此最后一件商品可能被多人拍下,這幾個人都可能付款成功。

淘寶的做法是把何時減庫存的決定權交給賣家,然后告知賣家兩個方案各自適應的場景。

2. 提高轉化

電商是通過交易驅動的產品類型,因此訂單的每一步都要考慮轉化率,提高轉化率是電商的基礎要求。

用戶在電商下單,大多都是會進行一番思考的,畢竟支付寶里的錢也不是河水流過來的。用戶在支付前總會有種種原因擱置付款,一般待支付訂單的有效時間為24小時以內,在這段有效時間內平臺就像一名促銷員一樣,告知你有未付款的訂單。

四、確定解決方案

結果是幾乎所有的電商都采用了從支付頁面返回跳轉至待支付的方案。

從用戶角度來考量:退回去修改信息(收貨信息、商品信息)一定是用戶真實存在的訴求。

在商家的角度:提高訂單的成交率,是第一要務。這個時候最好的辦法就是利用數據工具,做埋點和統計,根據各種情況出現的概率做出相應的決策。

?

?五:代碼方面

? ? ? ?QQ群

轉載于:https://www.cnblogs.com/jurendage/p/11291367.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247287.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247287.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247287.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue3.0 AntDesignVue2.0 table的rowkey報錯問題解決方法

Warning: [antdv: Each record in table should have a unique key prop,or set rowKey to an unique primary key.] Warning: [antdv: Table] Each record in dataSource of table should have a unique key prop, or set rowKey of Table to an unique primary key 提示因為…

模式識別掃盲

模式識別是對表征事物或現象的各種形式的信息進行處理和分析,以對事物或現象進行描述、辨認、分類和解釋的過程,是信息科學和人工智能的重要組成部分。英文“Pattern”源于法文“Patron”,本來是指可作為大家典范的理想的人,或用以…

vue2項目使用codemirror插件實現代碼編輯器功能

1、使用npm安裝依賴 npm install --save codemirror 2、在頁面中放入如下代碼 <template><textarea ref"mycode" class"codesql" v-model"code" style"height:200px;width:600px;"></textarea> </template>…

CentOS 6.5系統安裝配置LAMP(Apache+PHP5+MySQL)服務器環境

安裝篇&#xff1a; 一、安裝Apache yum install httpd #根據提示&#xff0c;輸入Y安裝即可成功安裝 /etc/init.d/httpd start#啟動Apache 備注&#xff1a;Apache啟動之后會提示錯誤&#xff1a; 正在啟動 httpd:httpd: Could not reliably determine the servers fully qual…

前端有用的庫

HTML awesome-html5 精選的HTML5資源精選清單 CSS tailwindcss 與Tailwind CSS相關的很棒的事情awesome-css-frameworks 很棒的CSS框架列表awesome-css-cn CSS 資源大全中文版&#xff0c;內容包括&#xff1a;CSS預處理器、框架、CSS結構、代碼風格指南、命名習慣等等awesom…

計算機視覺牛人(轉載)(最早在自動化所論壇上發現的)

paper畢竟是死的, 寫paper的人才是活的. 那么我現在研究一下cv圈的格局, 按師承關系, 借鑒前人, 我總結a tree stucture of cv guys.David Marr----->Shimon Ullman (Weizmann) ----->Eric Grimson (MIT)----->Daniel Huttenlocher (Cornell)----->Pedro Felzenszw…

Java生鮮電商平臺-促銷系統的架構設計與源碼解析

Java生鮮電商平臺-促銷系統的架構設計與源碼解析 說明&#xff1a;本文重點講解現在流行的促銷方案以及源碼解析,讓大家對促銷&#xff0c;納新有一個深入的了解與學習過程. 促銷系統是電商系統另外一個比較大&#xff0c;也是比較復雜的系統&#xff0c;作為一個賣貨的&#x…

vue3中websocket用法

1.0 認識 websocket #1.0.1 什么是 websocket 和 http 協議類似&#xff0c;websocket 也是是一個網絡通信協議&#xff0c;是用來滿足前后端數據通信的。 #1.0.2 websocket 相比于 HTTP 的優勢 HTTP 協議&#xff1a;客戶端與服務器建立通信連接之后&#xff0c;服務器端只…

介紹幾個醫學圖像處理會議

Information Processing in Medical Imaging &#xff0c; IPMI &#xff0c;醫學圖像處理最頂級的會議&#xff0c;兩年召開一次&#xff0c;全球大概入選 50 篇左右&#xff0c;一個非常小圈子的會&#xff0c;據說通常是關在一個偏僻的地方開一周&#xff0c;會議口頭報告提…

python翻譯

translator.py # -*- coding: utf-8 -*- # author: inspurer(月小水長) # pc_type lenovo # create_time: 2019/4/6 15:44 # file_name: translator.py # github https://github.com/inspurer # qq郵箱 2391527690qq.co…

promise并發

一、Pomise.all的使用 Promise.all可以將多個Promise實例包裝成一個新的Promise實例。同時&#xff0c;成功和失敗的返回值是不同的&#xff0c;成功的時候返回的是一個結果數組&#xff0c;而失敗的時候則返回最先被reject失敗狀態的值。 let p1 new Promise((resolve, rej…

計算機視覺方面的三大國際會議是ICCV, CVPR和ECCV

ICCV的全稱是International Comference on Computer Vision&#xff0c;正如很多和他一樣的名字的會議一行&#xff0c;這樣最樸實的名字的會議&#xff0c;通常也是這方面最nb的會議。ICCV兩年一次&#xff0c;與ECCV正好錯開&#xff0c;是公認的三個會議中級別最高的。它的舉…

Scanner類+Random

引用數據類型的使用 數據類型 變量名 new 數據類型(); 變量名.方法名(); import java.util.Scanner; publicclass ScannerDemo01 { publicstaticvoid main(String[] args) { //創建Scanner引用類型的變量 Scanner sc new Scanner(System.in); //獲取數字 System.out.print…

手寫vue2的Lazyload

調用方式&#xff0c;express寫個后臺服務調圖片&#xff0c;具體使用不貼了 import VueLazyload from "./modules/vue-lazyload";Vue.use(VueLazyload,{loading: http://localhost:3000/images/loading.gif,error: http://localhost:3000/images/error.jpg,preload…

nature,science上關于計算機視覺的一些原創文獻

真正原始創新是怎么樣的&#xff1f;希望這些列表對做視覺研究的朋友有些啟發&#xff0c;希望大家能幫我補充一些&#xff0c;謝謝。轉載請注明http://hi.baidu.com/daren007或者http://www.sciencenet.cn/blog/王中任.htm。1、D. Marr; T. Poggio.Cooperative Computation of…

webpack入門進階調優第一章

1.1何為Webpack webpack是開源的JS模塊打包工具 核心功能是解決模塊之間的依賴&#xff0c;吧哥哥模塊按照特定的規則和順序組織在一起&#xff0c;最終合并為一個JS文件。這個過程叫模塊打包 1.2為何需要Webpack 1.2.1何為模塊 在設計程序結構時&#xff0c;更好的組織方…

python類的空間問題及類之間的關系

類的空間問題及類之間的關系 類的空間問題 1.何處可以添加對象屬性 class A:def __init__(self,name):self.name namedef func(self,sex):self.sex sexobj A("alex") obj.age 18 # 通過__init__方法添加 print(obj.__dict__) obj1 A("wusir") obj.fun…

計算機視覺應關注的資源

來自美國帝騰大學的鏈接。 Camera Calibration Links to toolboxes (mostly MATLAB) for camera calibration. Paul Debevec. Modeling and Rendering Architecture from Photographs. Marc Pollefeys, Tutorial on 3D Modeling from Images,, ECCV 2000, Available here: not…

Angular 內容投影 II

內容投影是一種模式,你可以在其中插入或投影要在另一個組件中使用的內容。 簡單來說,angular的內容投影就相當于vue的內容插槽slot。所有一下就能懂了。 1、單插槽內容投影 單插槽內容投影是指創建一個組件,你可以在其中投影一個組件。如果只有一個ng-content,不需要sel…

麻省理工學生發明 震驚世界

核心提示&#xff1a;在普拉納夫看來&#xff0c;數字信息以像素的形式被限制在顯示屏幕之中。他發明的"第六感裝置"震驚全場&#xff0c;讓世界為之驚嘆。 MIT(麻省理工)印度裔學生Prarnav Mistry的天才發明:“第六感裝置” 視頻地址&#xff1a;http://v.youku.com…