チェーンを承認
保留中のチェーン接続リクエストを承認します。これにより、サブマーチャントはチェーン接続を承認し、要求元のアカウントに代わりに課金を作成しアクションを実行する権限を付与できます。
API認証情報
リクエストパラメータ
必須 - 1 フィールドパスパラメータ
`id`STRING(required)
パターン /acch(_test)?_[0-9a-z]+/ に一致するチェーン識別子。URLパスで指定します。
レスポンス
200
承認成功チェーンの承認に成功しました。チェーン接続がアクティブになり、要求元のアカウントがサブマーチャントの代わりにアクションを実行できるようになりました。
レスポンスに含まれる情報:
id- チェーン識別子key- サブマーチャントの認証キーemail- サブマーチャントアカウントのメールアドレスrevoked- 承認後はfalseになりますlivemode- 本番環境とテスト環境のインジケーターcreated_at- 作成タイムスタンプ
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 無効なチェーンID形式
- チェーンがすでに承認されている
- チェーンが取り消されている
401
認証エラー認証に失敗しました。APIキーが無効または不足しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- HTTP Basic Auth形式の誤り
404
見つかりません指定されたIDのチェーンが見つかりません。
一般的な原因:
- 無効なチェーンID形式
- チェーンが存在しない
- チェーンが別のアカウントに属している
- ライブチェーンIDでテストキーを使用(またはその逆)
5xx
サーバーエラーサーバー側でエラーが発生しました。稀ですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/chains/acch_test_5xuy4w91xqz7d1w9u0t/authorize \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
chain = Omise::Chain.retrieve('acch_test_5xuy4w91xqz7d1w9u0t')
chain.authorize
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
chain = omise.Chain.retrieve('acch_test_5xuy4w91xqz7d1w9u0t')
chain.authorize()
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const chain = await omise.chains.authorize('acch_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$chain = OmiseChain::retrieve('acch_test_5xuy4w91xqz7d1w9u0t');
$chain->authorize();
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Chain chain = client.chains().authorize("acch_test_5xuy4w91xqz7d1w9u0t");
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var chain = await client.Chains.Authorize("acch_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
chain, _ := client.Chains().Authorize("acch_test_5xuy4w91xqz7d1w9u0t")
エラーと結果コード
一般的なエラーコード
| コード | 説明 | 解決策 |
|---|---|---|
authentication_failure | 無効なAPIキー | シークレットキーが正しいか確認 |
not_found | チェーンが見つからない | チェーンIDが正しく存在するか確認 |
invalid_chain_id | 不正なチェーンID | IDが acch(test)?[0-9a-z]+ 形式に一致するか確認 |
already_authorized | チェーンがすでに承認されている | チェーンはすでに承認済みです |
chain_revoked | チェーンが取り消されている | 取り消されたチェーンは承認できません |
チェーンオブジェクトのフィールド
| フィールド | 型 | 説明 |
|---|---|---|
object | string | 常に"chain"を返します |
id | string | 一意のチェーン識別子 |
key | string | サブマーチャントの代わりにアクションを実行するための認証キー |
email | string | サブマーチャントアカウントのメールアドレス |
livemode | boolean | 本番環境とテスト環境のインジケーター |
revoked | boolean | チェーンアクセスが取り消されたかどうかを示す |
created_at | string | 作成タイムスタンプ(ISO 8601) |
試してみる
あなたのIP:
...読み込み中...