Home
>
Docs
>
>

On-session決済

リダイレクトを含む決済 — 単発の購入、または将来の請求のためのContract設定。

On-session決済では、BuyerはJammがホストするページにリダイレクトされ、銀行口座を登録して支払いを承認します。初回のBuyerにはOn-sessionを使用します。1回のOn-sessionリクエストで両方のバリエーションに対応し、oneTimeフラグで選択します。


バリエーション

単発の購入

oneTime: trueを設定すると、将来の請求のための承認を保存しない単発の請求になります。後でBuyerに再度請求するには、改めてOn-sessionフローが必要です。

const result = await jamm.payment.onSessionPayment({
  buyer: { email: "customer@example.com" },
  charge: { price: 4000, description: "Single order" },
  redirect: {
    successUrl: "https://yoursite.com/success",
    failureUrl: "https://yoursite.com/failure",
  },
  oneTime: true,
});

Contractの設定

oneTime: falseを設定します。Buyerは今すぐ請求され(任意)、かつ将来の請求を承認します。これにより、On-sessionを再度行わなくても、更新・リピート注文・サブスクリプションなどを後から任意のタイミングで請求できます。

const result = await jamm.payment.onSessionPayment({
  buyer: { email: "customer@example.com" },
  charge: { price: 1000, description: "Plan — first month" },
  redirect: { successUrl: "...", failureUrl: "..." },
  oneTime: false,
});

const customerId = result.data?.customer?.id;  // save this "cus-..." for off-session charges

重要: Contractはユーザーが承認するまで有効化されません — Off-session請求を行う前にCONTRACT_ACTIVATED Webhookを待ってください。


決済フロー

  1. Buyerをリダイレクトする: ステップ1。 レスポンスには支払いURLが含まれます。Buyerをそこにリダイレクトし、銀行口座の登録と請求の承認を行ってもらいます:
   // Node — レスポンスから支払いURLを読み取る
   const paymentUrl = result.data?.paymentLink?.url;
  1. 期限内に完了する: ステップ2。 支払いはデフォルトで作成から90分後に期限切れになります — Buyerはその時間内に完了する必要があります。別の有効期限を使用するには、chargeに未来のexpiresAtを渡してください。

  2. リダイレクトを処理する: ステップ3。 Buyerが完了すると、Jammは成功URLまたは失敗URLにBuyerを戻します。

    注意: これは「Buyerが戻ってきた」ことのみを意味し、支払いの証明ではありません。

  3. Webhookで注文を確定する: ステップ4。 実際の結果は、請求が確定した際にJammがサーバーに送信するCHARGE_SUCCESS Webhookで確認してください。リダイレクトではなく、このWebhookで注文を確定してください。

Was this page helpful?
Need help? Coming Soon
Support Center Slack community Contact us
Sign up for our developer newsletter: Coming Soon
You can unsubscribe at any time. Read our
privacy policy and terms and conditions.
jaen