Komoju API は決済のための RESTful HTTP インターフェースを提供いたします。各リソース毎の詳細な説明は、 リソースページ でご確認ください。

現在 Komoju API は次の 8 つの決済方法に対応しております:クレジットカード銀行振込コンビニ決済PayEasyBitCashNET CASHnanaco、および WebMoney

Komoju API へのリクエストは HTTPS を使う必要があり、エンドポイントは https://komoju.com/api/v1 である必要があります。API から返ってきたデータはすべて JSON フォーマットになっています。リクエスト作成時の文字コードは UTF-8 を使用してください。

認証

Komoju は、秘密 API キーおよび公開 API キーをクライアントに提供しますので、そのキーで API へのリクエストを作成することができます。テスト環境用および本番環境用に 2 本のキーをご用意いたします。このキーは、お使いのクライアントアカウント設定ページでご確認いただけます。

Komoju API は、 HTTP ベーシック認証 を使用して API リクエストを認証していますので、お使いの API キーをユーザー名として渡す必要があります。その際パスワードは要りません。例えば、以下のようなコードとなります:

curl -u secret_key: "https://komoju.com/api/v1/payments"

レスポンス & エラー

HTTP ステータスコード

Komoju API は HTTP ステータスコードを使用してリクエストの成功または失敗を表現します。次の表は、Komoju API が返すステータスコードの一覧です。

ステータスコード 説明
200 OK サーバーがリクエストを正常に処理しました
202 Accepted リソースは正常に作成されましたが、プロセスは完了していません
204 No Content サーバーはリクエストを正常に処理しましたが、返す情報がありません
401 Not Authorized API キーが無効、または見つかりません
403 Forbidden API キーにはリソースにアクセスする権限がありません
404 Not Found リソースが見つかりません
422 Unprocessible Entity パラメータが不正または不足しています
500 Internal Server Error Komoju サーバー内でなんらかの問題が発生しました
502 Bad Gateway 上位の決済プロセッサがエラーを返してきました
503 Service Unavailable サーバーメンテナンス中

エラー

エラーは JSON フォーマットで返されます。code および message パラメータは各エラーメッセージ毎に返されます。

属性

パラメータ タイプ 詳細
message 文字列 エラーメッセージの内容が記載された文字列
code 文字列 エラーコード
param 文字列 エラーの発生したパラメータ

JSON Object

{
  "error": {
     "message": "A required parameter (amount) is missing",
     "code": "missing_parameter",
     "param": "amount"
  }
}

エラーコード

エラーコード HTTP ステータスコード メッセージ例
bad_request 400 不正な要求です。サーバーは要求を処理できません。
unauthorized 401 ユーザーの認証に失敗しました。
not_found 404 リソースが見つかりませんでした。
internal_server_error 500 内部エラーが発生しました。
forbidden 403 リソースへのアクセスは許可されていません。
unprocessable_entity 422 指定されたパラメータに何らかの不整合があるため処理できません。
locked 423 処理中です。
bad_gateway 502 上位ゲートウェイがエラーを返却しました。
gateway_timeout 504 支払いの処理中にゲートウェイタイムアウトが発生しました。請求は行われていません。支払いを再試行してください。
service_unavailable 503 メンテナンス中です。しばらくしてからもう一度実行してください。
request_failed 402 リクエストが失敗しました。
invalid_payment_type 422 支払い方法が無効です。 %{provided} は %{allowed} の一つではありません。
invalid_token 422 トークンの値が不正です。
invalid_currency 422 指定された通貨が不正です。
not_refundable 422 返金できない支払いです。
not_capturable 422 入金できない決済です。
not_cancellable 422 キャンセルできない支払いです。
fraudulent 422 不正行為の疑いのある支払いです。
invalid_parameter 422 %{param} の値が不正です。
missing_parameter 422 必須パラメータ (%{param}) が指定されていません。
insufficient_funds 502 残高不足です。
used_number 502 使用済みの番号です。
card_declined 502 カードは拒否されました。
invalid_password 502 パスワードが不正です。
bad_verification_value 502 セキュリティーコードが不正です。
exceeds_limit 502 決済可能額を超過しました。
card_expired 502 カードは期限切れです。
invalid_number 502 指定された番号が不正です。
invalid_account 502 アカウントが不正です。
other_invalid 502 translation missing: ja.errors.bad_gateway.other_invalid

ページネーション

10 以上のアイテムを含むリクエストはデフォルトでページ割りされます。Komoju では page および per_page パラメータを使ってページ割りを行います。per_page パラメータの最大値は 100 です。

curl -u komoju-mart: "https://komoju.com/api/v1/payments?page=2&per_page=100"

ペイメント

ペイメントリソース

フィールド 詳細
id 文字列
resource 文字列 payment の値
status 文字列 ペイメント状況
amount 整数 課税前の合計金額。0 以上である必要があります。小数点には '.' を使用し、千の単位を表すカンマは使用しません
tax 整数 課税する税金の金額、あるいは現在日本で定められている消費税を使用する時は ‘auto’ を設定します。小数点には '.' を使用し、千の単位を表すカンマは使用しません。税金が通貨よりもさらに正確で細かい場合は、四捨五入のアルゴリズムを使用して調整します
customer 文字列 顧客ID
payment_deadline タイムスタンプ ペイメントの有効期限が切れる日時です。これは次のような ISO 8601 フォーマットのタイムスタンプで表します:YYYY-MM-DDTHH:MM:SSZ
payment_details ハッシュまたはトークン お支払方法を表します
payment_method_fee 整数 特定のお支払方法に追加される手数料など
total 整数 お支払合計金額。これは、お支払金額 + 税 + お支払方法による手数料
currency 文字列 決済が行われた 3 文字の ISO 通貨コード
description 文字列 お支払方法の詳細 (オプションが有効な場合はメールの文面に使用されます)
captured_at タイムスタンプ ペイメントが保存された日時を表す ISO 8601 フォーマットのタイムスタンプ
external_order_num 文字列 決済におけるクライアントのユニーク ID です決済ひとつひとつを特定できるように、すべてのコールバックに必ず含まれます
metadata ハッシュ key-value のペアのセット
created_at タイムスタンプ ペイメントが作成された日時を表す ISO 8601 フォーマットのタイムスタンプ
amount_refunded 整数 返金済み金額
locale 文字列 お支払いメールや支払方法の説明などの言語
refunds ハッシュ 返金情報
refund_requests ハッシュ 返金申込み情報

ペイメントの詳細

複数の支払い方法を抽象化し、統一されたAPIを提供するために、Komoju API はリクエストとレスポンスにpayment_details ハッシュを使用しています。

payment_details ハッシュは、credit_cardkonbinibank_transferpay_easyweb_moneybit_cashnanaconet_cash のうちいずれかの値をとる type パラメータを含む必要があります。

サンプル

  • クレジットカード
  • コンビニ
  • 銀行振込
  • PayEasy
  • WebMoney
  • ビットキャッシュ
  • nanaco
  • NET CASH
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=100" \
  -d "currency=JPY" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=bit_cash" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[expiry_days]=3" \
  -d "payment_details[phone]=090-1111-2222" \
  -d "payment_details[store]=lawson" \
  -d "payment_details[type]=konbini" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=KRW" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[happy_money_id]=11111111" \
  -d "payment_details[happy_money_password]=11111111" \
  -d "payment_details[type]=happy_money" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[family_name]=山田" \
  -d "payment_details[family_name_kana]=ヤマダ" \
  -d "payment_details[given_name]=太郎" \
  -d "payment_details[given_name_kana]=タロウ" \
  -d "payment_details[phone]=080-1111-2222" \
  -d "payment_details[type]=pay_easy" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=net_cash" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=web_money" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[expiry_days]=14" \
  -d "payment_details[family_name]=山田" \
  -d "payment_details[family_name_kana]=ヤマダ" \
  -d "payment_details[given_name]=太郎" \
  -d "payment_details[given_name_kana]=タロウ" \
  -d "payment_details[phone]=080-1111-2222" \
  -d "payment_details[type]=bank_transfer" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=KRW" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[culture_id]=11111111" \
  -d "payment_details[culture_password]=11111111" \
  -d "payment_details[type]=culture_voucher" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[family_name]=Yamada" \
  -d "payment_details[given_name]=Taro" \
  -d "payment_details[month]=01" \
  -d "payment_details[number]=4111111111111111" \
  -d "payment_details[type]=credit_card" \
  -d "payment_details[verification_value]=123" \
  -d "payment_details[year]=2023" 
curl -X POST https://komoju.com/api/v1/payments \
  -u sk_123456: \
  -d "amount=1000" \
  -d "currency=JPY" \
  -d "external_order_num=123" \
  -d "metadata[foobar]=hoge" \
  -d "payment_details[email]=test@example.com" \
  -d "payment_details[prepaid_number]=1111111111111111" \
  -d "payment_details[type]=nanaco" 
{
  "id": "5a8j9st5hu2etnm5kxw2lp67g",
  "resource": "payment",
  "status": "captured",
  "amount": 100,
  "tax": 8,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "bit_cash",
    "email": "test@example.com"
  },
  "payment_method_fee": 0,
  "total": 108,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": null,
  "metadata": {
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "3cyp9bp73sz4uav4qjrd2s9fu",
  "resource": "payment",
  "status": "authorized",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-10-18T14:59:59Z",
  "payment_details": {
    "type": "konbini",
    "email": "test@example.com",
    "store": "lawson",
    "confirmation_code": "2222",
    "receipt": "90865708838",
    "instructions_url": "https://komoju.com/ja/instructions/3cyp9bp73sz4uav4qjrd2s9fu"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": null,
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "a2wlvje0wxly52jfwhxfpvvb8",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "happy_money",
    "email": null,
    "happy_money_id": "11111111"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "KRW",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "2q59ydm37br20db0aiqkxvh3z",
  "resource": "payment",
  "status": "authorized",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-10-25T14:59:59Z",
  "payment_details": {
    "type": "pay_easy",
    "email": "test@example.com",
    "bank_id": "58191",
    "customer_id": "20001900030947960025",
    "confirmation_id": "288916",
    "instructions_url": "https://komoju.com/ja/instructions/2q59ydm37br20db0aiqkxvh3z"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": null,
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "a41j8ur61djrudunxzfx3sif6",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-10-22T03:13:55Z",
  "payment_details": {
    "type": "net_cash",
    "email": "test@example.com",
    "short_amount": 0,
    "prepaid_cards": [
      {
        "last_four_digits": "1111",
        "points": 1080
      }
    ]
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "a4ptrr7a37opo5feu0ja5kg19",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "web_money",
    "email": "test@example.com",
    "short_amount": 0,
    "prepaid_cards": [
      {
        "last_four_digits": "1111",
        "points": 1080
      }
    ]
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "2aqeiam40z5azgiowp1p3pn5l",
  "resource": "payment",
  "status": "authorized",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-10-22T14:59:59Z",
  "payment_details": {
    "type": "bank_transfer",
    "email": "test@example.com",
    "order_id": "H2529456854",
    "bank_name": "三井住友銀行",
    "account_branch_name": "ひなぎく",
    "account_number": "51",
    "account_type": "普通預金",
    "account_name": "株式会社DEGICA(カブシキガイシャ デジカ)",
    "instructions_url": "https://komoju.com/ja/instructions/2aqeiam40z5azgiowp1p3pn5l"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": null,
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "dy2g82yqkakeyimfuc7c9n8yu",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": null,
  "payment_details": {
    "type": "culture_voucher",
    "email": null,
    "culture_id": "11111111"
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "KRW",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "dm3xo6yy6l05joook9lpubmn9",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-10-22T14:59:59Z",
  "payment_details": {
    "type": "credit_card",
    "email": "test@example.com",
    "brand": "visa",
    "last_four_digits": "1111",
    "month": 1,
    "year": 2023
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}
{
  "id": "14t82xjptssn8af3bl4e3pxgw",
  "resource": "payment",
  "status": "captured",
  "amount": 1000,
  "tax": 80,
  "customer": null,
  "payment_deadline": "2018-10-22T03:13:55Z",
  "payment_details": {
    "type": "nanaco",
    "email": "test@example.com",
    "short_amount": 0,
    "prepaid_cards": [
      {
        "last_four_digits": "1111",
        "points": 1080
      }
    ]
  },
  "payment_method_fee": 0,
  "total": 1080,
  "currency": "JPY",
  "description": null,
  "captured_at": "2018-10-15T03:13:55Z",
  "external_order_num": "123",
  "metadata": {
    "foobar": "hoge"
  },
  "created_at": "2018-10-15T03:13:55Z",
  "amount_refunded": 0,
  "locale": "ja",
  "refunds": [

  ],
  "refund_requests": [

  ]
}

クレジットカード

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 credit_card の値
email 文字列 ペイメント受領時に送信するメールアドレス。オプションです。
number 数値 クレジットカード番号
month 数値 有効期限月
year 数値 有効期限年
verification_value 数値 CCV セキュリティ番号
given_name 文字列 顧客の名前
family_name 文字列 顧客の苗字
レスポンスパラメータ 詳細
type credit_card の値
email ペイメント受領時に送信するメールアドレス
brand visamastercard などクレジットカード会社のブランド
last_four_digits クレジットカード番号の末尾 4 桁
month クレジットカードの有効期限月
year クレジットカードの有効期限年

テストで使用するカード

注: ここで紹介しているカード番号は Komoju の Test モードでのみ利用可能です。Live モードでは利用できません。Live モードで購入の動作確認を行いたい場合は、お持ちの本物のクレジットカードをお使いください。

カード番号 タイプ
3530111333300000 JCB
378282246310005 American Express
4111111111111111 Visa
5555555555554444 MasterCard
30569309025904 Diners Club
4123111111111000 残高不足
4123111111111018 ご利用限度額を超過
4123111111111034 セキュリティ番号が不正
4123111111111042 期限切れのカード
4123111111111059 クレジットカード使用不可
4123111111111067 無効なカード

銀行振込

ペイメントが作成されると、bank_number を返しますので、ユーザーは振込名義人に order_id パラメータを入力して送金する必要があります。ペイメントを受領すると、 webhook を送信して支払い状況をお知らせいたします。

制限

  • 銀行振り込みは日本で定められている営業時間内でのみ記録・保管されます。
  • ペイメントは 14 日が経過すると無効となります。(有効期限が切れると webhook を送信してお知らせします。)

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 bank_transfer の値
email 文字列 ペイメント受領時にレシートおよびお支払方法を送信するメールアドレス。
given_name 文字列 顧客の名前
family_name 文字列 顧客の苗字
given_name_kana 文字列 顧客のカタカナ名
family_name_kana 文字列 顧客のカタカナ名 (苗字)
phone 文字列 顧客の電話番号
expiry_days 整数 ペイメントの有効期間の日数(最大 59 日)。オプションです。
レスポンスパラメータ 詳細
type bank_transfer の値
email ペイメント受領時にレシートおよびお支払方法を送信するメールアドレス
order_id 顧客が振込名義に含める振込番号
bank_name 送金する銀行名
account_branch_name 支店名
account_number 送金する銀行口座番号
account_type 口座種別
account_name 口座名義
instructions_url お支払方法ページへの URL

コンビニ決済

制限

  • 支払い合計金額は、最高 299,999 円まで。この合計金額は、支払い金額 + 税 + 手数料すべてを合計した額です。
  • ペイメントは 3 日が経過すると無効となります。(有効期限が切れると webhook を送信 してお知らせします。)

コンビニ店舗種別

コンビニ決済を作成する時には、payment_details ハッシュにある store パラメータを渡す必要があります。この値は、顧客が実際に支払を行うコンビニの店舗種別です。

英語表記 日本語表記 店舗種別 ロゴ
Daily Yamazaki デイリーヤマザキ daily-yamazaki Daily yamazaki
Family Mart ファミリーマート family-mart Family mart
Lawson ローソン lawson Lawson
Ministop ミニストップ ministop Ministop
Seicomart セイコーマート seicomart Seicomart
7-Eleven セブンイレブン seven-eleven Seven eleven

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 konbini の値
email 文字列 ペイメント受領時にレシートおよび支払い方法を送信するメールアドレス。
store 文字列 店舗種別。店舗種別は上記のコンビニ店舗種別をご覧ください。
phone 文字列 顧客の電話番号。オプションです。
expiry_days 整数 ペイメントの有効期間の日数(最大 59 日)。オプションです。
レスポンスパラメータ 詳細
type konbini の値
email ペイメント受領時にレシートおよびお支払方法を送信するメールアドレス
store lawsonfamily_mart などの店舗種別
confirmation_code コンビニ支払時に必要となる番号
receipt コンビニ支払時に必要となる番号
instructions_url お支払方法ページへの URL

WebMoney

WebMoney は日本で人気のプリペイドカードの1つです。複数枚のプリペイドカードを利用して支払いをすることができます。 ユーザーが使用した WebMoney プリペイドカードが残高不足だった場合、payment_details ハッシュ内の prepaid_number を更新するリクエストを行うことで決済を完了することができます。

複数のプリペイドカードを利用した支払い

プリペイドカードが残高不足だった場合 Komoju は 202 Accepted ステータスを返却し、pending ステータスのペイメントが作成されます。そのペイメントはPayment更新APIを使用し追加のプリペイドカードを追加することができます。例) payment_details[prepaid_number]=XXXXXXXXXXXX

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 web_money の値
email 文字列 ペイメント受領時に送信するメールアドレス。オプションです。
prepaid_number 文字列 16 桁の WebMoney プリペイドカード番号
レスポンスパラメータ 詳細
type web_money の値
email ペイメント受領時に送信するメールアドレス
short_amount お支払金額に不足している金額
prepaid_cards 使用されたプリペイドカードの一覧

テストで使用するカード

カード番号 タイプ
1111111111111111 2,000円 がチャージされた WebMoney プリペイドカード
e111111111111112 不正なプリペイドカードナンバー
e111111111111113 使用済みプリペイドカード
e111111111111114 不明なエラー

NET CASH

NET CASH は日本で提供されているプリペイドカードの1つです。 NTT カードソリューションが提供しています。

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 net_cash の値
email 文字列 ペイメント受領時に送信するメールアドレス。オプションです。
prepaid_number 文字列 16 桁の NET CASH プリペイドカード番号
レスポンスパラメータ 詳細
type net_cash の値
email ペイメント受領時に送信するメールアドレス
short_amount お支払金額に不足している金額
prepaid_cards 使用されたプリペイドカードの一覧

テストで使用するカード

カード番号 タイプ
1111111111111111 2,000円 がチャージされた NET CASH プリペイドカード

nanaco

nanaco は日本で提供されているプリペイドカードの1つです。 NTT カードソリューションが提供しています。

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 nanaco の値
email 文字列 ペイメント受領時に送信するメールアドレス。オプションです。
prepaid_number 文字列 16 桁の nanaco プリペイドカード番号
レスポンスパラメータ 詳細
type nanaco の値
email ペイメント受領時に送信するメールアドレス
short_amount お支払金額に不足している金額
prepaid_cards 使用されたプリペイドカードの一覧

テストで使用するカード

カード番号 タイプ
1111111111111111 2,000円 がチャージされた nanaco プリペイドカード

BitCash

ビットキャッシュはプリペイドカードの1つです。 Komoju では WebMoney とほぼ同じ API を提供していますが、ビットキャッシュの場合一度に複数枚のプリペイドカードを利用できません。 残高が不足している場合ユーザーはビットキャッシュ残高引継ページを利用する必要があります。

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 bit_cash の値
email 文字列 ペイメント受領時に送信するメールアドレス。オプションです。
prepaid_number 文字列 16 桁のビットキャッシュプリペイドカード番号
レスポンスパラメータ 詳細
type bit_cash の値
email ペイメント受領時に送信するメールアドレス

テストで使用するカード

カード番号 タイプ
1111111111111111 2,000円 がチャージされたビットキャッシュプリペイドカード
e111111111111112 不正なプリペイドカードナンバー
e111111111111113 不明なエラー

PayEasy

顧客は PayEasy を利用してオンラインバンキングから支払うことができます。

PayEasy は後払い形式の支払方法であり、ペイメントが作成されたあと、一定の時間が経過してからペイメントが記録されます。Komoju は支払いが実行されると webhook を送信 してお知らせします。

制限

  • PayEasy 支払い合計金額は、最高 999,999 円 です。
  • ペイメントは 10 日が経過すると無効となります。(有効期限が切れると webhook を送信 してお知らせします。)

ペイメントの詳細

リクエストパラメータ タイプ 詳細
type 文字列 pay_easy の値
email 文字列 ペイメント受領時にレシートおよび支払い方法を送信するメールアドレス。
given_name 文字列 顧客の名前
family_name 文字列 顧客の苗字
given_name_kana 文字列 顧客のカタカナ名
family_name_kana 文字列 顧客のカタカナ名 (苗字)
phone 文字列 顧客の電話番号
レスポンスパラメータ 詳細
type pay_easy の値
email ペイメント受領時にレシートおよびお支払方法を送信するメールアドレス
bank_id PayEasy支払い時に必要となるお客様番号
customer_id PayEasy支払い時に必要となるお客様番号
confirmation_id PayEasy支払い時に必要となるお客様番号
instructions_url 支払方法ページへの URL

トークン

セキュリティ上の理由から、重要な顧客情報をクライアントは関与せずに Komoju に扱ってもらう必要がある場合があります。これを行うために、顧客の決済情報を収集し、それをトークンに変換します。このトークンを使うことで、顧客の情報があなたのサーバーを通過することなく、決済を行えるようになります。

Komoju はTokens APIを公開しています。クライアントアプリケーションは公開キーを使ってこの API を直接実行することでトークンを作成できます。

注: トークンは1度使用するか、30日経過すると使用できなくなります。決済情報を永続的に保持したい場合は、永久保存のセクションをご確認ください。

トークンの作成

トークンは Komoju MultiPay のようなクライアント側のライブラリを使って作成できます。また、Tokens APIを使って、直接作成することもできます。

トークンの利用

トークン作成後は payment_details パラメーターを指定できる全ての API で利用できます。

以下のように決済作成時に payment_details に JSON を指定する代わりに、トークンを指定できます。

curl -X POST https://komoju.com/api/v1/payments \
-u komoju-mart: \
-d "amount=1000" \
-d "currency=JPY" \
-d "payment_details=tok_d7d3b7ea7a6910f1076bf025ad3276dac9360c9b3307cb92d77c93b62556077f3ifq39h3wnrlgkttrjm8c6g2e"

永久保存

カスタマーリソースを作成すると、決済情報を永続的に保存できるようになります。カスタマー作成時に、payment_details にトークンを指定できます。以下がその例になります。

curl -X POST https://komoju.com/api/v1/customers \
-u komoju-mart: \
-d "payment_details=tok_d7d3b7ea7a6910f1076bf025ad3276dac9360c9b3307cb92d77c93b62556077f3ifq39h3wnrlgkttrjm8c6g2e" 

カスタマーリソースが作成済みの場合、以下のように Payments APIcustomer パラメーターを指定できます。そうすることで、保存済みの決済情報をもとに、決済を作成できます。

curl -X POST https://komoju.com/api/v1/payments \
-u komoju-mart: \
-d "amount=1000" \
-d "currency=JPY" \
-d "customer=3lz38k1d12sr5e4ggchnhxdgk" \

カスタマー情報の更新や削除についてはカスタマーリソースをご確認ください。