简介
GoHighLevel (GHL) 是一个一体化 CRM 和 marketing 平台,涵盖漏斗、网站、email/SMS 以及自动化(“Workflows”)。GHL 未将 Dodo Payments 列为内置 processor,因此你可以根据希望结账体验嵌入的程度以及可编写代码的能力,通过以下三种方式之一连接两者。 无论采用哪种方式,履约处理方式都相同。Dodo 会将 webhook events 发送到 GHL 的 Inbound Webhook Workflow,用于为联系人添加标签、授予访问权限并发送确认通知。选择适合你的方式
前置条件
- 一个至少创建了一个 product 的 Dodo Payments 账户。
- 一个拥有漏斗、网站或 workflow 的 GoHighLevel 账户。
- 在 Dodo dashboard 中拥有 Settings → Webhooks 的访问权限(以及用于获取 API key 的 Settings → Developer 访问权限)。
- 对于方式 B 和 C:一个用于创建 checkout sessions 的小型 backend 或 serverless endpoint。
使用 webhooks 处理履约(所有方式)
这是自动化层。只需设置一次,无论选择哪种结账方式都可以正常工作。Create the workflow
Add the Inbound Webhook trigger
Register the webhook in Dodo
Add fulfillment actions
方式 A:Payment Links(无代码)
将 Dodo payment link 添加到任意 GHL button、漏斗 CTA、order-page button、email 或 SMS 中。Create a product and copy its payment link
https://checkout.dodopayments.com/buy/{product_id})。Add the link to your GHL button
Set a success page (optional)
方式 B:Overlay Checkout(自定义代码)
通过 CDN 使用 Checkout SDK,在 GHL 页面上以 modal overlay 的形式打开 Dodo checkout。需要一个 backend 来创建 checkout session,并返回其checkoutUrl。
Create a backend endpoint that calls the Checkout Sessions API
checkoutUrl,而创建它需要你的 secret API key。GHL 只托管静态页面,无法替你执行此 server-side 调用;你也绝不能直接从浏览器调用 Create Checkout Session API,因为这样会将 secret key 暴露在页面源代码中。因此,overlay 和 inline checkout 无法仅依靠 GHL 工作:你需要一个由你控制的 backend 来创建 session,并仅返回 URL。任何小型 backend 都可以:serverless function(Cloudflare Workers、Vercel Functions、AWS Lambda、Supabase Edge Functions 等),或者你已有服务器上的 endpoint。无论使用哪种平台,逻辑都相同:接收请求,使用 secret key 调用 Dodo API,返回 checkout_url。示例 handler 逻辑(根据你选择的平台进行调整):https://api.example.com/create-checkout。迁移到 live mode 后,切换为 https://live.dodopayments.com/checkouts。Add a Custom Code element in the GHL page builder
- 点击 builder 左上角的 + 图标,打开 Quick Add。
- 从左侧 category list 中选择 Elements。
- 找到 Custom Code(也显示为 HTML),并将其拖到页面上。
- 将下面的代码粘贴到该元素的 code editor 中,然后保存。
Publish and test on your domain
方式 C:Inline(嵌入式)Checkout
使用同一个 SDK 和 mount container,将 checkout form 嵌入 GHL 页面内部(无重定向、无 popup)。与方式 B 一样,它需要一个 backend 来创建 session。Create a backend endpoint that calls the Checkout Sessions API
{ checkoutUrl }。Add a container and SDK via Custom Code
- 点击 builder 左上角的 + 图标,打开 Quick Add。
- 从左侧 category list 中选择 Elements。
- 找到 Custom Code(也显示为 HTML),并将其拖到你希望显示 checkout form 的位置。
- 将下面的代码粘贴到该元素的 code editor 中,然后保存。
Verify your domain for wallets (Apple Pay)
需要处理的 Events
测试与上线
Test in test mode
4242 4242 4242 4242(任意未来日期的有效期和任意 CVC),完成一次购买,并确认 GHL workflow 已触发且应用了标签或访问权限。Go live
- Payment Links (A): 换用 product 的 live payment link。
- Overlay checkout (B): 让 backend 使用
https://live.dodopayments.com/checkouts和你的 live API key,并在Initialize调用中,将 SDK 的mode设置为"live"。 - Inline checkout (C): 与 overlay 相同,因为它使用相同的 backend endpoint 和 SDK initialization。
提示
故障排除
Payment succeeded but nothing happened in GHL
Payment succeeded but nothing happened in GHL
Contact not created or not matched
Contact not created or not matched
Payment isn't showing in GHL's Payments tab
Payment isn't showing in GHL's Payments tab