From d1dae5ab3a356d9133aac2f457589544c3fac51e Mon Sep 17 00:00:00 2001 From: Nanang Rafsanjani Date: Mon, 12 Nov 2018 16:37:09 +0700 Subject: [PATCH] Hotfix/installment 1.14.2 (#393) * add offline to demo * handle offline installment * fix logic for offline installment --- .../MidtransDemo/MDOptionsViewController.m | 37 ++++++++++--------- .../MidtransNewCreditCardViewController.m | 10 +++-- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/MidtransDemo/MidtransDemo/MDOptionsViewController.m b/MidtransDemo/MidtransDemo/MDOptionsViewController.m index e9c52e0e8..b8fd7de07 100644 --- a/MidtransDemo/MidtransDemo/MDOptionsViewController.m +++ b/MidtransDemo/MidtransDemo/MDOptionsViewController.m @@ -231,7 +231,8 @@ - (void)initConfiguration{ [MDOption optionComposer:MDComposerTypeRadio name:@"Mandiri" value:[MDUtils installmentOfBank:@"mandiri" isRequired:NO]], [MDOption optionComposer:MDComposerTypeRadio name:@"CIMB" value:[MDUtils installmentOfBank:@"cimb" isRequired:NO]], [MDOption optionComposer:MDComposerTypeRadio name:@"BCA" value:[MDUtils installmentOfBank:@"bca" isRequired:NO]], - [MDOption optionComposer:MDComposerTypeRadio name:@"BNI" value:[MDUtils installmentOfBank:@"bni" isRequired:NO]]]; + [MDOption optionComposer:MDComposerTypeRadio name:@"BNI" value:[MDUtils installmentOfBank:@"bni" isRequired:NO]], + [MDOption optionComposer:MDComposerTypeRadio name:@"Offline" value:[MDUtils installmentOfBank:@"offline" isRequired:NO]]]; MDOptionView *optInstallment = [MDOptionView viewWithIcon:[UIImage imageNamed:@"installment"] titleTemplate:@"Installment %@" options:options @@ -425,24 +426,26 @@ - (void)alertViewController:(MDAlertViewController *)viewController didApplyRadi MidtransPaymentRequestV2Installment *term = option.value; term.required = [value isEqualToString:@"Required"]? YES: NO; + //auto adjust bank config NSString *bank = term.terms.allKeys.firstObject; - MTAcquiringBank bankAcq; - - if ([bank isEqualToString:BankBCAKey]) { - bankAcq = MTAcquiringBankBCA; - } - else if ([bank isEqualToString:BankMandiriKey]) { - bankAcq = MTAcquiringBankMandiri; - } - else { - bankAcq = MTAcquiringBankBNI; + if (![bank isEqualToString:@"offline"]) { + MTAcquiringBank bankAcq; + if ([bank isEqualToString:BankBCAKey]) { + bankAcq = MTAcquiringBankBCA; + } + else if ([bank isEqualToString:BankMandiriKey]) { + bankAcq = MTAcquiringBankMandiri; + } + else { + bankAcq = MTAcquiringBankUnknown; + } + + MDOptionView *view = [self optionView:OPTAcquiringBank]; + NSUInteger index = [view.options indexOfObjectPassingTest:^BOOL(MDOption * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + return [obj.value integerValue] == bankAcq; + }]; + [view selectOptionAtIndex:index]; } - - MDOptionView *view = [self optionView:OPTAcquiringBank]; - NSUInteger index = [view.options indexOfObjectPassingTest:^BOOL(MDOption * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - return [obj.value integerValue] == bankAcq; - }]; - [view selectOptionAtIndex:index]; } [self.selectedOptionView selectOptionAtIndex:index]; diff --git a/MidtransKit/MidtransKit/classes/MidtransNewCreditCardViewController.m b/MidtransKit/MidtransKit/classes/MidtransNewCreditCardViewController.m index 3655527f8..0fc5bb7ea 100644 --- a/MidtransKit/MidtransKit/classes/MidtransNewCreditCardViewController.m +++ b/MidtransKit/MidtransKit/classes/MidtransNewCreditCardViewController.m @@ -743,15 +743,19 @@ - (void)matchBINNumberWithInstallment:(NSString *)binNumber { } } - if (self.installmentAvailable) { + if (self.installmentAvailable) { + if ([self.filteredBinObject.bank isEqualToString:@"other"]) { + self.installmentBankName = @"offline"; + } + else { + self.installmentBankName = self.filteredBinObject.bank; + } if (!isDebitCard) { - self.installmentBankName = self.filteredBinObject.bank; [self.installmentValueObject setArray:@[@"0"]]; [self.installmentValueObject addObjectsFromArray:[self.installment.terms objectForKey:self.installmentBankName]]; [self showInstallmentView:YES]; } - } } else {