SWIFT Code ธนาคารกสิกรไทย
SWIFT Code ของธนาคารกสิกรไทย (Kasikornbank) คือ KASITHBK ใช้สำหรับการโอนเงินระหว่างประเทศทั้งขาเข้าและขาออก SWIFT Code ประกอบด้วย 8-11 ตัวอักษร โดยแต่ละส่วนมีความหมายดังนี้
| ส่วน | รหัส | ความหมาย |
|---|---|---|
| Bank Code | KASI | ธนาคารกสิกรไทย |
| Country Code | TH | ประเทศไทย (Thailand) |
| Location Code | BK | กรุงเทพมหานคร (Bangkok) |
| Branch Code | XXX (optional) | สำนักงานใหญ่ |
SWIFT Code ธนาคารในไทย
# swift_codes_thailand.py — รวม SWIFT Code ธนาคารในไทย
swift_codes = {
"ธนาคารกสิกรไทย (KBank)": "KASITHBK",
"ธนาคารกรุงเทพ (BBL)": "BKKBTHBK",
"ธนาคารไทยพาณิชย์ (SCB)": "SICOTHBK",
"ธนาคารกรุงไทย (KTB)": "KRTHTHBK",
"ธนาคารกรุงศรีอยุธยา (BAY)": "AYUDTHBK",
"ธนาคารทหารไทยธนชาต (TTB)": "TMBKTHBK",
"ธนาคารซีไอเอ็มบี (CIMB)": "UBOBTHBK",
"ธนาคารยูโอบี (UOB)": "UABORHBK",
"ธนาคารแลนด์ แอนด์ เฮ้าส์ (LH Bank)": "LAABORHBK",
"ธนาคารเกียรตินาคินภัทร (KKP)": "ABORHBK",
"ธนาคารออมสิน (GSB)": "GABORHBK",
"ธ. ก. ส. (BAAC)": "BAABORHBK",
}
print("SWIFT Code ธนาคารในประเทศไทย")
print("=" * 55)
print(f"{'ธนาคาร':<35} {'SWIFT Code'}")
print("-" * 55)
for bank, code in swift_codes.items():
print(f"{bank:<35} {code}")
# ค้นหา SWIFT Code
def find_swift(keyword):
"""ค้นหา SWIFT Code จากชื่อธนาคาร"""
results = []
for bank, code in swift_codes.items():
if keyword.lower() in bank.lower() or keyword.upper() in code:
results.append((bank, code))
return results
# ตัวอย่าง
search = "กสิกร"
found = find_swift(search)
print(f"\nค้นหา '{search}':")
for bank, code in found:
print(f" {bank}: {code}")
# Validate SWIFT Code Format
import re
def validate_swift(code):
"""ตรวจสอบรูปแบบ SWIFT Code"""
pattern = r'^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$'
if re.match(pattern, code.upper()):
bank = code[:4]
country = code[4:6]
location = code[6:8]
branch = code[8:11] if len(code) > 8 else "XXX (Head Office)"
return {
"valid": True, "code": code.upper(),
"bank": bank, "country": country,
"location": location, "branch": branch,
}
return {"valid": False, "code": code}
# ตรวจสอบ
result = validate_swift("KASITHBK")
print(f"\nValidate KASITHBK:")
for k, v in result.items():
print(f" {k}: {v}")
ขั้นตอนโอนเงินระหว่างประเทศ
# international_transfer.py — ขั้นตอนและค่าธรรมเนียมการโอนระหว่างประเทศ
class InternationalTransfer:
"""คำนวณค่าใช้จ่ายการโอนเงินระหว่างประเทศ"""
# ค่าธรรมเนียมโดยประมาณ (ตรวจสอบล่าสุดจากธนาคาร)
FEES = {
"KBank": {
"tt_fee": 400, # Telegraphic Transfer Fee
"swift_fee": 200, # SWIFT Charge
"commission": 0.25, # Commission % (min 200, max 5000)
"comm_min": 200,
"comm_max": 5000,
},
"BBL": {
"tt_fee": 400,
"swift_fee": 200,
"commission": 0.25,
"comm_min": 200,
"comm_max": 5000,
},
"SCB": {
"tt_fee": 400,
"swift_fee": 200,
"commission": 0.25,
"comm_min": 200,
"comm_max": 5000,
},
}
# อัตราแลกเปลี่ยน (ตัวอย่าง — ใช้อัตราจริงจากธนาคาร)
EXCHANGE_RATES = {
"USD": {"buy": 34.50, "sell": 35.20},
"EUR": {"buy": 37.00, "sell": 38.00},
"GBP": {"buy": 43.00, "sell": 44.50},
"JPY": {"buy": 0.230, "sell": 0.245},
"AUD": {"buy": 22.50, "sell": 23.50},
"SGD": {"buy": 25.50, "sell": 26.50},
}
def __init__(self, bank="KBank"):
self.bank = bank
self.fees = self.FEES.get(bank, self.FEES["KBank"])
def calculate_outward(self, amount_thb, currency="USD"):
"""คำนวณโอนขาออก (THB -> Foreign Currency)"""
rate = self.EXCHANGE_RATES.get(currency, {}).get("sell", 0)
if rate == 0:
return None
# จำนวนเงินต่างประเทศ
foreign_amount = amount_thb / rate
# ค่าธรรมเนียม
commission = max(
self.fees["comm_min"],
min(self.fees["comm_max"], amount_thb * self.fees["commission"] / 100),
)
total_fees = self.fees["tt_fee"] + self.fees["swift_fee"] + commission
total_cost = amount_thb + total_fees
return {
"direction": "Outward (THB -> Foreign)",
"bank": self.bank,
"amount_thb": amount_thb,
"currency": currency,
"exchange_rate": rate,
"foreign_amount": round(foreign_amount, 2),
"tt_fee": self.fees["tt_fee"],
"swift_fee": self.fees["swift_fee"],
"commission": round(commission, 2),
"total_fees": round(total_fees, 2),
"total_cost": round(total_cost, 2),
}
def calculate_inward(self, foreign_amount, currency="USD"):
"""คำนวณรับเงินขาเข้า (Foreign Currency -> THB)"""
rate = self.EXCHANGE_RATES.get(currency, {}).get("buy", 0)
if rate == 0:
return None
amount_thb = foreign_amount * rate
return {
"direction": "Inward (Foreign -> THB)",
"bank": self.bank,
"foreign_amount": foreign_amount,
"currency": currency,
"exchange_rate": rate,
"amount_thb": round(amount_thb, 2),
"note": "ค่าธรรมเนียมขาเข้าอาจถูกหักจากธนาคารต้นทาง",
}
def print_result(self, result):
"""แสดงผล"""
print(f"\n{'='*50}")
print(f"การโอนเงินระหว่างประเทศ — {result['bank']}")
print(f"{'='*50}")
for k, v in result.items():
if k in ["bank"]:
continue
label = k.replace("_", " ").title()
if isinstance(v, float):
print(f" {label:<20} {v:>15,.2f}")
else:
print(f" {label:<20} {str(v):>15}")
# ตัวอย่าง: โอน 100,000 บาทไป USD
calc = InternationalTransfer("KBank")
# โอนออก
outward = calc.calculate_outward(100000, "USD")
calc.print_result(outward)
# รับเข้า
inward = calc.calculate_inward(1000, "USD")
calc.print_result(inward)
# เปรียบเทียบ 3 ธนาคาร
print(f"\nเปรียบเทียบค่าธรรมเนียมโอน 100,000 บาท -> USD:")
for bank in ["KBank", "BBL", "SCB"]:
calc = InternationalTransfer(bank)
r = calc.calculate_outward(100000, "USD")
print(f" {bank}: ค่าธรรมเนียม {r['total_fees']:,.0f} บาท "
f"| ได้รับ {r['foreign_amount']:,.2f} USD")
ช่องทางโอนเงินทางเลือก
# === เปรียบเทียบช่องทางโอนเงินระหว่างประเทศ ===
channels = [
{
"name": "ธนาคาร (Wire Transfer)",
"speed": "1-3 วันทำการ",
"fee": "600-1,200 บาท",
"rate": "อัตราธนาคาร (Spread 1-2%)",
"limit": "ตามวงเงิน",
"pros": "น่าเชื่อถือ รับทุกสกุลเงิน",
"cons": "ค่าธรรมเนียมสูง ช้า",
},
{
"name": "Wise (TransferWise)",
"speed": "1-2 วันทำการ",
"fee": "0.5-1.5% ของยอดโอน",
"rate": "Mid-market Rate",
"limit": "1,000,000 บาท/ครั้ง",
"pros": "อัตราแลกเปลี่ยนดี โปร่งใส",
"cons": "ต้องสมัครสมาชิก",
},
{
"name": "Western Union",
"speed": "ทันที - 1 วัน",
"fee": "300-500 บาท",
"rate": "อัตรา WU (Spread 2-4%)",
"limit": "ตามช่องทาง",
"pros": "เร็ว รับเงินสดได้",
"cons": "อัตราแลกเปลี่ยนไม่ดี",
},
{
"name": "PayPal",
"speed": "ทันที",
"fee": "2.9% + 11 บาท",
"rate": "อัตรา PayPal (Spread 3-4%)",
"limit": "ตาม Account",
"pros": "สะดวก ใช้ได้ทั่วโลก",
"cons": "ค่าธรรมเนียมและ Spread สูง",
},
]
print("เปรียบเทียบช่องทางโอนเงินระหว่างประเทศ")
print("=" * 60)
for ch in channels:
print(f"\n--- {ch['name']} ---")
print(f" ความเร็ว: {ch['speed']}")
print(f" ค่าธรรมเนียม: {ch['fee']}")
print(f" อัตราแลกเปลี่ยน: {ch['rate']}")
print(f" ข้อดี: {ch['pros']}")
print(f" ข้อเสีย: {ch['cons']}")
ข้อควรรู้
- ตรวจสอบ SWIFT Code ก่อนโอน: ใส่ SWIFT Code ผิดเงินอาจไปผิดธนาคาร ตรวจสอบจาก swift.com
- เปรียบเทียบอัตราแลกเปลี่ยน: ดูอัตราจากหลายแหล่ง ธนาคาร Wise SuperRich เลือกที่ดีที่สุด
- ค่าธรรมเนียมซ่อน: นอกจากค่า TT Fee ยังมี Commission และ Exchange Rate Spread
- เอกสารที่ต้องใช้: บัตรประชาชน ข้อมูลผู้รับ (ชื่อ เลขบัญชี SWIFT ที่อยู่ธนาคาร) วัตถุประสงค์การโอน
- แจ้ง ธปท.: โอนเงินเกิน 50,000 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 ธนาคารกสิกรไทยคืออะไร
KASITHBK ใช้รับและส่งเงินระหว่างประเทศ KASI = รหัสธนาคาร TH = ไทย BK = กรุงเทพ อาจเห็นเป็น KASITHBKXXX สำหรับสำนักงานใหญ่
SWIFT Code ใช้ทำอะไร
ระบุธนาคารสำหรับโอนเงินระหว่างประเทศ (Wire Transfer) ทุกครั้งที่โอนหรือรับเงินจากต่างประเทศต้องระบุ SWIFT Code ของธนาคารผู้รับ
ค่าธรรมเนียมโอนเงินระหว่างประเทศเท่าไร
KBank โอนขาออก TT Fee 400-500 บาท SWIFT Fee 200-400 บาท Commission 0.25% อัตราแลกเปลี่ยนมี Spread 0.5-2% ตรวจสอบค่าธรรมเนียมล่าสุดจากธนาคาร
โอนเงินไปต่างประเทศผ่าน KBank ทำอย่างไร
ผ่าน K PLUS App เลือกโอนเงินระหว่างประเทศ กรอกข้อมูลผู้รับ ชื่อ เลขบัญชี SWIFT Code จำนวนเงิน วัตถุประสงค์ ยืนยัน PIN หรือไปสาขาพร้อมบัตรประชาชน ใช้เวลา 1-3 วันทำการ
สรุป
SWIFT Code ของธนาคารกสิกรไทยคือ KASITHBK ใช้สำหรับโอนเงินระหว่างประเทศ สามารถโอนผ่าน K PLUS App หรือไปสาขา ค่าธรรมเนียมรวม 600-1,200 บาทต่อรายการ เปรียบเทียบอัตราแลกเปลี่ยนจากหลายแหล่ง พิจารณาใช้ Wise สำหรับอัตราแลกเปลี่ยนที่ดีกว่า ตรวจสอบ SWIFT Code ให้ถูกต้องก่อนโอนทุกครั้ง
