Official Swift/iOS SDK for ShegerPay — Ethiopian payment verification
# ShegerPay iOS SDK
Official iOS/Swift SDK for ShegerPay Payment Verification Gateway.
## 📦 Installation
### Swift Package Manager (Recommended)
Add to your `Package.swift`:
```swift
dependencies: [
.package(url: "
github.com", from: "2.2.0")
]
```
Or in Xcode:
1. File → Add Packages...
2. Enter: `
github.com`
3. Click "Add Package"
### CocoaPods
```ruby
pod 'ShegerPaySDK', '~> 2.2'
```
### Manual Installation
Copy `Sources/ShegerPaySDK/ShegerPay.swift` into your project.
---
## 🚀 Quick Start
```swift
import ShegerPaySDK
// Initialize client
let client = try ShegerPay(apiKey: "sk_test_xxx")
// Verify Ethiopian payment
let result = try await client.verify(
transactionId: "FT24352648751234",
amount: 100.00,
provider: .cbe
)
if result.valid {
print("✅ Payment verified!")
print("Payer: \(result.payer ?? "Unknown")")
}
```
---
## 💳 Ethiopian Payment Verification
### Auto-Detect Provider
```swift
// Use quickVerify() when the provider is ambiguous.
let result = try await client.quickVerify(
transactionId: "FT24352648751234",
amount: 100.00
)
```
### BOA Verification
```swift
let result = try await client.verify(
transactionId: "
cs.bankofabyssinia.com",
amount: 100.00,
provider: .boa,
merchantName: "My Shop",
senderAccount: "52078"
)
```
### Specify Provider
```swift
let result = try await client.verify(
transactionId: "FT24352648751234",
amount: 100.00,
provider: .cbe,
merchantName: "My Shop"
)
```
### Supported Providers
| Provider | ID Format | Example |
| -------- | ---------------- | ------------------- |
| CBE | `FT` prefix | `FT24352648751234` |
| Telebirr | Reference number | `123456789` |
| Awash | `AW` prefix | `AW24352648751234` |
| BoA | Receipt URL / full `trx` | `
cs.bankofabyssinia.com` |
| E-Birr | Reference code | `EB123456` |
---
## 🖼 R …