Home
>
Docs
>
>

加盟店クイックスタート

Jamm SDKをインストールし、最初の決済とWebhookの受信までを行うクイックスタートガイドです。認証情報の取得後、エンドツーエンドの動作確認までを案内します。

このガイドでは、認証情報の受領から最初の決済とWebhookの受信までを行います。認証情報がまだの方は、Merchant Onboarding Guideからお進みください。

ここではNode SDKを使用します。同等のコードはRubyPHPJavaでも利用可能です。パラメーターとエンドポイントの全リストはAPIリファレンスを参照してください。


セットアップと実装

  1. SDKのインストール: ステップ1。 以下のコマンドをプロジェクトのターミナルで実行して、Jamm Nodeパッケージをインストールします:
npm install @jamm-pay/node-sdk
  1. 認証情報で初期化: ステップ2。 クライアント認証情報でSDKを設定します。SDKは認証(トークン交換と更新)を自動的に処理します。
import jamm from "@jamm-pay/node-sdk";

jamm.config.init({
  clientId: process.env.JAMM_CLIENT_ID,
  clientSecret: process.env.JAMM_CLIENT_SECRET,
  environment: process.env.JAMM_ENVIRONMENT as "staging" | "prod",
});

.envファイルに環境変数を設定します:

# .env (staging)
JAMM_CLIENT_ID=your-staging-client-id
JAMM_CLIENT_SECRET=your-staging-client-secret
JAMM_ENVIRONMENT=staging
  1. 最初の決済を作成: ステップ3。 On-session決済リクエストを作成します。購入者はJammのホストページにリダイレクトされ、銀行情報を登録して決済を認可します。
const result = await jamm.payment.onSessionPayment({
  buyer: {
    email: "customer@example.com",
  },
  charge: {
    price: 4000,
    description: "Order #1234",
    metadata: {},  // 任意:独自の追跡用key-value
  },
  redirect: {
    successUrl: "https://yoursite.com/success",
    failureUrl: "https://yoursite.com/failure",
  },
});

// 購入者を決済完了のためにリダイレクト
const paymentUrl = result.data?.paymentLink?.url;

// 今後のoff-session請求のために顧客IDを保存
const customerId = result.data?.customer?.id; // "cus-..."

Tip: 返ってきたcustomer.idcus-*)を保存してください。後で同じ購入者にoff-sessionで請求する際(サブスクリプション更新やリピート注文など)に使用します。

  1. Webhookの受信: ステップ4。 Jammはオンボーディング時に指定されたURLにWebhook通知を送信します。イベントを信頼する前に、必ず署名(HTTPヘッダーではなくペイロードボディに含まれます)を検証してください。
import jamm from "@jamm-pay/node-sdk";

// 先に検証(署名はボディに含まれます)してからパース
jamm.webhook.verify({ data: body.content, signature: body.signature });
const event = jamm.webhook.parse({ data: body });

if (jamm.types.eventTypeEquals(jamm.types.EventType.CHARGE_SUCCESS, event.eventType)) {
  // 決済成功 — 注文を確定
}

よく使うイベントタイプ

イベントタイプタイミング推奨される対応
CHARGE_CREATED新しい決済が作成されたログ / 記録
CHARGE_SUCCESS決済が成功した注文を確定
CHARGE_FAIL決済が失敗した失敗を記録 / ユーザーに通知
REFUND_SUCCEEDED返金が完了した台帳を更新
REFUND_FAILED返金が失敗したエラー詳細を確認
CONTRACT_ACTIVATED購入者がoff-session請求の準備完了バックグラウンド請求が可能
USER_ACCOUNT_DELETED購入者のアカウントが無効化された今後の請求を停止

次のステップ

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