Skip to content

Commit

Permalink
Hotfix/installment 1.14.2 (#393)
Browse files Browse the repository at this point in the history
* add offline to demo

* handle offline installment

* fix logic for offline installment
  • Loading branch information
jukiginanjar committed Nov 12, 2018
1 parent 07d448b commit d1dae5a
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 20 deletions.
37 changes: 20 additions & 17 deletions MidtransDemo/MidtransDemo/MDOptionsViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit d1dae5a

Please sign in to comment.