SWIFT Code ธนาคาร
SWIFT Code BIC ธนาคาร โอนเงินระหว่างประเทศ Wire Transfer รหัสสากล 8-11 ตัวอักษร ค่าธรรมเนียม สกุลเงิน
| ธนาคาร | SWIFT Code | ชื่อย่อ | App โอนได้ |
|---|---|---|---|
| ธนาคารกรุงเทพ | BKKBTHBK | BBL | Bualuang mBanking |
| ธนาคารกสิกรไทย | KASITHBK | KBANK | K PLUS |
| ธนาคารไทยพาณิชย์ | SICOTHBK | SCB | SCB EASY |
| ธนาคารกรุงไทย | KRTHTHBK | KTB | Krungthai NEXT |
| ธนาคารกรุงศรีอยุธยา | AYUDTHBK | BAY | KMA |
| ธนาคารทหารไทยธนชาต | TMBKTHBK | TTB | ttb touch |
| ธนาคาร UOB | UABORHBK | UOB | UOB TMRW |
| ธนาคาร CIMB Thai | UBOBTHBK | CIMBT | CIMB THAI Digital |
โครงสร้าง SWIFT Code
# === SWIFT Code Structure ===
from dataclasses import dataclass
@dataclass
class SwiftCode:
bank_name: str
swift_code: str
bank_code: str
country_code: str
location_code: str
branch_code: str
def parse_swift(code, bank_name):
bank = code[:4]
country = code[4:6]
location = code[6:8]
branch = code[8:] if len(code) > 8 else "XXX (Head Office)"
return SwiftCode(bank_name, code, bank, country, location, branch)
banks = [
("BKKBTHBK", "ธนาคารกรุงเทพ"),
("KASITHBK", "ธนาคารกสิกรไทย"),
("SICOTHBK", "ธนาคารไทยพาณิชย์"),
("KRTHTHBK", "ธนาคารกรุงไทย"),
("AYUDTHBK", "ธนาคารกรุงศรีอยุธยา"),
("TMBKTHBK", "ธนาคารทหารไทยธนชาต"),
("CITITHBX", "ธนาคารซิตี้แบงก์"),
("ABORHBBK", "ธนาคารออมสิน"),
]
print("=== SWIFT Code Analysis ===")
for code, name in banks:
s = parse_swift(code, name)
print(f" [{s.swift_code}] {s.bank_name}")
print(f" Bank: {s.bank_code} | Country: {s.country_code} (TH=Thailand)")
print(f" Location: {s.location_code} (BK=Bangkok) | Branch: {s.branch_code}")
# Country codes
countries = {
"TH": "Thailand", "US": "United States", "GB": "United Kingdom",
"JP": "Japan", "SG": "Singapore", "HK": "Hong Kong",
"AU": "Australia", "DE": "Germany", "CH": "Switzerland",
}
print(f"\n Common Country Codes:")
for k, v in countries.items():
print(f" [{k}]: {v}")
ค่าธรรมเนียมและเปรียบเทียบ
# === Transfer Fee Comparison ===
@dataclass
class TransferMethod:
method: str
fee_range: str
exchange_rate: str
speed: str
min_amount: str
max_amount: str
best_for: str
methods = [
TransferMethod("ธนาคาร (SWIFT)", "700-2000 บาท",
"Spread 1-2% จากอัตรากลาง",
"1-5 วันทำการ", "ไม่จำกัด", "ตามธนาคาร",
"จำนวนเงินมาก ต้องการใบเสร็จทางการ"),
TransferMethod("Wise (TransferWise)", "100-500 บาท",
"อัตรากลาง + ค่า fee เล็กน้อย",
"1-2 วันทำการ", "1 บาท", "2,000,000 บาท",
"จำนวนเงินเล็ก-กลาง ค่าธรรมเนียมถูก"),
TransferMethod("DeeMoney", "150-400 บาท",
"อัตราแข่งขันได้",
"1-3 วันทำการ", "1000 บาท", "2,000,000 บาท",
"โอนจากไทย ลิขสิทธิ์ ธปท."),
TransferMethod("Western Union", "300-1500 บาท",
"Spread 2-4%",
"นาที - 1 วัน", "1 บาท", "ตามประเทศ",
"โอนด่วน รับเงินสด ไม่ต้องมีบัญชี"),
TransferMethod("PayPal", "ฟรี (ผู้รับจ่าย 3.9%+7บาท)",
"Spread 3-4%",
"ทันที (ใน PayPal)", "1 บาท", "ตาม Account",
"ค้าขายออนไลน์ Freelance"),
TransferMethod("Crypto (USDT)", "10-50 บาท",
"ใกล้เคียงตลาด ±0.5%",
"นาที", "ไม่จำกัด", "ไม่จำกัด",
"ค่าธรรมเนียมต่ำสุด เร็ว ความเสี่ยงสูง"),
]
print("=== Transfer Methods ===")
for m in methods:
print(f" [{m.method}]")
print(f" Fee: {m.fee_range} | Rate: {m.exchange_rate}")
print(f" Speed: {m.speed} | Amount: {m.min_amount} - {m.max_amount}")
print(f" Best for: {m.best_for}")
# Cost calculation example
amount_usd = 1000
bank_rate = 35.50 # THB per USD (bank selling rate)
mid_rate = 35.00 # mid-market rate
wise_rate = 35.05 # Wise rate
bank_total = amount_usd * bank_rate + 700 # fee
wise_total = amount_usd * wise_rate + 300 # fee
print(f"\n Example: Send $1,000 USD")
print(f" Bank: {bank_total:,.0f} THB (rate {bank_rate} + fee 700)")
print(f" Wise: {wise_total:,.0f} THB (rate {wise_rate} + fee 300)")
print(f" Savings: {bank_total - wise_total:,.0f} THB ({(bank_total - wise_total)/bank_total*100:.1f}%)")
ขั้นตอนโอนเงิน
# === Wire Transfer Checklist ===
@dataclass
class TransferStep:
step: int
action: str
detail: str
document: str
steps = [
TransferStep(1, "เตรียมข้อมูลผู้รับ",
"ชื่อภาษาอังกฤษตรงกับบัญชี เลขบัญชี/IBAN SWIFT Code ชื่อธนาคาร ที่อยู่ธนาคาร",
"สำเนาหน้าบัญชีผู้รับ (ถ้ามี)"),
TransferStep(2, "เตรียมเอกสาร",
"บัตรประชาชน/พาสปอร์ต หลักฐานวัตถุประสงค์ Invoice/Contract สำเนาบัญชี",
"Invoice, Contract, หลักฐานความสัมพันธ์"),
TransferStep(3, "ไปสาขาหรือเปิด App",
"แจ้งโอนเงินต่างประเทศ กรอกแบบฟอร์ม ระบุ SWIFT Code จำนวนเงิน สกุลเงิน",
"แบบฟอร์ม ธ.40 (Foreign Exchange Transaction)"),
TransferStep(4, "เลือกค่าธรรมเนียม",
"OUR ผู้ส่งจ่ายทั้งหมด BEN ผู้รับจ่ายทั้งหมด SHA แบ่งจ่ายคนละครึ่ง",
"แนะนำ SHA สำหรับทั่วไป OUR สำหรับธุรกิจ"),
TransferStep(5, "ตรวจสอบและยืนยัน",
"ตรวจชื่อผู้รับ จำนวนเงิน SWIFT Code ค่าธรรมเนียม อัตราแลกเปลี่ยน ยืนยัน",
"ใบยืนยันการโอน/Receipt"),
TransferStep(6, "ติดตามสถานะ",
"ขอ Reference Number ติดตามผ่าน App หรือโทรสาขา ใช้เวลา 1-5 วันทำการ",
"Reference Number / MT103"),
]
print("=== Transfer Steps ===")
for s in steps:
print(f" Step {s.step}: {s.action}")
print(f" Detail: {s.detail}")
print(f" Document: {s.document}")
# Fee type explanation
fee_types = {
"OUR (ผู้ส่งจ่ายทั้งหมด)": "ผู้รับได้เงินเต็มจำนวน ผู้ส่งจ่ายค่าธรรมเนียมทุกฝั่ง แพงสุด",
"BEN (ผู้รับจ่ายทั้งหมด)": "ผู้รับได้เงินหลังหักค่าธรรมเนียม ผู้ส่งจ่ายถูกสุด",
"SHA (แบ่งจ่าย)": "ผู้ส่งจ่ายฝั่งต้นทาง ผู้รับจ่ายฝั่งปลายทาง นิยมสุด",
}
print(f"\n\nFee Types:")
for k, v in fee_types.items():
print(f" [{k}]: {v}")
เคล็ดลับ
- SWIFT: ตรวจ SWIFT Code ให้ถูกต้องก่อนโอน ผิดแม้ตัวเดียวเงินไม่ถึง
- ชื่อ: ชื่อผู้รับต้องตรงกับบัญชี 100% ผิดอาจถูกตีกลับ
- Wise: ใช้ Wise สำหรับจำนวนเล็ก-กลาง ประหยัดค่าธรรมเนียม 50%+
- Rate: เปรียบเทียบอัตราแลกเปลี่ยนหลายธนาคารก่อนโอน
- เอกสาร: เตรียมเอกสารให้ครบ โดยเฉพาะโอนเกิน 50000 USD
Best Practices สำหรับนักพัฒนา
การเขียนโค้ดที่ดีไม่ใช่แค่ทำให้โปรแกรมทำงานได้ แต่ต้องเขียนให้อ่านง่าย ดูแลรักษาง่าย และ Scale ได้ หลัก SOLID Principles เป็นพื้นฐานสำคัญที่นักพัฒนาทุกู้คืนควรเข้าใจ ได้แก่ Single Responsibility ที่แต่ละ Class ทำหน้าที่เดียว Open-Closed ที่เปิดให้ขยายแต่ปิดการแก้ไข Liskov Substitution ที่ Subclass ต้องใช้แทน Parent ได้ Interface Segregation ที่แยก Interface ให้เล็ก และ Dependency Inversion ที่พึ่งพา Abstraction ไม่ใช่ Implementation
เรื่อง Testing ก็ขาดไม่ได้ ควรเขียน Unit Test ครอบคลุมอย่างน้อย 80% ของ Code Base ใช้ Integration Test ทดสอบการทำงานร่วมกันของ Module ต่างๆ และ E2E Test สำหรับ Critical User Flow เครื่องมือยอดนิยมเช่น Jest, Pytest, JUnit ช่วยให้การเขียน Test เป็นเรื่องง่าย
เรื่อง Version Control ด้วย Git ใช้ Branch Strategy ที่เหมาะกับทีม เช่น Git Flow สำหรับโปรเจคใหญ่ หรือ Trunk-Based Development สำหรับทีมที่ Deploy บ่อย ทำ Code Review ทุก Pull Request และใช้ CI/CD Pipeline ทำ Automated Testing และ Deployment
เปรียบเทียบข้อดีและข้อเสีย
จากตารางเปรียบเทียบจะเห็นว่าข้อดีมีมากกว่าข้อเสียอย่างชัดเจน โดยเฉพาะในแง่ของประสิทธิภาพและความสามารถในการ Scale สำหรับข้อเสียส่วนใหญ่สามารถแก้ไขได้ด้วยการเรียนรู้อย่างเป็นระบบและวางแผนทรัพยากรให้เหมาะสม
SWIFT Code คืออะไร
BIC Bank Identifier Code รหัสสากล ธนาคารทั่วโลก Wire Transfer 8-11 ตัวอักษร ธนาคาร ประเทศ ที่ตั้ง สาขา SWIFT Society
ธนาคารไทยมี SWIFT Code อะไรบ้าง
กรุงเทพ BKKBTHBK กสิกร KASITHBK ไทยพาณิชย์ SICOTHBK กรุงไทย KRTHTHBK กรุงศรี AYUDTHBK TTB TMBKTHBK TH Thailand BK Bangkok
โอนเงินระหว่างประเทศอย่างไร
ชื่อภาษาอังกฤษ เลขบัญชี IBAN SWIFT Code ธนาคาร สาขา วัตถุประสงค์ สกุลเงิน ค่าธรรมเนียม 1-5 วัน 200-1500 บาท
ค่าธรรมเนียมเท่าไหร่
โอนขาออก 200-500 Commission 0.25% Cable 200-400 Correspondent 300-800 Exchange Spread 0.5-2% รวม 700-2000 Wise DeeMoney ถูกกว่า
สรุป
SWIFT Code BIC ธนาคาร โอนเงินระหว่างประเทศ Wire Transfer ค่าธรรมเนียม Wise DeeMoney อัตราแลกเปลี่ยน เอกสาร OUR SHA BEN
