一些記錄關於 paddle subscription

# side_project

這次會碰到這個因爲之前提到 淬鍊我的pomodoro side project 進行下個階段,當前在加入 subscription 機制中,關於這方面的選擇其實不少,比如像是 stripe 應該是蠻多人第一選擇,但是他目前沒支援出金臺灣,你必須用一些方式,就是繞路的方式出金到臺灣

爲了避免一些意外,畢竟這種方式很有可能隨著時間平臺突然取消合作支援的,最後我是選擇 paddle subscription,他有支援直接出金到臺灣,加上對於 subscription 支援也是不錯~ 說到底具體上這個功能我也只是做好玩的,畢竟我沒有特地針對 monetization 的部分設計產品,那不是我的初衷,只是期望如果到時候開始把這個 side project 發佈給其他人使用後,有人覺得不錯用的話,可以請我喝個咖啡,給個鼓勵!

來講一些 paddle subscription 的設置吧

其實官方文檔就講得不錯了 https://developer.paddle.com/build/onboarding/overview 基本上他的 overview 就是全部該做的事情了! 你可以先到 sandbox 環境(https://sandbox-vendors.paddle.com/onboarding/get-started )申請帳號,測試接 API。

第一步建立你的產品

/img/%E4%BE%86%E8%AC%9B%E4%B8%80%E4%BA%9B_paddle_subscription_%E7%9A%84%E8%A8%AD%E7%BD%AE/2025-03-13_12-04-37_screenshot.png

接著建立價格選項

/img/%E4%BE%86%E8%AC%9B%E4%B8%80%E4%BA%9B_paddle_subscription_%E7%9A%84%E8%A8%AD%E7%BD%AE/2025-03-13_12-05-19_screenshot.png

反正是測試環境隨便你怎玩不用怕~

建立完後,再來下一步就是要建立你的產品前端頁面

這邊需要注意的是目前paddle subscription是用web的方式,所以像我的 side project 用 flutter 寫的話,就必須要用 webview 來開起相關頁面,執行subscription的checkout! 關於前端頁面需要注意事項,文檔(https://developer.paddle.com/build/checkout/build-pricing-page )說明的滿夠的,應該引入的library或是產生前端SDK用的 token 都有說明

/img/%E4%BE%86%E8%AC%9B%E4%B8%80%E4%BA%9B_paddle_subscription_%E7%9A%84%E8%A8%AD%E7%BD%AE/2025-03-13_12-12-23_screenshot.png

提醒如果你想要用 AI 工具幫你產生頁面的,可能要注意一下他用的 sdk 版本,因爲 paddle 最近才更新,你有不小機率 AI 是給你舊版的是用方式,自己斟酌一下。

在測試之前還需要設定 checkout

https://developer.paddle.com/build/onboarding/overview#checkout

/img/%E4%BE%86%E8%AC%9B%E4%B8%80%E4%BA%9B_paddle_subscription_%E7%9A%84%E8%A8%AD%E7%BD%AE/2025-03-13_12-36-14_screenshot.png

由於是測試環境,這邊的 default payment link,他是允許使用loclahost的! 如果是正式環境,你必須提交網站等候審查! 設定完後,可以測試一下,另外官方這邊有提供測試用信用卡 https://developer.paddle.com/concepts/payment-methods/credit-debit-card#test-payment-method

建立 notification 跟 串接 webhoook

這方面如果你只是想要先簡單測試,懶得做一個對外域名的server,你是可以用官方文檔提到的這個服務 https://console.hookdeck.com/ 來看一下收到的 webhook 內容,另外其實它也支援把收到的內容弄到 localhost server, 只不過這邊我不是用這個方法,因爲我自己有域名了,所以用了另外一個方式,我是用 cloudflare tunnel(https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/local-management/create-local-tunnel/

設定就不多說了,設定完後,可以執行下面指令,到時候 webhook 設定的 url 就可以用 [cname].yourdomain.com 了

cloudflared tunnel route dns shadow [cname].yourdomain.com

執行 tunnel

cloudflared tunnel run <UUID or NAME>

你甚至也可以考慮用 ngrok,自己挑喜歡的方式~ 最後關於要監聽的 event,我是選擇下面這些events,因爲其它的我好像也用不到

/img/%E4%BE%86%E8%AC%9B%E4%B8%80%E4%BA%9B_paddle_subscription_%E7%9A%84%E8%A8%AD%E7%BD%AE/2025-03-13_12-48-55_screenshot.png

剩下就是實作監聽 webhook 後實作對應的邏輯

前面建立 notification 裡面的 secret key,就是你的 server 收到後,需要做驗證用的 (https://developer.paddle.com/webhooks/signature-verification), 這邊好像就沒有什麼要注意的了,基本上都是你的業務邏輯爲主的部分。還有 cancel subscription 的部分,可以看 API文檔(https://developer.paddle.com/api-reference/subscriptions/cancel-subscription)。

往正式環境邁進

基本上正式環境你是需要經過網站認證的! 如同下面這個頁面的流程。

/img/%E5%BE%80%E6%AD%A3%E5%BC%8F%E7%92%B0%E5%A2%83%E9%82%81%E9%80%B2/2025-03-13_13-31-47_screenshot.png

也就是說你必須有個網站是介紹你的產品,整體流程大概三天左右完成吧,不過 paddle 客服,假日好像都不會理你,這要注意一下,客服方面也不是24小時,看起來就是他們上班才會處理~ 總覺得怎麼國外公司這麼勞工友善啊!! 如果是臺灣感覺就會被老闆或是管理層噴爆 lol 離題了~轉回來一下。

這邊其實我的 application 是還沒全部功能開發完的,也就是說他們是不會檢查你的產品是不是已經到可以上線程度的,但是你在信件中可能要先跟他講你的產品狀況,我個人是有說明的這部分的,另外我沒特別提到預計何時上線~ 給各位參考一下。

未來

接下來就是先把我的 side project 第一版的功能都做完吧,暫時不想要多做什麼額外功能了,因爲仔細想想先來體驗發佈產品後的回饋似乎也是不錯,不是說爲了賺錢,而是對於我這個 side project 帶來的體驗是不是有什麼地方可以改良,要不然這樣下去,它的地位是僅限於我個人心流體驗的昇華,當然我也是可以一直讓它這樣 獨自提升個人體驗 ,但是有句先人的智慧是這樣講的, 獨學而無友,則孤陋而寡聞 ,或許別人有什麼不錯的想法,可以讓這個 side project 更進化也說不定, 我可能太拘泥於 完成 裡面提到的完美主義了,不一定要等到一切完善才發佈~ 這方面我還需要多掌握拿捏!

If you like my content,

feel free to buy me a coffee

Enjoy crafting new things

Never stop learning.

Life is the sum of your daily habits.

Find things that you enjoy and please

Doit.

Feel free to connect with me.

Created by potrace 1.16, written by Peter Selinger 2001-2019

© Jing 2024. All rights reserved.