Skip to content

Commit 03e309c

Browse files
feat(api): add property Account.cardholderCurrency (#273)
feat(api): add property `Card.cardholderCurrency` feat(api): add property `CardProgram.cardholderCurrency` feat(api): add property `CardProgram.cardholderCurrencies`
1 parent 298f204 commit 03e309c

8 files changed

Lines changed: 134 additions & 3 deletions

File tree

lithic-java-core/src/main/kotlin/com/lithic/api/models/Account.kt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class Account
2525
private constructor(
2626
private val accountHolder: JsonField<AccountHolder>,
2727
private val authRuleTokens: JsonField<List<String>>,
28+
private val cardholderCurrency: JsonField<String>,
2829
private val spendLimit: JsonField<SpendLimit>,
2930
private val state: JsonField<State>,
3031
private val token: JsonField<String>,
@@ -49,6 +50,10 @@ private constructor(
4950
fun authRuleTokens(): Optional<List<String>> =
5051
Optional.ofNullable(authRuleTokens.getNullable("auth_rule_tokens"))
5152

53+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
54+
fun cardholderCurrency(): Optional<String> =
55+
Optional.ofNullable(cardholderCurrency.getNullable("cardholder_currency"))
56+
5257
/**
5358
* Spend limit information for the user containing the daily, monthly, and lifetime spend limit
5459
* of the account. Any charges to a card owned by this account will be declined once their
@@ -94,6 +99,11 @@ private constructor(
9499
*/
95100
@JsonProperty("auth_rule_tokens") @ExcludeMissing fun _authRuleTokens() = authRuleTokens
96101

102+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
103+
@JsonProperty("cardholder_currency")
104+
@ExcludeMissing
105+
fun _cardholderCurrency() = cardholderCurrency
106+
97107
/**
98108
* Spend limit information for the user containing the daily, monthly, and lifetime spend limit
99109
* of the account. Any charges to a card owned by this account will be declined once their
@@ -138,6 +148,7 @@ private constructor(
138148
if (!validated) {
139149
accountHolder().map { it.validate() }
140150
authRuleTokens()
151+
cardholderCurrency()
141152
spendLimit().validate()
142153
state()
143154
token()
@@ -157,6 +168,7 @@ private constructor(
157168
return other is Account &&
158169
this.accountHolder == other.accountHolder &&
159170
this.authRuleTokens == other.authRuleTokens &&
171+
this.cardholderCurrency == other.cardholderCurrency &&
160172
this.spendLimit == other.spendLimit &&
161173
this.state == other.state &&
162174
this.token == other.token &&
@@ -171,6 +183,7 @@ private constructor(
171183
Objects.hash(
172184
accountHolder,
173185
authRuleTokens,
186+
cardholderCurrency,
174187
spendLimit,
175188
state,
176189
token,
@@ -183,7 +196,7 @@ private constructor(
183196
}
184197

185198
override fun toString() =
186-
"Account{accountHolder=$accountHolder, authRuleTokens=$authRuleTokens, spendLimit=$spendLimit, state=$state, token=$token, verificationAddress=$verificationAddress, created=$created, additionalProperties=$additionalProperties}"
199+
"Account{accountHolder=$accountHolder, authRuleTokens=$authRuleTokens, cardholderCurrency=$cardholderCurrency, spendLimit=$spendLimit, state=$state, token=$token, verificationAddress=$verificationAddress, created=$created, additionalProperties=$additionalProperties}"
187200

188201
companion object {
189202

@@ -194,6 +207,7 @@ private constructor(
194207

195208
private var accountHolder: JsonField<AccountHolder> = JsonMissing.of()
196209
private var authRuleTokens: JsonField<List<String>> = JsonMissing.of()
210+
private var cardholderCurrency: JsonField<String> = JsonMissing.of()
197211
private var spendLimit: JsonField<SpendLimit> = JsonMissing.of()
198212
private var state: JsonField<State> = JsonMissing.of()
199213
private var token: JsonField<String> = JsonMissing.of()
@@ -205,6 +219,7 @@ private constructor(
205219
internal fun from(account: Account) = apply {
206220
this.accountHolder = account.accountHolder
207221
this.authRuleTokens = account.authRuleTokens
222+
this.cardholderCurrency = account.cardholderCurrency
208223
this.spendLimit = account.spendLimit
209224
this.state = account.state
210225
this.token = account.token
@@ -242,6 +257,17 @@ private constructor(
242257
this.authRuleTokens = authRuleTokens
243258
}
244259

260+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
261+
fun cardholderCurrency(cardholderCurrency: String) =
262+
cardholderCurrency(JsonField.of(cardholderCurrency))
263+
264+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
265+
@JsonProperty("cardholder_currency")
266+
@ExcludeMissing
267+
fun cardholderCurrency(cardholderCurrency: JsonField<String>) = apply {
268+
this.cardholderCurrency = cardholderCurrency
269+
}
270+
245271
/**
246272
* Spend limit information for the user containing the daily, monthly, and lifetime spend
247273
* limit of the account. Any charges to a card owned by this account will be declined once
@@ -343,6 +369,7 @@ private constructor(
343369
Account(
344370
accountHolder,
345371
authRuleTokens.map { it.toUnmodifiable() },
372+
cardholderCurrency,
346373
spendLimit,
347374
state,
348375
token,

lithic-java-core/src/main/kotlin/com/lithic/api/models/Card.kt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ private constructor(
2626
private val accountToken: JsonField<String>,
2727
private val authRuleTokens: JsonField<List<String>>,
2828
private val cardProgramToken: JsonField<String>,
29+
private val cardholderCurrency: JsonField<String>,
2930
private val created: JsonField<OffsetDateTime>,
3031
private val cvv: JsonField<String>,
3132
private val digitalCardArtToken: JsonField<String>,
@@ -64,6 +65,10 @@ private constructor(
6465
/** Globally unique identifier for the card program on which the card exists. */
6566
fun cardProgramToken(): String = cardProgramToken.getRequired("card_program_token")
6667

68+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
69+
fun cardholderCurrency(): Optional<String> =
70+
Optional.ofNullable(cardholderCurrency.getNullable("cardholder_currency"))
71+
6772
/** An RFC 3339 timestamp for when the card was created. UTC time zone. */
6873
fun created(): OffsetDateTime = created.getRequired("created")
6974

@@ -183,6 +188,11 @@ private constructor(
183188
/** Globally unique identifier for the card program on which the card exists. */
184189
@JsonProperty("card_program_token") @ExcludeMissing fun _cardProgramToken() = cardProgramToken
185190

191+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
192+
@JsonProperty("cardholder_currency")
193+
@ExcludeMissing
194+
fun _cardholderCurrency() = cardholderCurrency
195+
186196
/** An RFC 3339 timestamp for when the card was created. UTC time zone. */
187197
@JsonProperty("created") @ExcludeMissing fun _created() = created
188198

@@ -299,6 +309,7 @@ private constructor(
299309
accountToken()
300310
authRuleTokens()
301311
cardProgramToken()
312+
cardholderCurrency()
302313
created()
303314
cvv()
304315
digitalCardArtToken()
@@ -330,6 +341,7 @@ private constructor(
330341
this.accountToken == other.accountToken &&
331342
this.authRuleTokens == other.authRuleTokens &&
332343
this.cardProgramToken == other.cardProgramToken &&
344+
this.cardholderCurrency == other.cardholderCurrency &&
333345
this.created == other.created &&
334346
this.cvv == other.cvv &&
335347
this.digitalCardArtToken == other.digitalCardArtToken &&
@@ -356,6 +368,7 @@ private constructor(
356368
accountToken,
357369
authRuleTokens,
358370
cardProgramToken,
371+
cardholderCurrency,
359372
created,
360373
cvv,
361374
digitalCardArtToken,
@@ -379,7 +392,7 @@ private constructor(
379392
}
380393

381394
override fun toString() =
382-
"Card{accountToken=$accountToken, authRuleTokens=$authRuleTokens, cardProgramToken=$cardProgramToken, created=$created, cvv=$cvv, digitalCardArtToken=$digitalCardArtToken, expMonth=$expMonth, expYear=$expYear, funding=$funding, hostname=$hostname, lastFour=$lastFour, memo=$memo, pan=$pan, productId=$productId, spendLimit=$spendLimit, spendLimitDuration=$spendLimitDuration, state=$state, token=$token, type=$type, additionalProperties=$additionalProperties}"
395+
"Card{accountToken=$accountToken, authRuleTokens=$authRuleTokens, cardProgramToken=$cardProgramToken, cardholderCurrency=$cardholderCurrency, created=$created, cvv=$cvv, digitalCardArtToken=$digitalCardArtToken, expMonth=$expMonth, expYear=$expYear, funding=$funding, hostname=$hostname, lastFour=$lastFour, memo=$memo, pan=$pan, productId=$productId, spendLimit=$spendLimit, spendLimitDuration=$spendLimitDuration, state=$state, token=$token, type=$type, additionalProperties=$additionalProperties}"
383396

384397
companion object {
385398

@@ -391,6 +404,7 @@ private constructor(
391404
private var accountToken: JsonField<String> = JsonMissing.of()
392405
private var authRuleTokens: JsonField<List<String>> = JsonMissing.of()
393406
private var cardProgramToken: JsonField<String> = JsonMissing.of()
407+
private var cardholderCurrency: JsonField<String> = JsonMissing.of()
394408
private var created: JsonField<OffsetDateTime> = JsonMissing.of()
395409
private var cvv: JsonField<String> = JsonMissing.of()
396410
private var digitalCardArtToken: JsonField<String> = JsonMissing.of()
@@ -414,6 +428,7 @@ private constructor(
414428
this.accountToken = card.accountToken
415429
this.authRuleTokens = card.authRuleTokens
416430
this.cardProgramToken = card.cardProgramToken
431+
this.cardholderCurrency = card.cardholderCurrency
417432
this.created = card.created
418433
this.cvv = card.cvv
419434
this.digitalCardArtToken = card.digitalCardArtToken
@@ -475,6 +490,17 @@ private constructor(
475490
this.cardProgramToken = cardProgramToken
476491
}
477492

493+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
494+
fun cardholderCurrency(cardholderCurrency: String) =
495+
cardholderCurrency(JsonField.of(cardholderCurrency))
496+
497+
/** 3-digit alphabetic ISO 4217 code for the currency of the cardholder. */
498+
@JsonProperty("cardholder_currency")
499+
@ExcludeMissing
500+
fun cardholderCurrency(cardholderCurrency: JsonField<String>) = apply {
501+
this.cardholderCurrency = cardholderCurrency
502+
}
503+
478504
/** An RFC 3339 timestamp for when the card was created. UTC time zone. */
479505
fun created(created: OffsetDateTime) = created(JsonField.of(created))
480506

@@ -742,6 +768,7 @@ private constructor(
742768
accountToken,
743769
authRuleTokens.map { it.toUnmodifiable() },
744770
cardProgramToken,
771+
cardholderCurrency,
745772
created,
746773
cvv,
747774
digitalCardArtToken,

0 commit comments

Comments
 (0)