@@ -63,6 +63,12 @@ public final class CardDetails {
6363
6464 private final Optional <Address > address ;
6565
66+ private final Optional <CountryCode > countryOfNationality ;
67+
68+ private final Optional <CountryCode > countryOfResidence ;
69+
70+ private final Optional <Address > bankAddress ;
71+
6672 private final Optional <List <Tag >> tags ;
6773
6874 private final Map <String , Object > additionalProperties ;
@@ -89,6 +95,9 @@ private CardDetails(
8995 Optional <CardMerchantDetails > merchantDetails ,
9096 Optional <Double > networkProviderRiskScore ,
9197 Optional <Address > address ,
98+ Optional <CountryCode > countryOfNationality ,
99+ Optional <CountryCode > countryOfResidence ,
100+ Optional <Address > bankAddress ,
92101 Optional <List <Tag >> tags ,
93102 Map <String , Object > additionalProperties ) {
94103 this .cardFingerprint = cardFingerprint ;
@@ -112,6 +121,9 @@ private CardDetails(
112121 this .merchantDetails = merchantDetails ;
113122 this .networkProviderRiskScore = networkProviderRiskScore ;
114123 this .address = address ;
124+ this .countryOfNationality = countryOfNationality ;
125+ this .countryOfResidence = countryOfResidence ;
126+ this .bankAddress = bankAddress ;
115127 this .tags = tags ;
116128 this .additionalProperties = additionalProperties ;
117129 }
@@ -245,6 +257,21 @@ public Optional<Address> getAddress() {
245257 return address ;
246258 }
247259
260+ @ JsonProperty ("countryOfNationality" )
261+ public Optional <CountryCode > getCountryOfNationality () {
262+ return countryOfNationality ;
263+ }
264+
265+ @ JsonProperty ("countryOfResidence" )
266+ public Optional <CountryCode > getCountryOfResidence () {
267+ return countryOfResidence ;
268+ }
269+
270+ @ JsonProperty ("bankAddress" )
271+ public Optional <Address > getBankAddress () {
272+ return bankAddress ;
273+ }
274+
248275 /**
249276 * @return Additional information that can be added via tags
250277 */
@@ -286,6 +313,9 @@ private boolean equalTo(CardDetails other) {
286313 && merchantDetails .equals (other .merchantDetails )
287314 && networkProviderRiskScore .equals (other .networkProviderRiskScore )
288315 && address .equals (other .address )
316+ && countryOfNationality .equals (other .countryOfNationality )
317+ && countryOfResidence .equals (other .countryOfResidence )
318+ && bankAddress .equals (other .bankAddress )
289319 && tags .equals (other .tags );
290320 }
291321
@@ -313,6 +343,9 @@ public int hashCode() {
313343 this .merchantDetails ,
314344 this .networkProviderRiskScore ,
315345 this .address ,
346+ this .countryOfNationality ,
347+ this .countryOfResidence ,
348+ this .bankAddress ,
316349 this .tags );
317350 }
318351
@@ -369,6 +402,12 @@ public static final class Builder {
369402
370403 private Optional <Address > address = Optional .empty ();
371404
405+ private Optional <CountryCode > countryOfNationality = Optional .empty ();
406+
407+ private Optional <CountryCode > countryOfResidence = Optional .empty ();
408+
409+ private Optional <Address > bankAddress = Optional .empty ();
410+
372411 private Optional <List <Tag >> tags = Optional .empty ();
373412
374413 @ JsonAnySetter
@@ -398,6 +437,9 @@ public Builder from(CardDetails other) {
398437 merchantDetails (other .getMerchantDetails ());
399438 networkProviderRiskScore (other .getNetworkProviderRiskScore ());
400439 address (other .getAddress ());
440+ countryOfNationality (other .getCountryOfNationality ());
441+ countryOfResidence (other .getCountryOfResidence ());
442+ bankAddress (other .getBankAddress ());
401443 tags (other .getTags ());
402444 return this ;
403445 }
@@ -633,6 +675,39 @@ public Builder address(Address address) {
633675 return this ;
634676 }
635677
678+ @ JsonSetter (value = "countryOfNationality" , nulls = Nulls .SKIP )
679+ public Builder countryOfNationality (Optional <CountryCode > countryOfNationality ) {
680+ this .countryOfNationality = countryOfNationality ;
681+ return this ;
682+ }
683+
684+ public Builder countryOfNationality (CountryCode countryOfNationality ) {
685+ this .countryOfNationality = Optional .ofNullable (countryOfNationality );
686+ return this ;
687+ }
688+
689+ @ JsonSetter (value = "countryOfResidence" , nulls = Nulls .SKIP )
690+ public Builder countryOfResidence (Optional <CountryCode > countryOfResidence ) {
691+ this .countryOfResidence = countryOfResidence ;
692+ return this ;
693+ }
694+
695+ public Builder countryOfResidence (CountryCode countryOfResidence ) {
696+ this .countryOfResidence = Optional .ofNullable (countryOfResidence );
697+ return this ;
698+ }
699+
700+ @ JsonSetter (value = "bankAddress" , nulls = Nulls .SKIP )
701+ public Builder bankAddress (Optional <Address > bankAddress ) {
702+ this .bankAddress = bankAddress ;
703+ return this ;
704+ }
705+
706+ public Builder bankAddress (Address bankAddress ) {
707+ this .bankAddress = Optional .ofNullable (bankAddress );
708+ return this ;
709+ }
710+
636711 @ JsonSetter (value = "tags" , nulls = Nulls .SKIP )
637712 public Builder tags (Optional <List <Tag >> tags ) {
638713 this .tags = tags ;
@@ -667,6 +742,9 @@ public CardDetails build() {
667742 merchantDetails ,
668743 networkProviderRiskScore ,
669744 address ,
745+ countryOfNationality ,
746+ countryOfResidence ,
747+ bankAddress ,
670748 tags ,
671749 additionalProperties );
672750 }
0 commit comments