はじめに
GoHighLevel(GHL)に Dodo Payments を接続すると、GHL のファネル、Webサイト、メール、SMS から販売し、GHL の自動化で注文を処理できます。GHL は、ファネル、Webサイト、メールと SMS、および自動化(Workflows)を備えた CRM/マーケティングプラットフォームです。GHL では Dodo Payments が組み込みの決済プロセッサとして掲載されていないため、3つの方法のいずれかで接続します。チェックアウトをどの程度埋め込みたいか、またどの程度コードを書けるかに応じて選択してください。 どの方法でもフルフィルメントの流れは同じです。Dodo Payments が webhook events を GHL の Inbound Webhook ワークフローに送信し、コンタクトへのタグ付け、アクセス権の付与、確認通知の送信を行います。方法を選択する
3つの方法は、必要なコードと顧客が支払う場所が異なります。前提条件
開始する前に、以下が必要です。- 少なくとも1つの product がある Dodo Payments アカウント。
- ファネル、Webサイト、またはワークフローがある GoHighLevel アカウント。
- Dodo Payments ダッシュボードの Developer → Webhooks へのアクセス。API key が必要な場合は Developer → API Keys へのアクセスも必要です。
- 方法 B と C の場合:checkout sessions を作成する小規模な backend または serverless endpoint。
Webhooks によるフルフィルメント(すべての方法)
Webhook ワークフローが自動化レイヤーとなります。一度設定すれば、すべてのチェックアウト方法で利用できます。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 のボタン、ファネルの CTA、注文ページのボタン、メール、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 パラメータとしてその URL が含まれます。方法 B:Overlay Checkout(カスタムコード)
方法 B では、CDN の Checkout SDK を使用して、GHL ページ上に Dodo Payments のチェックアウトを modal overlay として開きます。checkoutUrl を返す checkout session を作成するバックエンドが必要です。
Create a Backend Endpoint That Calls the Checkout Sessions API
checkout_url を返します。使用するプラットフォームに合わせて変更する handler logic の例:DODO_PAYMENTS_API_KEY environment variable の secret として保存し、コードに commit しないでください。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 では、リダイレクトもポップアップも使用せず、チェックアウトフォームを GHL ページの 内部 に埋め込みます。マウント先の container element と同じ 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 と表示される場合もあります)を見つけ、チェックアウトフォームを表示するページ上の場所にドラッグします。
- 以下のコードを要素のコードエディターに貼り付け、保存します。
Verify Your Domain for Wallets (Apple Pay)
/.well-known/apple-developer-merchantid-domain-associationを提供できる、管理下にあるドメインが必要です。GHLがホストするページでは、Payment Linksのhosted checkout(Approach A)を使用するか、Apple Payを利用しないでください。処理するEvents
GHL endpointを、workflowが処理するeventsにSubscribeします。以下の表では、それぞれに推奨されるGHL actionを示しています。data.customer.emailに customer email が含まれます。GHLの find/create contact by email actionを使用して、Paymentを正しいcontactに紐付けます。各eventについては、Webhook Event Guideを参照してください。
TestingとGoing Live
Test in Test Mode
4242 4242 4242 4242(有効期限 06/32、CVV 123)で購入を完了し、GHL workflowが実行されてtagまたはaccessが適用されることを確認します。Go Live
- Payment Links (A): リンクを商品の live payment linkに置き換えます。
- Overlay checkout (B): backendを live API keyで
https://live.dodopayments.com/checkoutsに接続し、SDKのInitializecallでmodeを"live"に設定します。 - Inline checkout (C): overlay checkoutと同じbackend endpointおよびSDK initializationを使用するため、同じ変更を行います。
Tips
Troubleshooting
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