メインコンテンツへスキップ

概要

Depotはリダイレクト型の決済方法です。APIで決済を作成後、顧客をpayment_urlにリダイレクトして決済を完了します。

決済フロー

1

決済作成

POST /v1/payments を呼び出して決済を作成し、payment_url を取得
2

顧客をリダイレクト

顧客を payment_url にリダイレクト
3

顧客が決済完了

顧客がDepotのページで決済を完了
4

リダイレクトバック

顧客は success_redirect_url または failure_redirect_url にリダイレクト
5

結果確認

必要に応じて決済取得APIで決済ステータスを確認

実装例

// 1. APIで決済を作成
const response = await fetch('https://api.sandbox.zafapay.com/v1/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: 1000,
    currency: 'usd',
    external_id: 'order_12345'
  })
});

const payment = await response.json();

// 2. 顧客をDepot決済ページにリダイレクト
window.location.href = payment.payment_url;

Webhook連携

確実な決済確認のため、Webhookを設定してください:
// Webhookハンドラー
app.post('/webhooks/zafapay', async (req, res) => {
  const event = req.body;

  if (event.type === 'payment.completed') {
    // 注文ステータスを更新
    await updateOrder(event.data.external_id, 'paid');
  }

  res.json({ received: true });
});
APIパラメータとレスポンスの詳細は、決済作成 APIリファレンスをご覧ください。