会計ソフトウェアとの連携ベータ
ユーザーが取引、手数料、返金、入金、顧客、商品を、自社の会計ソフトウェアと自動的に同期できるようにします。
Connect の埋め込みコンポーネントを導入する
Connect.js を設定して、連結アカウントのダッシュボード機能をウェブサイトに追加することができます。
連携するアプリを選択する
Stripe は以下の会計アプリとの連携に対応しています。
会計アプリとの連携 | アプリ ID |
---|---|
QuickBooks Sync by Acodei | com.example.acodeistripeapp |
Xero sync (Xero) | com.xero.stripeapp |
アプリのインストールを設定する
選択した会計アプリのアプリインストール埋め込みコンポーネントをレンダリングします。アプリをインストールすると、サードパーティーアプリに対して、ユーザーの Stripe データへのアクセス権が付与され、プラットフォーム、Stripe、サードパーティーアプリ間の接続が作成されます。コンポーネントには uninstalled
と installed
の 2 つの状態があります。インストールイベントトリガーをリッスンして、カスタムの UX フローを構築するか、自社のバックエンドで更新を行います。
アカウントセッションの作成時に、components
パラメーターで app_onboarding
、app_install
、app_settings
を指定して、支払いを有効にします。
アカウントセッションを作成して、ConnectJS を初期化すると、フロントエンドに app_install コンポーネントを表示できます。
この埋め込みコンポーネントは、次のパラメーターに対応します。
アプリの設定を構成する
選択した会計アプリのアプリ設定埋め込みコンポーネントをレンダリングして、OAuth による会計ソフトウェアアカウントへの接続、アカウント登録、設定、サービスの構成、取引の同期状態など、アプリのコア機能を有効にします。 user_id
(プラットフォーム上のビジネスを表す) をオプションの HTML 属性として渡して、サードパーティーアプリが、OAuth 後にユーザーのダッシュボードにリダイレクトする動的 URL の構築に使用できるようにします。
このコンポーネントは、次のオプションの属性に対応します。
属性 | 説明 |
---|---|
app | Stripe が提供する埋め込みアプリのアプリ ID |
user-id | プラットフォームユーザーの一意の ID |
OBO による Connect デスティネーションのカスタマイズ
必須およびオプションの取引データを Xero または QuickBooks Sync by Acodei に渡すには、以下の標準化データスキーマを使用して、連結アカウントのデスティネーション支払いを更新します。Customer オブジェクトをデスティネーション支払いに渡す必要があります。さらに、QuickBooks Sync by Acodei の場合、メタデータに記述された返金額で支払いを更新する必要もあります。デスティネーション支払いの支払い更新が必要となるケースは、以下の 3 つです。
- 1 回限りの支払いが完了した場合
- 継続支払いが完了した場合
- 支払いが返金された場合
フィールド名またはキー名 | 形式 (標準の CSV ルールが適用されます) | 説明 |
---|---|---|
charges.customer | 文字列 (ID) | デスティネーション支払いオブジェクトに関連付けられた Stripe 顧客 ID (連結アカウントに属する)。このフィールドが存在しない場合、取引はアプリ (Xero や QBO など) と同期しません。 |
customer.name | 文字列 | 顧客の氏名 |
customer.email | 文字列 | 顧客のメールアドレス |
customer.address.<> | 文字列 (マルチフィールド) | 顧客の実在住所 (請求と配送の両方に使用可能な住所) |
charges.metadata.[refund_amount] | 文字列 (セントの整数) | ミラーリング charges.amount_refunded |
charges.metadata.[refund_reason] | 文字列 | 返金の理由 |
charges.metadata.[currency_converted] | true | false | null | 通貨が換算された場合、たとえば、取引通貨が売上処理通貨と異なる場合は、true に設定します。 |
customer.metadata.[platform_customer_ID] | 文字列 | プラットフォームのシステムに記録されている顧客 ID |
charges.metadata.[platform_product_ID] | 文字列、CSV 複数商品 | この取引 (支払い) に関連して、プラットフォームのシステムに記録されている商品 ID |
charges.metadata.[platform_product_name] | 文字列、CSV 複数商品 | この取引 (支払い) に関連して、プラットフォームのシステムに記録されている商品名 |
charges.metadata.[platform_product_value] | 文字列、CSV 複数商品 | 商品 ID と名前に対応する個々の商品の値 (価格 / コスト) |
charges.metadata.[platform_order_ID] | 文字列 | この取引 (支払い) に関連して、プラットフォームのシステムに記録されている注文 ID |
charges.metadata.[platform_charge_ID] | 文字列 | プラットフォームのシステムに記録され、加盟店に表示される支払いまたは取引 ID |
charges.metadata.[fees_names] | 文字列、CSV | 加盟店が支払うものの、支払いでキャプチャーされない取引に関連するあらゆる種類の手数料 (費用) の名前。例: クレジット処理手数料、プラットフォーム手数料。「注: このフィールドが入力されている場合、charges.application_fee は無視されます。」 |
charges.metadata.[fees_values] | 文字列、CSV | 加盟店が支払うものの、支払いでキャプチャーされない取引に関連するあらゆる種類の手数料 (費用) の金額。例: クレジット処理手数料、プラットフォーム手数料。 |
次のコードスニペットの例では、対象となるデスティネーション支払いに移動し、スキーマごとに更新する方法を示しています。
- 取引からデスティネーション支払いまでの追跡
const paymentOnPlatform = await StripeClient.paymentIntents.retrieve( "pi_3N6JL7LirQdaQn8E1Lpn7Dui", ); const latestCharge = await StripeClient.charges.retrieve( paymentOnPlatform.latest_charge as string, ); const transfer = await StripeClient.transfers.retrieve( latestCharge.transfer as string, ); const payment = await StripeClient.charges.retrieve( transfer.destination_payment as string, undefined, { stripeAccount: transfer.destination as string, }, );
- 顧客を作成したら、関連する顧客 ID とメタデータで支払いを更新します。顧客はデータの受け渡しやアプリの同期を行うプラットフォームではなく、連結アカウントに属している必要があります。
const customer = await StripeClient.customers.create( { email: `jenny.rosen@example.com`, name: "Jenny Rosen", address.city: "Brothers" Address.state: "Oregon" address.country: "USA" address.line1: "27 Fredrick Ave" address.postal_code: "97712" metadata: { platform_customer_ID: "K-123456" }, }, { stripeAccount: accountId, }, ); const payment = await StripeClient.charges.update( id, { customer: customer.id, metadata: { product_name: "Creative writing course for PMs", platform_product_ID: "P-123456" platform_order_ID: "O-123456" }, }, { stripeAccount: accountId, }, );
ダイレクト支払い
埋め込み型の会計導入では、Stripe に保存されているすべての支払い、顧客、商品データにアクセスできます。以下のメタデータスキームを使用して、アプリを通じてオプションのプラットフォーム固有のデータを会計ソフトウェアに渡すことができます。
フィールド名またはキー名 | 形式 (標準の CSV ルールが適用されます) | 説明 |
---|---|---|
customer.metadata.[platform_customer_ID] | 文字列 | プラットフォームのシステムに記録されている顧客 ID |
payment.metadata.[platform_product_ID] | 文字列、CSV 複数商品 | Stripe の商品 ID と異なる場合、この取引に関連してプラットフォームのシステムに記録されている商品 ID |
payment.metadata.[platform_product_name] | 文字列、CSV 複数商品 | Stripe の商品名と異なる場合、この取引に関連してプラットフォームのシステムに記録されている商品名またはサービス名 |
payment.metadata.[platform_product_value] | 文字列、CSV 複数商品 | Stripe の商品価格と異なる場合、ID と名前の配列に対応する個々の商品の値 (価格 / コスト) |
payment.metadata.[platform_order_ID] | 文字列 | この取引 (支払い) に関連して、プラットフォームのシステムに記録されている注文 ID |
payment.metadata.[platform_charge_ID] | 文字列 | Stripe の支払い ID と異なる場合は、プラットフォームのシステムに記録され、ユーザーに表示される支払いまたは取引 ID |
ユーザー請求
プラットフォームのユーザーの場合、Xero アプリは無料です。QuickBooks Sync by Acodei には無料と有料の価格帯があります。
その他の連携
他の会計ソフトウェアとの連携や、他の種類の連携をご希望の場合、stripe-apps@stripe.com までお問い合わせください。