สร้าง sub-merchant
สร้าง sub-merchant ใหม่ภายใต้บัญชีแพลตฟอร์มของคุณ Sub-merchants สามารถเป็นบุคคลธรรมดาหรือธุรกิจที่ประมวลผลการชำระเงินผ่านตลาดกลางหรือแพลตฟอร์มของคุณ
พารามิเตอร์คำขอ
จำเป็น - 6 ฟิลด์พารามิเตอร์ที่จำเป็น
`name`STRING(required)
ชื่อที่แสดงของ sub-merchant (ชื่อธุรกิจหรือชื่อบุคคล)
`type`STRING(required)
ประเภท sub-merchant
`email`STRING(required)
อีเมลติดต่อหลักสำหรับ sub-merchant
`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
สร้างสำเร็จสร้าง Sub-merchant สำเร็จ โปรดทราบว่าค่าเริ่มต้นคือ status: pending จนกว่าการตรวจสอบจะเสร็จสมบูรณ์
การตอบกลับประกอบด้วย:
id- ตัวระบุ sub-merchant ที่ไม่ซ้ำกัน (subm_xxx)status- สถานะปัจจุบัน (pending, active, suspended, deactivated, rejected)livemode- ระบุว่าเป็น sub-merchant จริงหรือทดสอบcreated_at- เวลาที่สร้างbank_account- รายละเอียดบัญชีธนาคาร (หมายเลขบัญชีถูกปกปิดเพื่อความปลอดภัย)
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- ฟิลด์ที่จำเป็นขาดหายไป (name, type, email, ฟิลด์ bank_account)
- รูปแบบอีเมลไม่ถูกต้อง
- รูปแบบบัญชีธนาคารไม่ถูกต้อง
- ประเภท sub-merchant ไม่ถูกต้อง
- metadata มีรูปแบบไม่ถูกต้อง
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือขาดหายไป
สาเหตุทั่วไป:
- ไม่มี Authorization header
- secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบบัญชีแพลตฟอร์มหรือฟีเจอร์ sub-merchant ไม่ได้เปิดใช้งาน
สาเหตุทั่วไป:
- บัญชีไม่ใช่บัญชีแพลตฟอร์ม
- ฟีเจอร์ sub-merchant ไม่ได้เปิดใช้งาน
- ติดต่อฝ่ายสนับสนุนเพื่อเปิดใช้งานฟีเจอร์แพลตฟอร์ม
422
ไม่สามารถประมวลผลได้การตรวจสอบ sub-merchant ล้มเหลว
สาเหตุทั่วไป:
- Sub-merchant ซ้ำ (อีเมลหรือหมายเลขทะเบียนธุรกิจมีอยู่แล้ว)
- หมายเลขบัญชีธนาคาร ไม่ถูกต้อง
- หมวดหมู่ธุรกิจไม่รองรับในภูมิภาคของคุณ
- ข้อมูลธุรกิจที่จำเป็นขาดหายไปสำหรับประเภทธุรกิจ
5xx
ข้อผิดพลาดเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ ปัญหานี้เกิดขึ้นได้น้อยแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ 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 key ไม่ถูกต้อง | ตรวจสอบว่า secret key ของคุณถูกต้อง |
invalid_bank_account | หมายเลขบัญชีธนาคารไม่ถูกต้อง | ตรวจสอบว่าหมายเลขบัญชีถูกต้อง |
duplicate_merchant | Sub-merchant มีอยู่แล้ว | ตรวจสอบว่าอีเมลหรือหมายเลขทะเบียนถูกใช้แล้วหรือไม่ |
unsupported_bank | ธนาคารไม่รองรับ | ตรวจสอบรายชื่อธนาคารที่รองรับ |
platform_not_enabled | ฟีเจอร์แพลตฟอร์มไม่ได้เปิดใช้งาน | ติดต่อฝ่ายสนับสนุนเพื่อเปิดใช้งานบัญชีแพลตฟอร์ม |