技術筆記

在銷售點接受加密貨幣

在銷售點接受加密貨幣,意思是顧客站在你的櫃檯前以數位資產付款——可能是 USDC 這類穩定幣,或 BTC 這類加密貨幣——而身為商家的你,入帳的是歐元。顧客送出的資產與你收到的款項是兩回事,兩者靠感應當下敲定的報價相連。你的收銀系統、帳簿和銀行帳戶,都不會察覺有加密貨幣涉入。終端機顯示歐元價格,顧客掃描 QR 碼,幾秒後這筆交易就以歐元結清——與刷卡的入帳方式一模一樣。銷售點的加密貨幣是一種支付方式,而不是會計上的改變,而讓它維持如此,正是整個工程問題所在。

這個說法值得先講清楚,因為多數對加密貨幣支付的困惑,都來自把兩個應該分開的問題混為一談:顧客如何付款,以及商家最終持有什麼幣別。把兩者分開,後面的一切便水到渠成。

它真正要解決的問題

商家要的是成交,不是波動。他們不想在一天結束時手上留著價值不確定的資產,也不想讓會計突然得處理兩種幣別。他們要的是從感應到收據之間價格固定、款項是歐元,而且對帳起來就像其他任何一個刷卡日。天真地接受加密貨幣的店家,這些一樣都得不到:收下的資產價格在顧客還在猶豫時就已波動,被擺進錢包,帳上平白多出第二種幣別,還得有人手動估值與兌換。因此,設計目標既狹窄又嚴格——只讓加密貨幣在付款那一刻可見,其他地方一律不可見。

一次掃碼:QR、鎖定報價、歐元入帳

來看櫃檯的流程。收銀員結算一筆 €24.00 的購物籃。終端機顯示歐元總額,並產生一個 QR 碼,編碼了付款請求——金額、收款地址或發票,以及一個短效的報價 ID。顧客用自己的錢包掃描,確認即將送出的內容後確認付款。終端機監看網路上的這筆轉帳,確認後列印歐元收據。從收銀員的角度看,節奏與刷卡完全相同:結帳、出示、核准、收據。櫃檯後沒有人需要輸入地址,或讀取歐元以外的任何餘額。

把請求放進 QR 碼,才能放心把它交給陌生人的手機。金額與目的地連同校驗碼一起放在碼中,顧客不可能因為打錯而付錯地址或錯誤金額——這和收款端「從設計上確保身分正確」的做法如出一轍,只是應用在櫃檯。能掃描的碼就是正確的碼;沒有任何自由輸入的欄位可能出錯。

結算為歐元,讓帳簿從不接觸加密貨幣

顧客送出的資產與商家持有的歐元之間,隔著一道兌換,而兌換發生在哪裡,正是整個關鍵。顧客送出 USDC 或 BTC;平台完成兌換,並以 EUR 記入商家帳戶。商家的總帳只會看到一筆歐元入帳和一行歐元手續費——與刷卡結算的形式相同——因為資產是在平台端兌換,而不是留在需要商家自行管理的錢包裡。日終時,帳簿從頭到尾都是歐元。沒有需要按市價估值的幣種組合,帳上沒有第二種幣別,週一早上也沒有什麼需要換回法幣的東西。

顧客的任務是用手上持有的任何資產付款。商家的任務是以單一幣別記帳。把加密貨幣結算為歐元的銷售點,就是讓這兩件事永不交會的機器。
—— Protocore · 支付工程團隊

匯率是鎖定的,不是追逐的

波動是人們擔心的事,而附倒數計時的鎖定報價就是解答。終端機顯示歐元價格的同時,也會敲定一個在指定時間窗內有效的報價——幾秒鐘。顧客在這個時間窗內、依該報價付款,商家入帳的歐元就是螢幕上的歐元,而不是錢包載入期間市場走到哪的數字。若顧客尚未確認、時間窗已過,終端機會重新報價:新的 QR 碼、重新倒數、明確的新價格——絕不悄悄漂移。商家永遠不必承擔從感應到確認之間的價格變動;這項風險由敲定報價的一方承擔,而不是只想賣一杯咖啡的店主。

顧客動作慢,或終端機離線時

網路會卡頓,店家也會斷線,所以離線行為必須刻意做得平淡無奇。分兩種情況。顧客動作慢時,報價只是過期並重新報價——付款要嘛在時間窗內確認,要嘛不成立,不會有需要撤銷的半成品交易。終端機本身離線時,仍可顯示已知金額的付款請求,但無法敲定新報價或確認結算,因此會把這筆交易保留為待處理,待重新連線後再對帳,而不是假裝成功。核心原則是:收據在確認後才列印,絕不憑希望——一張歐元收據代表歐元已入帳;終端機無法確認的交易會保持未結,並在營運主控台中清楚可見,而不是悄悄消失。

終端機與 Gateway 的交會處

櫃檯是同一套線上運作的收單架構在實體場景的面貌。現場的加密貨幣掃碼付款,和 pay-by-link 的結帳,本質上是同一件事——請求、付款、歐元結算、收據——只是呈現在不同介面上。因此商家可以在同一處、以歐元對帳店內加密貨幣與線上訂單,使用相同的手續費項目與匯出格式,而不必維護兩套到月底再拼湊的帳。終端機位於 /products/pos;同一套通道的線上端是 /products/gateway;而報價、結算、收單機構、對帳等詞彙,則定義在 /glossary。

坦白的界線

如果你的櫃檯沒有人想用加密貨幣付款,加密貨幣終端機就是在解決你沒有的問題——收卡就好,繼續往前走。它的價值出現在這些情境:相當比例的顧客已持有數位資產,寧可直接花掉也不願先換回法幣——某些旅遊路線、某些原生線上族群、某些人們習慣以穩定幣持有可花用資金的地區。在這些場合,拒絕這次支付就是拒絕這筆生意。上述機制——QR、鎖定報價、結算為歐元、確認後才出收據的規則——讓你接下這筆生意,卻不必承擔波動、第二種幣別或一項記帳工程。加密貨幣是顧客的事;歐元留給你。

有系統要打造?

告訴我們問題所在,我們會帶著架構與計畫回覆您。