新聞發布
管理系統網站開發過程中關于微信掃碼支付模式一和模式二提供了兩種不同的能力,適用于不同的場景,看商戶具體的需求。通俗的說,其實就是線下支付和線上支付連各種模式:
模式1-生成訂單也就是線下支付
這種模式是商戶自己為商品生成鏈接二維碼,顧客通過掃描商品二維碼得到商品詳細信息并選擇是否確認購買;
場景說明:
線下:因為一張二維碼可重復應用于多人,不會過期,所以多用于線下,(所以只要為某一種商品貼上一個二維碼,用于掃描該二維碼完成支付就可以帶走一件該類商品了),
tip:還未買,可應用于多人,每個人都還沒生成訂單,每個人掃描二維碼時才會生成系統內部訂單,以及微信預支付訂單prepay_id,后續的步驟和公眾號內支付類同。。。
線上:還可以應用于線上,只不過,相比較模式二,流程較長,會耗時較長影響用戶體驗。。。,如果非要應用于線上的話,因為線上的系統內部訂單是預先生成好的,
所以二維碼地址參數中要攜帶預先生成好的訂單,如可以給product_id賦予內部訂單號,
模式2-用戶支付—也就是線上支付
這種模式是顧客在線選好商品選擇調用微信支付,商戶平臺給予相應,完成購買動作。兩種模式,在支付的流程中,有一定的共同的流程:
場景說明:
因為二維碼有效期和應用人數限制,所以多應用于線上(線上訂單生成時間是確定的,而2個小時足夠支付完成了,還有就是一張二維碼只能用于一個人,因為
二維碼種包含了prepay_id等預支付信息,而每個預支付訂單只能由一個人支付完成,重復對一個prepay_id支付,會提示訂單已經支付,所以只能應用于一個人)
說明:
1、一對一的模式,和公眾號支付類同,預先生成了系統內部訂單,只有一個人能支付成功哦,因為不知道是誰會掃碼,所以openid不需要傳了
2、用戶提交系統內部訂單,然后根據模式二生成二維碼,掃碼完成后再支付(不一定要掃碼,如果是移動端,可以直接通過a鏈接打開),不適用于多人掃一張,因為只能有一個人付款成功。。。
3、還有一種場景是預先生成訂單,誰先付款,誰得到,后期再根據openid識別誰搶到了。。。1分錢秒殺活動開始 start...
兩種模式差別在于:
模式一,先掃碼,再生成訂單。
模式二,先生成訂單,再掃碼。
而 生成訂單,代表著 本次支付給商戶的金額是否是已經確定了。
在模式一中,用戶掃描的二維碼,此時可以還沒有確定實際要支付的金額。
在模式二中,用戶掃描的二維碼,金額已經是確定的。
可以這么理解,模式一中的二維碼,是商品的二維碼。
模式二中的二維碼,是 訂單的二維碼,也因為這個是訂單的二維碼,所以必須要有時效性。
那么這兩個場景的玩法,可以有一個明顯的差別,
模式一,更適合無人職守的自動售賣機。所有的商品都有一個固定的二維碼,價格相對穩定,當用戶使用微信支付掃描了二維碼,微信再請求自動售賣機的服務提供商的 后臺接口,注意,這個請求中,是包含了商品ID以及用戶信息的,這樣,商戶系統就可以根據 商品ID,以及用戶的身份,再來確定用戶實際要支付的金額。
模式二,更適合有人職守的,支付金額非常不確定的場合。比如,你去飯館吃飯,雖然每個菜的金額是固定的,但一桌子飯菜的金額不固定,甚至是你還可能使用飯館事先發放的代金券。這個時候,就需要收銀員,預先創建一個訂單,確定好金額,然后你再來掃描這個二維碼來支付。
當然,用模式二來實現無人值守的自動售賣機,也是可以的。只是這個自動售賣機的就要多承擔一些交互以及業務邏輯,在生成二維碼之前,創建訂單。