外部サービス連携

SquareとSalesforceで顧客と決済をつなぐ

SquareとSalesforceをAPIでつなぐと、Salesforceの取引先からSquareの顧客を作ったり、Squareの決済をSalesforceへ取り込んだりできます。2023年に書いた記事を、2026年9月時点のSquare公式の開発者向けドキュメントで確かめ直しました。

2023.05.16

どういうときに使うのか

店頭やオンラインの決済にSquareを使い、顧客や商談の管理にSalesforceを使っている会社では、同じ顧客の情報が2か所に分かれることがよくあります。決済の記録はSquareに、営業やサポートの記録はSalesforceに残るため、1人の顧客の全体像がどちらの画面でも見えません。

Squareは、カード決済を中心に、店舗やオンライン、請求書での支払いを受け付けられるサービスです。開発者向けにAPIが公開されていて、Salesforceとの間をつなぐ仕組みを作れます。

この記事は2023年に書いたものを、2026年9月時点のSquare開発者向けドキュメントで確かめ直して書き直しています。料金は決済の種類や契約で変わるため、ここには書きません。Squareの公式サイト(squareup.com/jp/ja)で確認してください。

つなぎ方は4通り

当時の記事では、顧客と決済のそれぞれについて、2つの向きがあると整理していました。

向きデータ使いどころ
Salesforce → Square顧客Salesforceの取引先や取引先責任者をもとに、Squareの顧客を作る
Square → Salesforce顧客Squareで増えた顧客を、Salesforceに取り込む
Salesforce → Square決済Salesforceで管理している販売や課金を、Squareで決済する
Square → Salesforce決済Squareで処理した決済を、Salesforceに取り込む

どの向きも、Salesforce側からSquareのAPIを呼ぶか、Square側の出来事の通知を受けてSalesforceに書き込むか、のどちらかで作ります。

顧客をつなぐ

SquareのCustomers APIは、顧客のプロフィールを作って管理するためのAPIです。公式ドキュメントでは、顧客の作成・更新・削除のほか、IDでの取得、一覧や検索での取得ができると説明されています。検索には、電話番号・メールアドレス・参照IDなどの条件を使えます。

  1. Salesforceの取引先からSquareの顧客を作る

    取引先の名前や連絡先をCustomers APIに渡して、Squareの顧客を作ります。返ってきたSquareの顧客IDを、Salesforceの取引先の項目に残しておきます。

  2. Squareの顧客画面で確かめる

    Squareの管理画面の顧客一覧に、作った顧客が出ていることを確かめます。当時の記事では、この画面を画像で載せていました。

  3. Squareで増えた顧客を取り込む

    Squareの顧客の作成を知らせるWebhook(公式ドキュメントでは customer.created)を受けて、Salesforceに取引先を作ります。

ここで間違えやすいところです。両方向で顧客を作ると、同じ顧客が二重にできやすくなります。SquareとSalesforceのどちらを「正」とするかを先に決め、相手側のIDを必ず項目に残してください。すでにIDがあるときは作らずに更新する、という分岐を最初から入れておきます。

決済をつなぐ

SquareのPayments APIは、公式ドキュメントで、Squareの開発者向けプラットフォームの決済の裏側を受け持つAPIと説明されています。決済の一覧を取る ListPayments のエンドポイントがあり、決済があったことをWebhookで受け取ることもできます。

  1. 決済を取り込む先を決める

    商談・注文・カスタムオブジェクトのどれに決済を残すかを決めます。当時の記事では、Squareで処理した決済をSalesforce側に取り込んだ例を画像で載せていました。

  2. Webhookか定期取得で取り込む

    決済のWebhookを受けてすぐに書き込むか、ListPaymentsで定期的にまとめて取るかを選びます。

  3. 顧客とひもづける

    顧客を取り込むときに残したSquareの顧客IDを手がかりに、決済をSalesforceの取引先へ関連付けます。決済のデータのどの値で顧客を特定するかは、作る前にAPIリファレンスで確かめてください。

決めておくこと理由
金額と通貨の扱いSalesforceの通貨項目にどう入れるかを、APIの値に合わせて決めておく必要があります
返金や取り消しの扱い決済は作られた後に状態が変わります。取り込んだ後の変更をどう反映するかを決めておきます
取り込む範囲店舗が複数あるときは、どの店舗の決済を取り込むかを決めます。公式ドキュメントでは、ListPaymentsで店舗を指定しないと、既定の店舗の決済が返るとされています

当時の記事から変わったこと

2023年の記事では、Squareの料金、Salesforceの取引先からSquareの顧客を作る画面、Squareの顧客画面、Squareの決済を取り込んだSalesforceの画面の4枚を載せていました。この4枚の画像は、いまは残っていません。同じ内容を、上の表と手順に文章で書き起こしています。

当時の記事にあった料金と、紹介リンクによる特典は、条件が変わっている可能性があるため外しました。

確認した環境

  • 2026年9月時点のSquare開発者向けドキュメント(Customers API の概要、Payments API の概要)で確認しています
  • APIの名前や項目は、Square側の更新で変わることがあります。作る前に最新のドキュメントを確かめてください

まとめ

  • SquareとSalesforceの間では、顧客と決済のそれぞれを両方向に流せます
  • 顧客はCustomers APIで作成・更新・検索でき、作成はWebhookでも受け取れます
  • 決済はListPaymentsでまとめて取るか、決済のWebhookで受け取ります
  • 二重登録を防ぐため、どちらを正とするかを決め、相手側のIDを項目に残します
  • 料金は変わるため、Squareの公式サイトで確認してください

Salesforceの導入・運用についてご相談ください

導入前の検討から、お使いの環境の改修・運用、AIとの連携まで承ります。状況を伺ったうえで、進め方をご提案します。