訂閱支付:支付巨頭的必爭之地

1 評(píng)論 1228 瀏覽 0 收藏 14 分鐘
B端产品经理要负责对目标行业和市场进行深入的分析和调研,了解客户的需求、痛点、期望和行为,找到产品的价值主张 🔗

支付巨頭們紛紛布局訂閱支付領(lǐng)域,試圖通過技術(shù)創(chuàng)新和業(yè)務(wù)拓展來搶占市場份額。本文將深入探討訂閱支付的業(yè)務(wù)流程、風(fēng)控要點(diǎn)、技術(shù)實(shí)現(xiàn)方式以及主流支付平臺(tái)的接口對(duì)比分析,幫助大家全面了解這一支付領(lǐng)域的競爭格局和發(fā)展趨勢。

目錄概覽

  • 主要參與方
  • 典型信息流
  • 風(fēng)控與合規(guī)要點(diǎn)
  • 案例:微信支付周期扣費(fèi)產(chǎn)品業(yè)務(wù)流程
  • 商戶接口調(diào)用process
  • 訂閱支付的UML流程概覽
  • 主流競品接口對(duì)比分析

主要參與方

  • 用戶:就是你我這樣的消費(fèi)者,想訂閱個(gè)服務(wù),比如會(huì)員、自動(dòng)續(xù)費(fèi)啥的,就得先發(fā)起請(qǐng)求,授權(quán)支付方式(比如綁卡),然后等著接收扣款通知。
  • 商戶:就是提供那些訂閱服務(wù)的商家,比如視頻網(wǎng)站、軟件開發(fā)商。他們得配置好訂閱計(jì)劃,等收到支付結(jié)果后,就給你開通服務(wù)。
  • 支付公司(聚合支付平臺(tái)):這幫家伙就像是支付界的“中間人”,把各種支付渠道都集成起來。他們得處理訂閱的那些事兒,比如周期性扣款、扣款失敗了咋辦,還得負(fù)責(zé)資金清算和對(duì)賬。
  • 銀行/卡組織:他們是“真金白銀”的搬運(yùn)工,負(fù)責(zé)實(shí)際的資金劃轉(zhuǎn),還提供代收付接口和風(fēng)控支持。
  • 第三方服務(wù)商:比如 WildCard(虛擬卡)、Stripe(支付網(wǎng)關(guān))這些,他們?cè)谝恍┨囟▓鼍跋?,給支付能力“加把勁”。

典型信息流

訂閱發(fā)起階段

用戶(就是你咯)在前端頁面上選好訂閱計(jì)劃,然后授權(quán)支付方式(比如填個(gè)虛擬卡信息)。

支付公司就會(huì)調(diào)用銀行或支付網(wǎng)關(guān)的 API,生成一個(gè)訂閱協(xié)議(比如 PayPal 的 Billing Agreement),順便把扣款周期和金額給記下來。

商戶收到訂閱 ID 后,就會(huì)給你開通服務(wù)權(quán)限,你就能開始享受服務(wù)啦。

周期性扣款階段

到了該扣款的時(shí)候,支付公司就會(huì)按周期觸發(fā)扣款請(qǐng)求,通過銀行或卡組織把錢劃走。

扣款結(jié)果會(huì)通過 Webhook 通知商戶(成功了就繼續(xù)服務(wù),失敗了就提醒一下,具體細(xì)節(jié)流程見下文:訂閱支付UML流程)。用戶(還是你)會(huì)收到扣款通知,還能通過支付公司或商戶平臺(tái)管理訂閱狀態(tài),比如查看、修改或者取消訂閱。

異常處理階段

支付失敗:系統(tǒng)會(huì)自動(dòng)嘗試重試,要是還是不行,就暫停服務(wù)。這時(shí)候,得把失敗原因(比如余額不足、風(fēng)控?cái)r截)記錄下來,并且通知用戶(還是你)。后續(xù)如能扣到款是否支持恢復(fù)服務(wù)?

取消訂閱:要是用戶(你)不想訂閱了,發(fā)起取消請(qǐng)求后,支付公司就會(huì)終止扣款計(jì)劃,并且把狀態(tài)同步給商戶。

業(yè)務(wù)方面:

如扣款周期已過,仍然沒有扣款成功,是否立即停止用戶的服務(wù),具體業(yè)務(wù)場景措施肯定不同?

更改訂閱計(jì)劃:

  • 正好在扣款等待期更改訂閱計(jì)劃,如訂單金額和周期,如何處理。
  • 扣款等待期是否允許修改,或者是否需要定義扣款等待期的變更計(jì)劃下月生效?

Webhook消息丟失

商戶系統(tǒng)檢測到訂閱一直處于pending狀態(tài)(超過30分鐘)。

調(diào)用支付平臺(tái)提供的「訂閱狀態(tài)查詢接口」主動(dòng)補(bǔ)償:

GET /v1/subscriptions/{subscription_id}

Response:

{

“status”: “active”,

“last_payment_time”:

“2024-05-20 14:00:00”

}

根據(jù)查詢結(jié)果更新本地狀態(tài),并補(bǔ)發(fā)用戶通知。

風(fēng)控與合規(guī)要點(diǎn)

  • 反欺詐:支付公司會(huì)結(jié)合 IP 檢測、交易行為分析(比如有沒有高頻小額扣款這種異常行為)來攔截異常交易。像 WildCard 這種,還會(huì)針對(duì)高風(fēng)控平臺(tái)(比如 OpenAI)優(yōu)化支付渠道。
  • 數(shù)據(jù)隱私:大家都得遵循 GDPR 這些法規(guī),把用戶支付信息加密存儲(chǔ)好。尤其是虛擬卡服務(wù),得注意別讓敏感信息泄露(比如 WildCard 就沒有 KYC 選項(xiàng))。
  • 資金存管:支付公司要和銀行合作,實(shí)現(xiàn)資金分賬,確保商戶結(jié)算合規(guī),別出現(xiàn)什么二清風(fēng)險(xiǎn)。

案例:微信支付周期扣費(fèi)產(chǎn)品業(yè)務(wù)流程

下發(fā)扣費(fèi)前通知后,在約定時(shí)間內(nèi):

  • 若用戶拒絕續(xù)費(fèi),可關(guān)閉扣費(fèi)服務(wù)
  • 若用戶接受續(xù)費(fèi),則無需額外操作

注意:目前支持通知后24小時(shí)自動(dòng)扣費(fèi)、或提前使用獨(dú)立的通知接口兩種模式。(支付中簽約:pay/contractorder是獨(dú)立接口,以下扣款規(guī)則只適用于申請(qǐng)扣款接口:pay/pappayapply,兩種模式只能二選一)

微信周期扣費(fèi)商戶接口調(diào)用流程

1)商戶在1號(hào)調(diào)用預(yù)扣費(fèi)通知。

2)2號(hào)為扣費(fèi)等待期,商戶不可扣費(fèi),用戶可隨時(shí)關(guān)閉。

3)3~9號(hào)共7天為可扣費(fèi)期

    • 扣費(fèi)期內(nèi)僅在每天7:00~22:00期間可以發(fā)起扣費(fèi)
    • 扣費(fèi)期內(nèi)可多次嘗試扣費(fèi)
    • 扣費(fèi)期內(nèi)實(shí)時(shí)扣費(fèi)
    • 扣費(fèi)失敗用戶無感知
    • 扣費(fèi)成功后用戶可收到扣費(fèi)憑證,扣費(fèi)成功后,當(dāng)前周期提前結(jié)束

訂閱支付的實(shí)現(xiàn)方式

1. 技術(shù)集成方案

  • 支付SDK/API對(duì)接:通過集成支付網(wǎng)關(guān)(如Stripe、PayPal)或銀行提供的訂閱接口,實(shí)現(xiàn)周期性扣款。例如,Laravel Cashier通過Stripe API管理訂閱計(jì)劃,支持創(chuàng)建、取消訂閱及處理失敗支付。
  • 智能合約與區(qū)塊鏈:基于Cardano的Revuto平臺(tái)利用智能合約自動(dòng)執(zhí)行訂閱扣款,用戶可通過質(zhì)押代幣(如REVU)或穩(wěn)定幣(EURR)支付,同時(shí)引入DeFi借貸功能降低費(fèi)用。
  • 虛擬卡解決方案:針對(duì)跨境支付場景,WildCard等虛擬卡服務(wù)支持綁定國際訂閱平臺(tái)(如Patreon、ChatGPT Plus),通過支付寶/微信充值,規(guī)避國內(nèi)銀行卡限制。

2. 核心功能模塊

  • 訂閱計(jì)劃管理:支持靈活設(shè)置周期(月/季/年)、價(jià)格階梯及試用期,例如PayPal需提前24小時(shí)創(chuàng)建訂閱協(xié)議并設(shè)置首次扣款費(fèi)用7。
  • 支付失敗處理:自動(dòng)觸發(fā)郵件提醒、重試扣款或凍結(jié)服務(wù),需結(jié)合Webhook接收支付狀態(tài)通知(如PAYMENT.SALE.COMPLETED)7。
  • 合規(guī)與用戶通知:根據(jù)《消費(fèi)者權(quán)益保護(hù)法實(shí)施條例》,需顯著提醒自動(dòng)續(xù)費(fèi)條款,并在扣款前通過多通道(短信、郵件)通知用戶

主流競品接口對(duì)比分析

Stripe訂閱支付接口

接口功能:支持創(chuàng)建訂閱計(jì)劃、周期性扣款、試用期設(shè)置及失敗重試。

核心請(qǐng)求參數(shù)

  • customer(必填):用戶唯一標(biāo)識(shí),需通過創(chuàng)建客戶接口獲取。
  • items[price](必填):訂閱計(jì)劃價(jià)格ID,需預(yù)先在Stripe后臺(tái)配置。
  • payment_behavior:控制首次扣款行為(如允許失敗后自動(dòng)重試)。
  • trial_period_days:試用期天數(shù)。

響應(yīng)參數(shù)

  • id:訂閱ID,用于后續(xù)管理。
  • status:訂閱狀態(tài)(如active、past_due)。
  • current_period_start/end:當(dāng)前計(jì)費(fèi)周期起止時(shí)間。

調(diào)用流程

  1. 用戶選擇訂閱計(jì)劃并授權(quán)支付。
  2. 商戶調(diào)用POST /v1/subscriptions創(chuàng)建訂閱。
  3. Stripe驗(yàn)證支付方式并生成首次扣款。
  4. 商戶通過Webhook接收invoice.payment_succeeded事件更新訂閱狀態(tài)。

PayPal定期付款接口

接口功能:支持固定周期扣款、賬單協(xié)議管理。

核心請(qǐng)求參數(shù)

  • plan_id(必填):訂閱計(jì)劃ID,需通過產(chǎn)品創(chuàng)建接口生成。
  • subscriber:用戶信息(如郵箱、姓名)。
  • application_context:定義支付流程的返回URL及取消頁面。

響應(yīng)參數(shù)

  • subscription_id:訂閱唯一標(biāo)識(shí)。
  • status:狀態(tài)碼(如APPROVAL_PENDING、ACTIVE)。
  • links:包含用戶授權(quán)支付的跳轉(zhuǎn)鏈接。

調(diào)用流程:

  1. 商戶調(diào)用POST /v1/billing/plans創(chuàng)建訂閱計(jì)劃。
  2. 用戶通過授權(quán)鏈接完成支付授權(quán)。
  3. PayPal通過Webhook通知商戶激活訂閱。
  4. 周期性扣款自動(dòng)執(zhí)行,商戶監(jiān)聽PAYMENT.SALE.COMPLETED事件。

支付寶自動(dòng)扣款接口(alipay.fund.auth.order.app.freeze)

接口功能:基于預(yù)授權(quán)協(xié)議實(shí)現(xiàn)定期扣款。

核心請(qǐng)求參數(shù)

  • out_order_no(必填):商戶訂單號(hào),需唯一。
  • auth_code:用戶授權(quán)碼(通過掃碼或SDK獲?。?。
  • product_code:固定為PRE_AUTH。
  • amount:預(yù)授權(quán)金額。

響應(yīng)參數(shù)

  • auth_no:支付寶資金授權(quán)號(hào)。
  • status:授權(quán)狀態(tài)(如SUCCESS)。
  • gmt_trans:授權(quán)時(shí)間戳。

調(diào)用流程

微信支付合約支付接口

接口功能:支持按周期或按次扣款,適用于會(huì)員訂閱。

核心請(qǐng)求參數(shù)

  • contract_id(必填):簽約協(xié)議號(hào),通過用戶授權(quán)獲取。
  • body:訂單描述(如“月度會(huì)員費(fèi)”)。
  • total_fee:扣款金額(單位:分)。

響應(yīng)參數(shù)

  • transaction_id:微信支付訂單號(hào)。
  • time_end:支付完成時(shí)間。
  • trade_state:交易狀態(tài)(如SUCCESS)。

調(diào)用流程

接口文檔設(shè)計(jì)關(guān)鍵點(diǎn)

冪等性處理

  • Token機(jī)制:通過唯一請(qǐng)求ID(如idempotency_key)避免重復(fù)扣款,需在請(qǐng)求頭或參數(shù)中傳遞。
  • 數(shù)據(jù)庫約束:在扣款邏輯中使用update … where status=unpaid確保僅處理一次扣款。

有容錯(cuò)能力的序列設(shè)計(jì)

用戶 -> 商戶系統(tǒng): 選擇訂閱計(jì)劃并支付

商戶系統(tǒng) -> 支付平臺(tái): 調(diào)用創(chuàng)建訂閱接口(攜帶idempotency_key)

支付平臺(tái) -> 支付平臺(tái): 校驗(yàn)冪等性(通過idempotency_key)

支付平臺(tái) -> 銀行: 驗(yàn)證支付方式并扣款

alt 扣款成功

支付平臺(tái) –> 商戶系統(tǒng): 返回{“code”:0, “subscription_id”:”sub_123″, “status”:”pending”}

支付平臺(tái) -> 商戶系統(tǒng): Webhook發(fā)送PAYMENT_SUCCESS事件

商戶系統(tǒng) -> 商戶系統(tǒng): 更新狀態(tài)為active,開通服務(wù)

商戶系統(tǒng) -> 用戶: 發(fā)送成功郵件

else 扣款失敗

支付平臺(tái) –> 商戶系統(tǒng): 返回{“code”:2001, “message”:”余額不足”}

支付平臺(tái) -> 支付平臺(tái): 記錄待重試任務(wù)(定時(shí)觸發(fā))

loop 重試邏輯(最多3次)

支付平臺(tái) -> 銀行: 重試扣款

alt 重試成功

支付平臺(tái) -> 商戶系統(tǒng): Webhook發(fā)送PAYMENT_SUCCESS事件

else 重試失敗

支付平臺(tái) -> 商戶系統(tǒng): Webhook發(fā)送PAYMENT_FAILED事件

本文由 @支付唧唧咋咋 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 用戶授權(quán)后,支付平臺(tái)會(huì)執(zhí)行首次扣款,并在后續(xù)周期自動(dòng)扣款。
    支付平臺(tái)會(huì)將扣款結(jié)果通過異步通知發(fā)送給商家系統(tǒng)。

    來自廣東 回復(fù)
专题
15832人已学习13篇文章
作为一名产品经理,需要持续对自己的经验进行总结并不断更新迭代。本专题的文章分享了产品设计方法论。
专题
12308人已学习12篇文章
精细化运营、抓住老用户、提升用户复购,则将是品牌需要着重留意的地方。本专题的文章分享了提升复购率的N种方法。
专题
11912人已学习13篇文章
激活是指用户通过完成关键行为,真正成为产品的用户,而提升新用户激活则是留存用户的第一步。本专题的文章分享了如何做好新用户激活。
专题
31177人已学习11篇文章
来看看别人家是怎么做产品优化的。
专题
20146人已学习14篇文章
好的用户成长体系可以促进用户活跃、增强用户粘性、留住用户和帮助企业更好地了解用户对产品的使用情况。本专题的文章提供了搭建用户成长体系的思路。