聊聊小程序打賞的事
先扯扯微信打賞的一些事
話說,在這之前,ios裡公眾號文章是支持打賞功能的。

但後來蘋果爸爸強迫微信爸爸下架了這個打賞功能(android微信下還能用),想必這事讓好多自媒體的收入下降了不少,不過微信官方還是提供了一個替代方案:在IOS裡,文章底部放個收款二維碼。
雖說這確實解決了燃眉之急,但這體驗卻不大一樣了,畢竟轉賬是轉賬,打賞是打賞,目的都是送錢,但體驗和感覺卻不一樣。 (花叔表示打賞是情懷!是情懷!轉賬是什麼鬼!)
這是公眾號打賞的一個小事情。
有同學看到這裡,可能就問了,你幹嘛說公眾號的事!你不是要說小程序的打賞麼!
所以接下來,花叔要提一下同一時期發生的一個事情,正當大家目光被“蘋果爸爸懟微信打賞”這事吸引時,市面上出現了一個叫“群應用”的小程序,這個小程序很特別,竟然能實現打賞功能:

這小程序是花叔的一個叫楊芳賢的微信好友做的,不得不佩服芳賢,因為這應該算是首批鮮有支持打賞的小程序中的一個,能想到這個打賞方案,確實也是牛!
當時各種公眾號也寫了關於這個“小程序打賞”的介紹。
然而好像沒有哪篇文章說過這是怎麼實現的,花叔今天嘗試分析一下,大家先耐心看看,我後面還會引出另一個更神奇的玩法。
“小程序打賞”的實現邏輯
打賞也是交易行為,存在“付款”和“到賬”的行為。在小程序裡,只通過自身的“小程序支付”的API是實現不了整個過程的,它只能實現“付款”操作;而“到賬”操作是通過“企業付款”的方式來實現的,在https:// pay.weixin.qq.com/wiki/ doc/api/index.html上均有這兩種方式的介紹:

可能這麼說大家不大懂,花叔舉個栗子:
在上述小程序打賞的技術方案裡,用戶A打賞了用戶B,技術層面到底發生了什麼呢?

概況起來是這樣的:
1、用戶A首先在小程序裡喚起“微信支付”的技術接口,通過這個接口把錢先付給該小程序企業的對公賬戶
2、然後小程序記錄用戶A的付款數值,同時用戶B的錢包裡就累加一筆到款金額(所以小程序必須具備一個錢包功能)
3、而用戶B要提現的時候,小程序後台就會調起“企業付款”的API接口,以用戶指定的金額付款給用戶的“微信零錢”
說到這裡,大家應該大概知道這原理的大概了,這裡面是有一個“中間商”的,而“中間商”還可以抽佣,所以現在部分具備同樣打賞邏輯的小程序,會在用戶提現的時候抽取1%左右的手續費,而且在用戶提現前,錢都在“中間商”的賬號裡。
打賞和提現不可能做到同步,所以一定存在一個不動的資金池,所以越多人打賞,閒置的資金就越多,至於企業能拿這個錢做什麼?呵呵呵,花叔就不細說了。
說完這個,本文要結束了。
騙你的( ゚∀゚) ノ
接下來結合小程序別的一些特性,會發生一些神奇的事情:
第一,借助第三方打賞小程序,ios側公眾號文章將可以變相實現原本的打賞交互。
怎麼說?
早在《解讀最新小程序跳轉方式,請叫我預言花》一文中,花叔提及過公眾號文章跳轉小程序的新方案

裡面提到了“文字鏈接”和“圖片鏈接”的小程序跳轉方式,那麼奇特的事情出現了。
假設市面出現那麼一個第三方的、專門用來打賞的小程序,當它跟公眾號互相綁定後,公眾號的文章中將可添加一個圖片來模擬“讚賞”按鈕,然後點擊可跳轉到一個能實現打賞的小程序內頁,比如:

借助於這種方式,你能讓你的公眾號文章在ios裡變相實現原本的“打賞”體驗。
第二,個人開發者小程序或者沒有“打賞”功能開發能力的企業小程序,借助第三方打賞小程序,將可變相具備這個“打賞”能力。
這個又怎麼說呢?
同樣在花叔早前撰寫的《火速體驗了一下小程序互跳功能》一文裡提到,只要兩個小程序綁定了同一個公眾號,那麼這兩個小程序將可實現小程序內頁裡的互相跳轉。
在這之前,有個問題一直困擾著個人開發者,那就是個人開發的小程序沒法調起微信支付接口(沒權限),花叔還專門請教了微信官方的同學,對方明確表示暫沒有讓個人小程序具備這個權限的打算,也就是說個人小程序沒法做打賞功能。
但結合“互跳API”以及上述的打賞小程序,困擾已久的個人開發者小程序沒法被打賞的問題,就可以解決了。

具體思路也簡單,有點類似第一點說的套路,這裡就不演示了。
遺憾的事,這種方式依然需要您的小程序跟打賞用的第三方小程序綁定同樣的公眾號。 。 。
如果對方不願意綁定,那個人開發者小程序是不是就沒法直接在小程序內頁進行打賞了呢?
也不是的,要知道小程序內長按識別菊花碼是可以跳轉到任意其他小程序的,而這種做法並不會被限制。也就是說,理論上在一個小程序裡,通過菊花碼識別的方式能跳轉到任意一個別的小程序,從而可實現打賞,以“Nodes小程序”為例:

當然這種方式肯定沒有直接“點擊某個按鈕或者某個圖片”跳轉到打賞小程序的方式快捷和方便,但起碼也能解決打賞問題了。
要知道,以往要實現用戶對Nodes的打賞,花叔只能提供一個小程序內沒法識別的二維碼圖片,然後提示用戶進行保存,然後再想辦法去識別,這種反人類的交互,基本沒啥用戶會去做。
好了,這回真的是說完了。