Skip to content

Commit

Permalink
Merge pull request #286 from omise/feature/MIT-2494
Browse files Browse the repository at this point in the history
Implement white-label installments: KBank, SCB, BBL
  • Loading branch information
Andrei Solovev authored May 14, 2024
2 parents f2f331b + 2a29c75 commit 6d8fd16
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- uses: actions/checkout@v3

- name: Run xcodebuild with tests
run: xcodebuild -project dev.xcodeproj/ -scheme OmiseSDK -derivedDataPath Build/ -destination 'platform=iOS Simulator,name=iPhone 11,OS=16.2' -enableCodeCoverage YES clean build test CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
run: xcodebuild -project dev.xcodeproj/ -scheme OmiseSDK -derivedDataPath Build/ -destination 'platform=iOS Simulator,name=iPhone 14,OS=17.5' -enableCodeCoverage YES clean build test CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

- name: Convert Xcode coverage to SonarCloud format
run: bash xccov-to-sonarqube-generic.sh build/Logs/Test/*.xcresult/ > sonarqube-generic-coverage.xml
Expand Down
3 changes: 3 additions & 0 deletions OmiseSDK/Resources/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"SourceType.installment_ttb" = "TMBThanachart Bank";
"SourceType.installment_uob" = "United Overseas Bank";
"SourceType.installment_wlb_ktc" = "KTC";
"SourceType.installment_wlb_kbank" = "Kasikorn Bank";
"SourceType.installment_wlb_scb" = "Siam Commercial Bank";
"SourceType.installment_wlb_bbl" = "Bangkok Bank";
"SourceType.internet_banking_bay" = "Bank of Ayudhya";
"SourceType.internet_banking_bbl" = "Bangkok Bank";
"SourceType.paynow" = "PayNow";
Expand Down
3 changes: 3 additions & 0 deletions OmiseSDK/Resources/ja.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"SourceType.installment_ttb" = "TMBタナチャート銀行";
"SourceType.installment_uob" = "ユナイテッド・オーバーシーズ銀行";
"SourceType.installment_wlb_ktc" = "クルンタイカード";
"SourceType.installment_wlb_kbank" = "カシコン銀行";
"SourceType.installment_wlb_scb" = "サイアム・コマーシャル銀行";
"SourceType.installment_wlb_bbl" = "バンコク銀行";
"SourceType.internet_banking_bay" = "アユタヤ銀行";
"SourceType.internet_banking_bbl" = "バンコク銀行";
"SourceType.paynow" = "PayNow";
Expand Down
3 changes: 3 additions & 0 deletions OmiseSDK/Resources/th.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"SourceType.installment_ttb" = "ธนาคารทีเอ็มบีธนชาต";
"SourceType.installment_uob" = "ธนาคารยูโอบี";
"SourceType.installment_wlb_ktc" = "เคทีซี";
"SourceType.installment_wlb_kbank" = "ธนาคารกสิกรไทย";
"SourceType.installment_wlb_scb" = "ธนาคารไทยพาณิชย์";
"SourceType.installment_wlb_bbl" = "ธนาคารกรุงเทพ";
"SourceType.internet_banking_bay" = "ธนาคารกรุงศรีอยุธยา";
"SourceType.internet_banking_bbl" = "ธนาคารกรุงเทพ";
"SourceType.paynow" = "เพย์นาว";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ extension Source.Payment.Installment {
return [ 3, 4, 6, 9, 10 ]
case .installmentFirstChoice:
return [ 3, 4, 6, 9, 10, 12, 18, 24, 36 ]
case .installmentBBL:
case .installmentBBL, .installmentWhiteLabelBBL:
return [ 4, 6, 8, 9, 10 ]
case .installmentMBB:
return [ 6, 12, 18, 24 ]
case .installmentKTC, .installmentWhiteLabelKTC:
return [ 3, 4, 5, 6, 7, 8, 9, 10 ]
case .installmentKBank:
case .installmentKBank, .installmentWhiteLabelKBank:
return [ 3, 4, 6, 10 ]
case .installmentSCB:
case .installmentSCB, .installmentWhiteLabelSCB:
return [ 3, 4, 6, 9, 10 ]
case .installmentTTB:
return [ 3, 4, 6, 10, 12 ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ extension SourceType {

public static var whiteLabelInstallments: [SourceType] {
[
.installmentWhiteLabelKTC
.installmentWhiteLabelKTC,
.installmentWhiteLabelKBank,
.installmentWhiteLabelSCB,
.installmentWhiteLabelBBL
]
}

Expand Down
6 changes: 6 additions & 0 deletions OmiseSDK/Sources/OmiseAPI/SourceType/SourceType.swift
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ public enum SourceType: String, Codable, CaseIterable {
case installmentUOB = "installment_uob"
/// Krungthai Card (KTC) https://docs.opn.ooo/installment-white-label-payments
case installmentWhiteLabelKTC = "installment_wlb_ktc"
/// Kasikorn Bank https://docs.opn.ooo/installment-white-label-payments
case installmentWhiteLabelKBank = "installment_wlb_kbank"
/// Siam Commercial Bank https://docs.opn.ooo/installment-white-label-payments
case installmentWhiteLabelSCB = "installment_wlb_scb"
/// Bangkok Bank https://docs.opn.ooo/installment-white-label-payments
case installmentWhiteLabelBBL = "installment_wlb_bbl"
/// Bank of Ayudhya (Krungsri) https://docs.opn.ooo/internet-banking
case internetBankingBAY = "internet_banking_bay"
/// Bangkok Bank https://docs.opn.ooo/internet-banking
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,16 @@ class ChoosePaymentCoordinator: NSObject, ViewAttachable {
func createInstallmentController() -> SelectPaymentController {
var sourceTypes = client.latestLoadedCapability?.availableSourceTypes(SourceType.installments) ?? []

// Remove .installmentKTC if .installmentWhiteLabelKTC is present
if sourceTypes.contains(.installmentWhiteLabelKTC) {
sourceTypes.removeAll { $0 == .installmentKTC }
let filter: [SourceType: SourceType] = [
.installmentWhiteLabelKTC: .installmentKTC,
.installmentWhiteLabelKBank: .installmentKBank,
.installmentWhiteLabelSCB: .installmentSCB,
.installmentWhiteLabelBBL: .installmentBBL
]

for (keepingSourceType, removingSourceType) in filter
where sourceTypes.contains(keepingSourceType) {
sourceTypes.removeAll { $0 == removingSourceType }
}

let viewModel = SelectSourceTypePaymentViewModel(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,17 @@ extension SourceType: ViewPresentable {
return "GrabPay"
case .installmentBAY:
return "Krungsri"
case .installmentBBL:
case .installmentBBL, .installmentWhiteLabelBBL:
return "Bangkok Bank"
case .installmentFirstChoice:
return "Krungsri First Choice"
case .installmentKBank:
case .installmentKBank, .installmentWhiteLabelKBank:
return "Kasikorn"
case .installmentKTC:
return "KTC"
case .installmentMBB:
return "MayBank"
case .installmentSCB:
case .installmentSCB, .installmentWhiteLabelSCB:
return "Siam Commercial Bank"
case .installmentTTB:
return "TMBThanachart Bank"
Expand Down Expand Up @@ -145,17 +145,17 @@ extension SourceType: ViewPresentable {
return "Grab"
case .installmentBAY:
return "BAY"
case .installmentBBL:
case .installmentBBL, .installmentWhiteLabelBBL:
return "BBL"
case .installmentFirstChoice:
return "First Choice"
case .installmentKBank:
case .installmentKBank, .installmentWhiteLabelKBank:
return "KBANK"
case .installmentKTC, .installmentWhiteLabelKTC:
return "KTC"
case .installmentMBB:
return "FPX/maybank"
case .installmentSCB:
case .installmentSCB, .installmentWhiteLabelSCB:
return "SCB"
case .installmentTTB:
return "ttb"
Expand Down

0 comments on commit 6d8fd16

Please sign in to comment.