加盟店クイックスタート
Jamm SDKをインストールし、最初の決済とWebhookの受信までを行うクイックスタートガイドです。認証情報の取得後、エンドツーエンドの動作確認までを案内します。
このガイドでは、認証情報の受領から最初の決済とWebhookの受信までを行います。認証情報がまだの方は、Merchant Onboarding Guideからお進みください。
ここではNode SDKを使用します。同等のコードはRuby、PHP、Javaでも利用可能です。パラメーターとエンドポイントの全リストはAPIリファレンスを参照してください。
セットアップと実装
- SDKのインストール: ステップ1。 以下のコマンドをプロジェクトのターミナルで実行して、Jamm Nodeパッケージをインストールします:
npm install @jamm-pay/node-sdk - 認証情報で初期化: ステップ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
- 最初の決済を作成: ステップ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.id(cus-*)を保存してください。後で同じ購入者にoff-sessionで請求する際(サブスクリプション更新やリピート注文など)に使用します。
- 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 | 購入者のアカウントが無効化された | 今後の請求を停止 |
次のステップ
- リピートの顧客に請求 — Off-session決済を参照
Was this page helpful?
Need help? Coming Soon
Support Center Slack community Contact usSign up for our developer newsletter: Coming Soon
You can unsubscribe at any time. Read our
privacy policy and terms and conditions.
privacy policy and terms and conditions.