简介
将 Dodo Payments 连接到 GoHighLevel (GHL),即可通过 GHL 漏斗、网站、电子邮件和 SMS 销售,并使用 GHL 自动化来履行订单。GHL 是一个 CRM 和营销平台,提供漏斗、网站、电子邮件和 SMS,以及自动化功能(Workflows)。GHL 没有将 Dodo Payments 列为内置支付处理器,因此你需要通过三种方式之一连接两者。请根据你希望结账流程的嵌入程度以及团队可编写的代码量进行选择。 每种方式的履行流程都相同:Dodo Payments 将 webhook events 发送到 GHL 的 Inbound Webhook workflow,该 workflow 会为联系人添加标签、授予访问权限并发送确认信息。选择方式
三种方式在所需代码以及客户付款位置方面有所不同:前提条件
开始之前,你需要准备:- 一个至少包含一个 product 的 Dodo Payments 账户。
- 一个包含漏斗、网站或 workflow 的 GoHighLevel 账户。
- 访问 Dodo Payments 控制面板中 Developer → Webhooks 的权限;如果需要 API key,还需要访问 Developer → API Keys。
- 对于方式 B 和 C:一个用于创建 checkout sessions 的小型 backend 或 serverless endpoint。
使用 Webhooks 履行订单(所有方式)
webhook workflow 是自动化层。设置一次后,它适用于所有结账方式。Create the Workflow
Add the Inbound Webhook Trigger
Register the Webhook in Dodo Payments
Add Fulfillment Actions
方式 A:Payment Links(无需代码)
将 Dodo Payments payment link 添加到任意 GHL 按钮、漏斗 call to action、订单页面按钮、电子邮件或 SMS 中。客户将在 Dodo Payments 托管的结账页面付款。有关结账流程支持的功能,请参阅 Checkout Features。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)
redirect_url 参数携带。方式 B:Overlay Checkout(自定义代码)
方式 B 使用 CDN 中的 Checkout SDK,在 GHL 页面上以模态覆盖层的形式打开 Dodo Payments checkout。它需要一个后端来创建 checkout session,并返回其checkoutUrl。
Create a Backend Endpoint That Calls the Checkout Sessions API
checkout_url。下面是需要根据你的平台进行调整的 handler 逻辑示例:DODO_PAYMENTS_API_KEY environment variable 中,切勿将其提交到代码库。允许来自 GHL 域名的请求(CORS),并从你控制的域名提供该 endpoint,例如 https://api.example.com/create-checkout。切换到 live mode 时,将 URL 更改为 https://live.dodopayments.com/checkouts。Add a Custom Code Element in the GHL Page Builder
- 点击构建器左上角的 + 图标,打开 Quick Add。
- 从左侧类别列表中选择 Elements。
- 找到 Custom Code(也显示为 HTML),并将其拖到页面上。
- 将下面的代码粘贴到该元素的代码编辑器中,然后保存。
Publish and Test on Your Domain
方式 C:Inline(嵌入式)Checkout
方式 C 将 checkout 表单嵌入 GHL 页面中,无需重定向,也不会弹出窗口。它使用相同的 SDK,并通过容器元素挂载。与方式 B 一样,它需要后端创建 session。Create a Backend Endpoint That Calls the Checkout Sessions API
{ checkoutUrl } 的小型 serverless function 或服务器均可。Add a Container and SDK via Custom Code
- 点击构建器左上角的 + 图标,打开 Quick Add。
- 从左侧类别列表中选择 Elements。
- 找到 Custom Code(也显示为 HTML),并将其拖到希望显示 checkout 表单的位置。
- 将下面的代码粘贴到该元素的代码编辑器中,然后保存。
Verify Your Domain for Wallets (Apple Pay)
/.well-known/apple-developer-merchantid-domain-association 的域名。在 GHL 托管的页面上,请使用 Payment Links 中的托管式结账(方法 A),或跳过 Apple Pay。要处理的事件
将 GHL 端点订阅到您的工作流会执行操作的事件。下表为每个事件建议了相应的 GHL 操作:data.customer.email 中包含 customer email。使用 GHL 的 find/create contact by email 操作,将付款匹配到正确的联系人。有关每个事件的详情,请参阅 Webhook Event Guide。
测试与上线
Test in Test Mode
4242 4242 4242 4242(有效期 06/32,CVV 123)完成一次购买,并确认 GHL 工作流已运行且应用了相应标签或访问权限。Go Live
- Payment Links(A): 将链接替换为该产品的实时付款链接。
- 叠加式结账(B): 使用您的实时 API 密钥,将后端指向
https://live.dodopayments.com/checkouts,并在 SDK 的Initialize调用中将mode设置为"live"。 - 内嵌式结账(C): 进行与叠加式结账相同的更改,因为它使用相同的后端端点和 SDK 初始化。
提示
故障排除
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