連携 · 決済サービス
Lemon Squeezy の注文と更新を、それぞれの訪問に紐づけます。
API キーで Lemon Squeezy のストアを接続します。Tally は注文とサブスクリプションの請求書を返金とあわせて読み取り、チェックアウトのカスタムデータで届いた ID の訪問者、または購入者のメールアドレスで各売上を紐づけます。
無料で始める
14 日間無料、カード登録は不要です。
01Tally が読み取るもの
- 注文は新規の売上として、サブスクリプションの請求書は更新またはプラン変更として扱います。サブスクリプションの初回支払いは、その注文として 1 回だけ数えます。
- 全額・一部の返金は、Lemon Squeezy が保持する返金累計額から読み取ります。累計が更新されるたびに、増えた分だけを加えます。
- テストモードのストアも本番のストアも対象です。どちらになるかはキー自体のモードで決まります。
- 金額は税抜きで、その日の参照レートにより米ドル(セント単位)に換算します。
02売上が訪問に紐づくしくみ
- チェックアウトリンクのカスタムデータチェックアウトリンクに checkout[custom][tally_visitor_id] を付けるか、サーバーでチェックアウトを作成するときに checkout_data.custom に設定します。
- メールアドレス購入者のメールアドレスをハッシュ化し、tally('identify') の呼び出しと照合します。接続前の注文を紐づけられるのは、この方法だけです。
- 更新と返金サブスクリプションの請求書は最初の注文の紐づけを引き継ぎ、返金は対応する注文または請求書から差し引きます。
03読み取れないもの
- Lemon Squeezy はチャージバックを報告しません。異議申し立てのあった注文は Lemon Squeezy 自身が返金し、それが返金として届きます。
- API がカスタムデータを返さないため、接続前の注文はメールアドレスでのみ紐づけられます。
- スニペットは Lemon Squeezy のチェックアウトリンクに自動で ID を付けません。そのための数行のコードは Coverage ページにあります。
- API キーにはスコープがないため、アクセスを最小限にするには、Tally 専用に作ってほかでは使わないキーにするしかありません。
04接続のしかた
- Lemon Squeezy で Settings → API を開き、Tally 専用のキーを作成します。
- サイトの Integrations ページに貼り付けます。キーからはアカウント内のすべてのストアが見えるため、ストアが複数ある場合は対象のストアを指定します。
- Tally は専用のシークレットを持つ Webhook をそのストアに作成し、過去 365 日分を取り込みます。
- Coverage ページの手順に沿って、チェックアウトリンクまたは checkout_data に訪問者の ID を追加します。
API キーに必要な権限
Tally が求めるのは、次のことだけができる API キーです。貼り付けた時点で権限ごとに実際の呼び出しで確認するので、足りない権限があれば名前で示されます。
| 権限 | アクセス | 用途 |
|---|---|---|
| Orders | 読み取り | すべての売上:金額、税額、返金、顧客のメールアドレス(すぐにハッシュ化し、保存はしません)。 |
| Subscription invoices | 読み取り | 更新とプラン変更。 |
| Webhooks | 書き込み | Tally がストアに専用の Webhook を追加するので、支払いは数秒で届きます。 |
05よくある質問
Lemon Squeezy のストアを複数接続できますか?
1 つのストアがデータを送れるのは 1 サイトです。複数のストアが見えるキーでは、ID、スラッグ、ドメイン、名前のいずれかでどのストアかを指定します。すでに別のサイトに接続しているストアは拒否されます。
一部返金はどのように数えますか?
Lemon Squeezy は返金を個別に記録せず、返金累計額を更新していきます。そのため Tally は、新しい累計が届くたびに増えた分を記録します。Webhook と取り込みがどの順で届いても合計は同じになり、税は返金額に応じて按分します。
古い注文に流入元がないのはなぜですか?
Lemon Squeezy の API はチェックアウトが持っていたカスタムデータを返さないため、接続前の注文は購入者のメールアドレスでしか紐づけられません。接続後の注文には訪問者の ID が付きます。