サブマーチャントの作成
プラットフォームアカウントに新しいサブマーチャントを作成します。サブマーチャントは、マーケットプレイスやプラットフォームを通じて決済を処理する個人または事業者です。
リクエストパラメータ
必須 - 6フィールド必須パラメータ
`name`STRING(required)
サブマーチャントの表示名(事業名または個人名)。
`type`STRING(required)
サブマーチャントの種類。
`email`STRING(required)
サブマーチャントの主要連絡先メールアドレス。
`bank_account.brand`STRING(required)
銀行コード(bbl、kbank、scb、ktb、bay、tmbなど)。
`bank_account.number`STRING(required)
精算用の銀行口座番号(スペースやハイフンなし)。
`bank_account.name`STRING(required)
銀行に登録されている口座名義人名(完全一致が必要)。
事業者 - 4フィールド事業者情報
`business_name`STRING(optional)
登記された法人名(事業者タイプの場合は必須)。
`business_registration_number`STRING(optional)
法人登録番号(事業者タイプの場合は必須)。
`tax_id`STRING(optional)
税務識別番号。
`business_category`STRING(optional)
事業カテゴリまたは業種コード。
連絡先 - 4フィールド連絡先情報
追加 - 3フィールド追加パラメータ
レスポンス
200
作成成功サブマーチャントが正常に作成されました。認証が完了するまで、デフォルトではstatus: pendingとなります。
レスポンスに含まれる項目:
id- サブマーチャントの一意識別子(subm_xxx)status- 現在のステータス(pending、active、suspended、deactivated、rejected)livemode- 本番環境かテスト環境かを示すcreated_at- 作成日時bank_account- 銀行口座詳細(セキュリティのため番号はマスク処理)
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
主な原因:
- 必須フィールドの欠落(name、type、email、bank_accountフィールド)
- 無効なメールアドレス形式
- 無効な銀行口座形式
- 無効なサブマーチャントタイプ
- 不正な形式のメタデータ
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
主な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- HTTP Basic Auth形式の誤り
404
見つかりませんプラットフォームアカウントが見つからないか、サブマーチャント機能が有効になっていません。
主な原因:
- アカウントがプラットフォームアカウントではない
- サブマーチャント機能が有効になっていない
- プラットフォーム機能を有効にするにはサポートに連絡
422
処理不可能なエンティティサブマーチャントの検証に失敗しました。
主な原因:
- サブマーチャントの重複(メールアドレスまたは法人登録番号が既に存在)
- 無効な銀行口座番号
- お客様の地域でサポートされていない事業カテゴリ
- 事業者タイプに必要な事業者情報の欠落
5xx
サーバーエラーサーバー側でエラーが発生しました。まれですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービス障害を確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/sub_merchants \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "name=Acme Electronics Store" \
-d "type=business" \
-d "email=contact@acme-electronics.com" \
-d "business_name=Acme Electronics Co., Ltd." \
-d "business_registration_number=0123456789012" \
-d "tax_id=1234567890123" \
-d "bank_account[brand]=kbank" \
-d "bank_account[number]=1234567890" \
-d "bank_account[name]=ACME ELECTRONICS CO LTD"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
sub_merchant = Omise::SubMerchant.create({
name: 'Acme Electronics Store',
type: 'business',
email: 'contact@acme-electronics.com',
business_name: 'Acme Electronics Co., Ltd.',
business_registration_number: '0123456789012',
tax_id: '1234567890123',
bank_account: {
brand: 'kbank',
number: '1234567890',
name: 'ACME ELECTRONICS CO LTD'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
sub_merchant = omise.SubMerchant.create(
name='Acme Electronics Store',
type='business',
email='contact@acme-electronics.com',
business_name='Acme Electronics Co., Ltd.',
business_registration_number='0123456789012',
tax_id='1234567890123',
bank_account={
'brand': 'kbank',
'number': '1234567890',
'name': 'ACME ELECTRONICS CO LTD'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const subMerchant = await omise.subMerchants.create({
name: 'Acme Electronics Store',
type: 'business',
email: 'contact@acme-electronics.com',
business_name: 'Acme Electronics Co., Ltd.',
business_registration_number: '0123456789012',
tax_id: '1234567890123',
bank_account: {
brand: 'kbank',
number: '1234567890',
name: 'ACME ELECTRONICS CO LTD'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$subMerchant = OmiseSubMerchant::create([
'name' => 'Acme Electronics Store',
'type' => 'business',
'email' => 'contact@acme-electronics.com',
'business_name' => 'Acme Electronics Co., Ltd.',
'business_registration_number' => '0123456789012',
'tax_id' => '1234567890123',
'bank_account' => [
'brand' => 'kbank',
'number' => '1234567890',
'name' => 'ACME ELECTRONICS CO LTD'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
BankAccount bankAccount = new BankAccount();
bankAccount.brand("kbank");
bankAccount.number("1234567890");
bankAccount.name("ACME ELECTRONICS CO LTD");
SubMerchant subMerchant = client.subMerchants().create()
.name("Acme Electronics Store")
.type("business")
.email("contact@acme-electronics.com")
.businessName("Acme Electronics Co., Ltd.")
.businessRegistrationNumber("0123456789012")
.taxId("1234567890123")
.bankAccount(bankAccount)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var subMerchant = await client.SubMerchants.Create(new CreateSubMerchantRequest
{
Name = "Acme Electronics Store",
Type = "business",
Email = "contact@acme-electronics.com",
BusinessName = "Acme Electronics Co., Ltd.",
BusinessRegistrationNumber = "0123456789012",
TaxId = "1234567890123",
BankAccount = new BankAccount
{
Brand = "kbank",
Number = "1234567890",
Name = "ACME ELECTRONICS CO LTD"
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
subMerchant, _ := client.SubMerchants().Create(&operations.CreateSubMerchant{
Name: "Acme Electronics Store",
Type: "business",
Email: "contact@acme-electronics.com",
BusinessName: "Acme Electronics Co., Ltd.",
BusinessRegistrationNumber: "0123456789012",
TaxId: "1234567890123",
BankAccount: &operations.BankAccount{
Brand: "kbank",
Number: "1234567890",
Name: "ACME ELECTRONICS CO LTD",
},
})
エラーコードと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
bad_request | パラメータの欠落または無効 | すべての必須フィールドが提供されているか確認 |
authentication_failure | 無効なAPIキー | シークレットキーが正しいか確認 |
invalid_bank_account | 銀行口座番号が無効 | 口座番号が正しいか確認 |
duplicate_merchant | サブマーチャントが既に存在 | メールアドレスまたは登録番号が既に使用されていないか確認 |
unsupported_bank | サポートされていない銀行 | サポート対象銀行リストを確認 |
platform_not_enabled | プラットフォーム機能が有効になっていない | プラットフォームアカウントを有効にするにはサポートに連絡 |
サブマーチャントタイプ
| タイプ | 説明 |
|---|---|
individual | 個人販売者向けの個人アカウント |
business | 法人または事業者向けアカウント |
サブマーチャントステータス
| ステータス | 説明 |
|---|---|
pending | 認証待ち |
active | 認証済みで決済処理が可能 |
suspended | 一時的に無効化 |
deactivated | 永久に削除 |
rejected | 認証失敗 |
API認証情報
試してみる
必須 - 6項目
推奨 - 4項目
追加 - 4項目
あなたのIP:
...読み込み中...