feat(payment): 虎皮椒聚合支付 - 官方插件与跨平台可执行文件

新增 xunhupay 官方包,支付 RPC 与宿主只保留订单和验签边界;官方支付包同时带上各系统 provider,避免把 Linux ELF 当成本机入口。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ddCatandCursor committed 2026-09-17 23:32:11 +08:00
1 parent e5a5f0ccc8
commit a23df0cb32
63 files changed
+2070 -128

No files matched your search

@@ -0,0 +1,29 @@
package protocol
import "testing"
func TestPaymentRPCBackendCandidatesPreferPlatformTaggedFiles(t *testing.T) {
darwin := PaymentRPCBackendCandidates("backend/provider", "darwin", "arm64")
if got, want := darwin[0], "backend/provider-darwin-arm64"; got != want {
t.Fatalf("darwin candidates[0] = %q, want %q (%v)", got, want, darwin)
}
windows := PaymentRPCBackendCandidates("backend/provider", "windows", "amd64")
if got, want := windows[0], "backend/provider-windows-amd64.exe"; got != want {
t.Fatalf("windows candidates[0] = %q, want %q (%v)", got, want, windows)
}
if windows[len(windows)-1] != "backend/provider" {
t.Fatalf("windows fallback = %v", windows)
}
}
func TestHasAnyPaymentRPCBackendAcceptsTaggedArtifacts(t *testing.T) {
if HasAnyPaymentRPCBackend("backend/provider", map[string][]byte{"backend/provider-darwin-arm64": {1}}) != true {
t.Fatal("tagged darwin provider should be accepted")
}
if HasAnyPaymentRPCBackend("backend/provider", map[string][]byte{"backend/windows-amd64/provider.exe": {1}}) != true {
t.Fatal("nested windows provider should be accepted")
}
if HasAnyPaymentRPCBackend("backend/provider", map[string][]byte{"backend/unrelated": {1}}) {
t.Fatal("unrelated backend file should not satisfy the payment entry")
}
}