Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stripe Checkout 使ってみた

HaruyaTaniguchi
January 17, 2024
23

Stripe Checkout 使ってみた

グーグルスライドからエクスポートしたデータを使用したところ日本語のフォントが変な感じになってしまいました。

HaruyaTaniguchi

January 17, 2024
Tweet

Transcript

  1. 実装 1. 登録した商品情報の取得。 ◦ ダッシューボードから商品を登録 ◦ 商品データの取得 ◦ 商品データの表示 2.

    Checkout セッションを作成し、決済ページを表示。 ◦ Stripe Checkout の利用の流れ ◦ 注文ボタンの実装 ◦ Checkout セッションの作成と、決済ページへのリダイレクト
  2. 1. 登録した商品情報の取得 - 取得したデータの中身 商品データのオブジェクト (※今回使うデータのみ抜粋) • 商品ID、商品名、商品説明 • 価格ID、通貨、価格の数値

    { id: 'prod_PCGXBUmLP5fTJj', description: '普通のうさぎの3Dモデル。', name: 'うさぎA', images: [ 'https://files.stripe.com...' ], prices: [ { id: 'price_1ONs0IC10kBB33p9GcKmE3ZF', currency: 'jpy', unit_amount: 1360, archive: undefined } ] }
  3. 1. 登録した商品情報の取得 - 商品情報の表示 • 取得しデータを、商品表示 用のコンポーネントに渡して 商品を表示。 <div className="productCardWrapper">

    {products.map((product) => { console.log(product); return ( <ProductCard product={product} key={product.id} ></ProductCard> ); })} </div>
  4. 2. 決済ページの表示 - Stripe Checkoutの利用の流れ 2. サーバー側で Stripe API を呼び出して

    Checkout セッションを作成 (引用元:https://stripe.com/docs/payments/checkout/how-checkout-works)
  5. 2. 決済ページの表示 - 注文ボタンの実装 • Next.jsのRoute handlerで注文ボタンからのポスト受け取る。 • セッションを作成し、提供されたURLへリダイレクト。 export

    async function POST(request: Request) { const session = await stripe.checkout.sessions.create(... ... return NextResponse.redirect(session.url, 303); }
  6. 2. 決済ページの表示 - Checkout セッションの作成 const session = await stripe.checkout.sessions.create({

    mode: 'payment', //決済のタイプ line_items: [{ //商品情報の配列 price_id, //価格ID quantity, //商品の数量 }], success_url: 'http://…', //決済後にリダイレクトされるリンク cancel_url: 'http://…' }) • セッションを作成はstripe.checkout.sessions.createで作成する。 • 必要なのは価格のIDと数量の情報
  7. 参考 • Stripe DOCS 「商品および価格の使用を開始」 https://stripe.com/docs/products-prices/getting-started • Stripe DOCS 「Checkout

    の仕組み」 https://stripe.com/docs/payments/checkout/how-checkout-works • Zenn 「Next.jsとStripeではじめるシンプルな ECサイト開発ワークショップ」 https://zenn.dev/stripe/books/stripe-nextjs-use-shopping-cart