背景:大額訂單支付時,由于涉及金額過多,在達成交易的過程中,代理人擔心客戶事后反悔,不愿意事先墊付這筆錢,希望可以直接讓客戶支付。
需求:開發代付功能,通過分享的方式將支付頁分享給客戶,讓客戶完成最后支付。
以下是對整個需求的分析拆解:
代付即請他人進行支付,淘寶代付做法是選擇要代付的好友/填寫支付寶賬戶,生成付款鏈接,給通過預留的賬號/手機給好友發送付款消息,好友點擊鏈接確認付款后即可完成。這種做法的好處是不必基于申請人的主動分享,由系統直接發送支付鏈接給付款人,弊端是過于繁瑣。
而對代理人而言,與客戶之間通過微信進行溝通是常見的形式,為簡化開發,減少學習成本,因此在整個設計中都是基于微信框架下的代付。整個流程可以簡化為以下三個步驟:
1. 生成訂單
訂單生成時涉及到優惠抵扣的問題,由于零零網的抵扣并未做到生成訂單時自動抵扣,抵扣行為是代理人主動發起的,而且代理人在促成交易時可能會通過降價的形式達成,因此這里沒做限制。在做其他商品和用戶群的代付時,當抵扣行為是系統自動進行的,則需要特別考慮一下該如何處理。
2. 分享給客戶
由于代理人與客戶之間的交易是計提傭金的,因此在生成代付訂單時必須要加上跟蹤,零零網采取的是source鏈接跟蹤,在生成的URL中加入source,通過讀取cookie緩存來記錄訂單歸屬。當然也有一些使用用戶名綁定的形式,由于客戶進行的支付行為是處于未登錄狀態下完成的,所以這種形式并不適合零零網環境下的代付。
3. 客戶支付
客戶支付頁面是代付核心的頁面,直接影響著成交率。為避免客戶直接流入零零網而引起代理人不滿,因此這個頁面不允許出現與零零網有關的任何信息,也不允許跳轉到零零網的其他頁面。這種情況下共用零零網的支付頁和支付完成頁顯得比較費力,重新為代付打造一套支付和支付完成頁顯得更安全可靠一些。
客戶在支付頁要進行哪些動作呢?
1) 確認訂單信息
2) 支付
確認訂單信息
由于訂單信息涉及到客戶的隱私問題,而代付頁面并沒有限制登錄訪問,因此需要對信息進行加密處理,根據以往經驗,可以采用的信息加密方式有:
1. 對鏈接進行加密,這樣可以確保其他訂單信息不泄露;
2. 限制二次轉發,由于是微信框架下,最新的JS-SDK中提供了隱藏右上角分享和復制鏈接的接口,但是仍無法限制PC端獲取到微信鏈接,因此效果有限;
3. 關鍵信息加****處理,這是最簡單常用的一種;
4. 當然想要確保客戶隱私安全,不顯示關鍵信息是最直接的方式,一般不考慮。
1、2、3并非是互斥的,1、2、3結合起來可以幾乎解決了信息泄露的問題,但是由于3隱藏了關鍵信息,起不到確認訂單的作用,所以最終1、2結合來用比較合適,只有在當使用PC端訪問鏈接,客戶恰好又知道如何在PC端微信中復制鏈接,而又有將鏈接分享出去的欲望時,才有可能造成本條訂單信息泄露,這種情況可暫時不考慮。
支付
由于是基于微信框架下,使用支付寶支付時,會生成一串長鏈,然后提示在瀏覽器中打開支付。但是由于交易涉及傭金計提,而傭金計提的依據是source機制,讓客戶將鏈接復制到瀏覽器中再次訪問時,脫離了原有的框架,無法跟蹤到訂單歸屬,因此只能舍棄支付寶支付。
而微信支付超過一定額度(應該是大于5元)時,微信官方設置成會自動關注商戶,為避免客戶流入零零網,因此在打算做代付時就多申請了一個公眾號和微信支付,這也是為代理人做代付的前提。
當客戶支付完成后,在支付完成頁要考慮兩點:
1. 支付失敗了該怎么顯示
2. 不要出現零零網相關文字及其他頁面入口
頁面之外,是否發送支付提醒短信、支付成功短信/郵件等也要考慮一下,我們為簡化流程,這里均采用不發送的形式。
以上是整個代付需求在落地過程中要考慮的問題。