Mobile SDKs
Omise ให้บริการ SDK สำหรับมือถือแบบ native เพื่อสร้างการผสานรวมการชำระเงินที่ปลอดภัยในแอปพลิเคชัน iOS และ Android SDK ของเราจัดการการเก็บรวบรวมข้อมูลการชำระเงินที่ละเอียดอ่อนและการสร้าง token เพื่อให้มั่นใจถึงการปฏิบัติตามมาตรฐาน PCI พร้อมทั้งให้ประสบการณ์การชำระเงินบนมือถือที่ราบรื่น
ภาพรวม
Mobile SDK ช่วยให้คุณสามารถเก็บรวบรวมข้อมูลการชำระเงินจากแอปพลิเคชันมือถือของคุณอย่างปลอดภัย โดยไม่ให้ข้อมูลบัตรที่ละเอียดอ่อนเข้าถึงเซิร์ฟเวอร์ของคุณ SDK ทั้งหมดปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเฉพาะแพลตฟอร์มและให้บริการคอมโพเนนต์ UI และ API แบบ native
คุณสมบัติหลัก
- Native tokenization - สร้าง payment token ที่ปลอดภัยโดยตร งจากอุปกรณ์มือถือ
- ปฏิบัติตามมาตรฐาน PCI - ข้อมูลบัตรไม่เข้าถึงเซิร์ฟเวอร์ของคุณ
- การออกแบบเฉพาะแพลตฟอร์ม - คอมโพเนนต์ native ที่ปฏิบัติตามแนวทางการออกแบบของ iOS และ Android
- วิธีการชำระเงินหลากหลาย - รองรับบัตร, mobile banking และวิธีการชำระเงินทางเลือกอื่น
- การตรวจสอบความถูกต้องในตัว - การตรวจสอบฝั่ง client สำหรับหมายเลขบัตร, CVV และวันหมดอายุ
- รองรับ 3D Secure - รองรับ 3D Secure authentication flows ในตัว
- การยืนยันตัวตนด้วยไบโอเมตริกซ์ - รองรับ Touch ID, Face ID และการยืนยันตัวตนด้วยลายนิ้วมือ
- การจัดการข้อผิดพลาด - ข้อความแสดงข้อผิดพลาดและการจัดการที่ครอบคลุม
- ความยืดหยุ่นของเครือข่าย - ลอจิกการลองใหม่อัตโนมัติและการจัดการแบบออฟไลน์
SDK ที่มีให้บริก าร
iOS SDK
สร้างประสบการณ์การชำระเงินที่ปลอดภัยสำหรับแอปพลิเคชัน iPhone และ iPad
- ภาษา: Swift 5.0+, Objective-C
- เวอร์ชัน iOS: iOS 12.0 และใหม่กว่า
- การติดตั้ง: CocoaPods, Swift Package Manager, Carthage
- Repository: omise/omise-ios
Android SDK
ผสานรวมการชำระเงินเข้ากับแอปพลิเคชัน Android แบบ native
- ภาษา: Kotlin, Java 8+
- เวอร์ชัน Android: API Level 21 (Android 5.0) และใหม่กว่า
- การติดตั้ง: Gradle, Maven
- Repository: omise/omise-android
Flutter SDK
สร้างโซลูชันการชำระเงินข้ามแพลตฟอร์มด้วย Flutter
- ภาษา: Dart 2.12+
- เวอร์ชัน Flutter: Flutter 2.0 และใหม่กว่า
- แพลตฟอร์ม: iOS และ Android
- การติดตั้ง: pub.dev
- Repository: omise/omise-flutter
Dart SDK
การผสานรวม Dart ฝั่งเซิร์ฟเวอร์สำหรับบริการ backend
- ภาษา: Dart 2.12+
- แพลตฟอร์ม: แอปพลิเคชัน Dart ฝั่งเซิร์ฟเวอร์
- การติดตั ้ง: pub.dev
- Repository: omise/omise-dart
ข้อกำหนดเวอร์ชันขั้นต่ำ
เนื่องจากการลบ certificate pinning และการอัปเดตความปลอดภัย คุณต้องใช้อย่างน้อยเวอร์ชัน SDK เหล่านี้ เวอร์ชันเก่ากว่าอาจทำให้คำขอ API ล้มเหลว
| SDK | เวอร์ชันขั้นต่ำ | วันที่ปล่อย |
|---|---|---|
| iOS SDK | 3.2.0 | 29 ส.ค. 2019 |
| Android SDK | 3.0.0 | 31 ต.ค. 2019 |
อัปเดต dependencies ของแอปและ rebuild เพื่อให้แน่ใจว่าเข้ากันได้ หากคุณพบข้อผิดพลาด SSL/TLS ให้ตรวจสอบว่า root certificates ของอุปกรณ์เป็นปัจจุบัน
ภาพรวมสถาปัตยกรรม
Mobile SDK ทั้งหมดปฏิบัติตามรูปแบบสถาปัตยกรรมที่คล้ายกัน:
┌─────────────────┐
│ Mobile App │
│ │
│ ┌───────────┐ │
│ │ Omise SDK │ │
│ └─────┬─────┘ │
└────────┼────────┘
│
│ HTTPS (TLS 1.2+)
│
┌────▼────┐
│ Omise │
│ API │
└────┬────┘
│
┌────▼────────┐
│ Your Server │
└─────────────┘
ขั้นตอนการรักษาความปลอดภัย
- ลูกค้ากรอกร ายละเอียดการชำระเงิน ในแอปมือถือของคุณ
- SDK ตรวจสอบ ข้อมูลนำเข้าฝั่ง client
- SDK ส่ง ข้อมูลที่เข้ารหัสโดยตรงไปยังเซิร์ฟเวอร์ของ Omise
- Omise ส่งคืน token ที่ปลอดภัยไปยังแอปมือถือ
- แอปส่ง token ไปยังเซิร์ฟเวอร์ของคุณ
- เซิร์ฟเวอร์ของคุณ สร้างการเรียกเก็บเงินโดยใช้ token
ขั้นตอนนี้ทำให้มั่นใจว่าข้อมูลบัตรที่ละเอียดอ่อนไม่เข้าถึงเซิร์ฟเวอร์ของคุณ รักษาการปฏิบัติตามมาตรฐาน PCI
การเลือก SDK ที่เหมาะสม
| กรณีการใช้งาน | SDK ที่แนะนำ | เหตุผล |
|---|---|---|
| แอป iOS แบบ native | iOS SDK | ประสิทธิภาพดีที่สุด, คอมโพเนนต์ UI แบบ native |
| แอป Android แบบ native | Android SDK | ประสิทธิภา พดีที่สุด, คอมโพเนนต์ UI แบบ native |
| แอปข้ามแพลตฟอร์ม | Flutter SDK | เขียนครั้งเดียว, ใช้งานได้ทั้งสองแพลตฟอร์ม |
| บริการ backend ใน Dart | Dart SDK | เข้าถึง API เต็มรูปแบบสำหรับการทำงานฝั่งเซิร์ฟเวอร์ |
| แอป React Native | iOS + Android SDKs | ใช้ native modules กับ RN bridge |
กรณีการใช้งานทั่วไป
การสร้าง Token จากบัตรเครดิต
Mobile SDK ทั้งหมดให้บริการเมธอดในการสร้าง token จากข้อมูลบัตรเครดิต:
// iOS (Swift)
let request = Request(
name: "John Doe",
number: "4242424242424242",
expirationMonth: 12,
expirationYear: 2025,
securityCode: "123"
)
client.send(request) { result in
// Handle token
}
// Android (Kotlin)
val request = Token.CreateTokenRequest(
name = "John Doe",
number = "4242424242424242",
expirationMonth = 12,
expirationYear = 2025,
securityCode = "123"
)
client.send(request, callback)
// Flutter (Dart)
final token = await omise.createToken(
name: 'John Doe',
number: '4242424242424242',
expirationMonth: 12,
expirationYear: 2025,
securityCode: '123',
);
การสร้าง Payment Source
สำหรับวิธีการชำระเงินทางเลือกเช่น mobile banking:
// iOS - ธนาคารอินเทอร์เน็ต
let request = CreateSourceRequest(
amount: 100000,
currency: "thb",
type: .internetBankingBay
)
// Android - Mobile Banking
val request = Source.CreateSourceRequest(
amount = 100000,
currency = "thb",
type = SourceType.InternetBankingBay
)
// Flutter - PromptPay
final source = await omise.createSource(
amount: 100000,
currency: 'thb',
type: 'promptpay',
);
การติดตั้งลิงก์ด่วน
iOS
# CocoaPods
pod 'OmiseSDK'
# Swift Package Manager
dependencies: [
.package(url: "https://github.com/omise/omise-ios", from: "5.0.0")
]
Android
dependencies {
implementation 'co.omise:omise-android:4.0.0'
}
Flutter
flutter pub add omise_flutter
Dart
dart pub add omise_dart
แนวทางปฏิบัติที่ดีที่สุด
ความปลอดภัย
- ห้ามบันทึกข้อมูลที่ละเอียดอ่อน - อย่าบันทึกหมายเลขบัตร, CVV หรือ token
- ใช้ HTTPS เท่านั้น - SDK ทั้งหมดบังคับใช้การเชื่อมต่อ HTTPS
- ตรวจสอบบนเซิร์ฟเวอร์ - ตรวจสอบ token ฝั่งเซิร์ฟเวอร์เสมอก่อนสร้างการเรียกเก็บเงิน
- ใช้ rate limiting - ป้องกันการโจมตีแบบ brute-force บนฟอร์มการชำระเงิน
- ใช้ public key เท่านั้น - อย่าฝัง secret key ของคุณในแอปมือถือ