受取人管理
受取人は、振込を受け取ることができる銀行口座です。このガイドでは、受取人を作成、検証、および管理する方法について説明します。
概要
受取人は以下を可能にします:
- 銀行口座の保存: 銀行詳細を安全に保存
- 検証と確認: KYCプロセスにより詳細を確認
- 複数の受取人: 複数の銀行口座を管理
- 振込: 受取人への資金送信
- スケジュール: 受取人への定期出金
受取人の作成
基本的な受取人作成
const omise = require('omise')({
secretKey: 'skey_test_123456789'
});
async function createRecipient(bankDetails) {
const recipient = await omise.recipients.create({
name: bankDetails.accountHolder,
email: bankDetails.email,
description: bankDetails.description,
bank_account: {
brand: bankDetails.bankCode,
number: bankDetails.accountNumber,
name: bankDetails.accountHolder
}
});
console.log('受取人作成:', recipient.id);
console.log('ステータス:', recipient.active ? 'アクティブ' : '非アクティブ');
console.log('検証済み:', recipient.verified ? 'はい' : 'いいえ');
return recipient;
}
// 使用例
createRecipient({
accountHolder: 'John Doe',
email: 'john@example.com',
description: 'メインベンダーアカウント',
bankCode: 'bbl', // バンコク銀行
accountNumber: '1234567890'
});
import omise
omise.api_secret = 'skey_test_123456789'
def create_recipient(bank_details):
"""銀行口座受取人を作成"""
recipient = omise.Recipient.create(
name=bank_details['account_holder'],
email=bank_details['email'],
description=bank_details['description'],
bank_account={
'brand': bank_details['bank_code'],
'number': bank_details['account_number'],
'name': bank_details['account_holder']
}
)
print(f"受取人作成: {recipient.id}")
print(f"アクティブ: {recipient.active}")
print(f"検証済み: {recipient.verified}")
return recipient
受取人の取得と一覧表示
単一の受取人を取得
async function getRecipient(recipientId) {
const recipient = await omise.recipients.retrieve(recipientId);
console.log('受取人:', recipient.name);
console.log('メール:', recipient.email);
console.log('銀行:', recipient.bank_account.brand);
console.log('末尾4桁:', recipient.bank_account.last_digits);
console.log('検証済み:', recipient.verified);
console.log('アクティブ:', recipient.active);
return recipient;
}
すべての受取人を一覧表示
async function listRecipients(status = 'verified') {
const recipients = await omise.recipients.list({
limit: 100,
order: 'reverse_chronological'
});
recipients.data.forEach(recipient => {
console.log(`${recipient.id}: ${recipient.name} (${recipient.verified ? '検証済み' : '未検証'})`);
});
return recipients;
}
受取人の更新
受取人情報を更新
async function updateRecipient(recipientId, updates) {
const recipient = await omise.recipients.update(recipientId, {
name: updates.name,
email: updates.email,
description: updates.description,
metadata: updates.metadata
});
console.log('受取人更新:', recipient.id);
return recipient;
}
銀行口座を更新
async function updateBankAccount(recipientId, bankDetails) {
const recipient = await omise.recipients.update(recipientId, {
bank_account: {
brand: bankDetails.bankCode,
number: bankDetails.accountNumber,
name: bankDetails.accountHolder
}
});
console.log('銀行口座更新');
return recipient;
}
受取人の検証
検証プロセス
def verify_recipient(recipient_id):
"""受取人 を手動で検証(サポート権限が必要)"""
recipient = omise.Recipient.retrieve(recipient_id)
if recipient.verified:
print(f"受取人{recipient_id}