Closed12

Stripe FAQ Memo

ピン留めされたアイテム
nitakingnitaking

主に Stripe Connectを前提として不明点をスクラップにまとめました。

nitakingnitaking

Stripe Connectのアカウントタイプの途中変更・移行はできるか?

結論:できない。

以下、問い合わせしたときの返答

大変恐れ入りますが、ConnectのアカウントタイプをStandardに指定した後に、Express / Customに変更することはできかねます。

その場合は、新しくExpress / Customを作成いただく必要がございます。

今回お寄せいただいたお声をふまえ、弊社にて機能の充実・改善を引き続き行ってまいります。

また、何かアップデートがございましたら告知させていただきます。

変更となると再作成になるので、タイプの変更が必要になると移行コストは発生するイメージ。

先に要件は固めておいたほうがよい。

nitakingnitaking

CheckOutに自動割引は適用できるか?

  • プロモーションコードの入力可否は設定できる
  • クーポンはcheckout作成時に自動適用できる
nitakingnitaking

初回限定のクーポンは、セットしたまま二回目の購入ではエラーなく、割引はされずに決済できるか?

  • クーポン

    const session = await stripe.checkout.sessions.create({
        mode: 'payment',
        customer,
        line_items: [{
            price: price.id,
            tax_rates: ["txr_xxxxxxxxxxxxxx"],
            quantity: 1,
          },
        ],
        discounts: [{
          coupon: 'cp_xxxxxxxx',
        }],
        cancel_url: 'http://localhost:4200/xxx',
        success_url: 'http://localhost:4200/xxx',
        payment_intent_data: {
          setup_future_usage: 'off_session',
          // プラットフォーム手数料
          application_fee_amount,
          transfer_data: {
            destination: account,
          },
        },
      });
    
    • 1回限りのクーポンを適用して、2回目を実行しても、割引が適用されてしまう
  • 「この商品の初回購入の判定」ができれば、クーポンの使用可否が判断できる

nitakingnitaking

どうやってオーソリ処理を実装するの?

  • payment_intent.createのときに、 {capture_method: 'manual'}にするだけでOK
const paymentIntent = await stripe.paymentIntents.create({
  amount: 1099,
  currency: 'usd',
  payment_method_types: ['card'],
  capture_method: 'manual',
  payment_method: '{{PAYMENT_METHOD_ID}}',
});
  • checkoutの場合、payment_intent_dataに設定する
const session = awaitstripe.checkout.sessions.create({
  mode: 'payment',
  customer: customer,
  line_items: [
    {
      price: price.id,
      tax_rates: [StripeConfig.tax_rate.id],
      quantity: 1,
    },
  ],
  discounts: [{ coupon: 'Ix8wjKdX' }],
  cancel_url: `${context.rawRequest.headers.origin}/trial-stripe`,
  success_url: `${context.rawRequest.headers.origin}/trial-stripe`,
  payment_intent_data: {
    setup_future_usage: 'off_session',
    // プラットフォーム手数料
    application_fee_amount,
    transfer_data: {
      destination: account,
    },
    // プラットフォーム手数料 
    capture_method: 'manual'
  },
}
payment_intent_data: {
  capture_method: 'manual'
},
nitakingnitaking

Stripeにはオーソリの実行と、キャンセルの仕組みがある。

Place a hold on a card

  • オーソリとは
    • 与信枠の確保ができる
    • オーソリで確保した枠内であれば売上確定も可能。
    • オーソリの場合、mentallyの固定の入金日ではなく、”オーソリ後からX日後”として有効期限が設定される
  • オーソリを使わないで返金を使用する場合
    1. ユーザーがキャンセルしたはずの決済が残ってしまう
  • オーソリした場合のStripe管理画面

参考事例

https://tech.kitchhike.com/entry/stripe-authorization

nitakingnitaking

アカウントのケイパビリティとは

https://stripe.com/docs/connect/account-capabilities

  • 支払い能力のようなもの。
  • 各国や、サービス特性によって、支払い能力の確認項目がかわる。無指定だと推奨項目が求められるので、簡単にするには指定する必要がある。
nitakingnitaking

WIP

  • 連結アカウントの事前情報入力時に、住所入力せずにすむか
  • Run Payments with Stripeは通常の支払い(サブスクリプション以外)でも使えるか?
  • Stripeの検証に使用できるカード情報はどれか
  • 事前にカード情報を保存できるかどうか
このスクラップは2023/01/07にクローズされました