Skip to content

Commit 66ee789

Browse files
committed
feature(errors): Update list of possible errors
1 parent f3af503 commit 66ee789

1 file changed

Lines changed: 133 additions & 11 deletions

File tree

lib/fintoc/errors.rb

Lines changed: 133 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,145 @@ def to_s
1919
end
2020
end
2121

22+
# 400 Bad Request Errors
2223
class InvalidRequestError < FintocError; end
23-
class LinkError < FintocError; end
24-
class AuthenticationError < FintocError; end
25-
class InstitutionError < FintocError; end
26-
class ApiError < FintocError; end
27-
class MissingResourceError < FintocError; end
28-
class InvalidLinkTokenError < FintocError; end
29-
class InvalidUsernameError < FintocError; end
30-
class InvalidHolderTypeError < FintocError; end
24+
class InvalidCurrencyError < FintocError; end
25+
class InvalidAmountError < FintocError; end
26+
class InvalidAccountTypeError < FintocError; end
27+
class InvalidAccountNumberError < FintocError; end
28+
class InvalidAccountStatusError < FintocError; end
29+
class InvalidAccountBalanceError < FintocError; end
30+
class InvalidInstitutionIdError < FintocError; end
31+
class CurrencyMismatchError < FintocError; end
32+
class InvalidCommentSizeError < FintocError; end
33+
class InvalidReferenceIdSizeError < FintocError; end
3134
class MissingParameterError < FintocError; end
35+
class InvalidPositiveIntegerError < FintocError; end
3236
class EmptyStringError < FintocError; end
33-
class UnrecognizedRequestError < FintocError; end
37+
class InvalidStringSizeError < FintocError; end
38+
class InvalidHashError < FintocError; end
39+
class InvalidBooleanError < FintocError; end
40+
class InvalidArrayError < FintocError; end
41+
class InvalidIntegerError < FintocError; end
42+
class InvalidJsonError < FintocError; end
43+
class InvalidParamsError < FintocError; end
44+
class MissingCursorError < FintocError; end
45+
class InvalidEnumError < FintocError; end
46+
class InvalidStringError < FintocError; end
47+
class InvalidUsernameError < FintocError; end
48+
class InvalidLinkTokenError < FintocError; end
3449
class InvalidDateError < FintocError; end
35-
class InvalidCredentialsError < FintocError; end
36-
class LockedCredentialsError < FintocError; end
50+
class InvalidHolderIdError < FintocError; end
51+
class InvalidCardNumberError < FintocError; end
52+
class InvalidProductError < FintocError; end
53+
class InvalidWebhookSubscriptionError < FintocError; end
54+
class InvalidIssueTypeError < FintocError; end
55+
class InvalidRefreshTypeError < FintocError; end
56+
class InvalidBusinessProfileTaxIdError < FintocError; end
57+
class InvalidSessionHolderIdError < FintocError; end
58+
class InvalidPaymentRecipientAccountError < FintocError; end
59+
class InvalidPayoutRecipientAccountError < FintocError; end
60+
class InvalidWidgetTokenError < FintocError; end
61+
class InvalidPaymentReferenceNumberError < FintocError; end
62+
class InvalidOnDemandLinkError < FintocError; end
63+
class InvalidHolderTypeError < FintocError; end
64+
class InvalidVoucherDownloadError < FintocError; end
65+
class InvalidModeError < FintocError; end
66+
class InvalidRsaKeyError < FintocError; end
67+
class ExpectedPublicRsaKeyError < FintocError; end
68+
class InvalidCidrBlockError < FintocError; end
69+
class InvalidExpiresAtError < FintocError; end
70+
class InvalidInstallmentsCurrencyError < FintocError; end
71+
class InvalidClabeError < FintocError; end
72+
class MismatchTransferAccountCurrencyError < FintocError; end
73+
74+
# 401 Unauthorized Errors
75+
class AuthenticationError < FintocError; end
3776
class InvalidApiKeyError < FintocError; end
77+
class ExpiredApiKeyError < FintocError; end
78+
class InvalidApiKeyModeError < FintocError; end
79+
class ExpiredExchangeTokenError < FintocError; end
80+
class InvalidExchangeTokenError < FintocError; end
81+
class MissingActiveJwsPublicKeyError < FintocError; end
82+
class InvalidJwsSignatureAlgorithmError < FintocError; end
83+
class InvalidJwsSignatureHeaderError < FintocError; end
84+
class InvalidJwsSignatureNonceError < FintocError; end
85+
class InvalidJwsSignatureTimestampError < FintocError; end
86+
class InvalidJwsSignatureTimestampFormatError < FintocError; end
87+
class InvalidJwsSignatureTimestampValueError < FintocError; end
88+
class MissingJwsSignatureHeaderError < FintocError; end
89+
class JwsNonceAlreadyUsedError < FintocError; end
90+
class InvalidJwsTsError < FintocError; end
91+
92+
# 402 Payment Required Errors
93+
class PaymentRequiredError < FintocError; end
94+
95+
# 403 Forbidden Errors
96+
class InvalidAccountError < FintocError; end
97+
class InvalidRecipientAccountError < FintocError; end
98+
class AccountNotActiveError < FintocError; end
99+
class EntityNotOperationalError < FintocError; end
100+
class ForbiddenEntityError < FintocError; end
101+
class ForbiddenAccountError < FintocError; end
102+
class ForbiddenAccountNumberError < FintocError; end
103+
class ForbiddenAccountVerificationError < FintocError; end
104+
class InvalidApiVersionError < FintocError; end
105+
class ProductAccessRequiredError < FintocError; end
106+
class ForbiddenRequestError < FintocError; end
107+
class MissingAllowedCidrBlocksError < FintocError; end
108+
class AllowedCidrBlocksDoesNotContainIpError < FintocError; end
109+
class RecipientBlockedAccountError < FintocError; end
110+
111+
# 404 Not Found Errors
112+
class MissingResourceError < FintocError; end
113+
class InvalidUrlError < FintocError; end
114+
class OrganizationWithoutEntitiesError < FintocError; end
115+
116+
# 405 Method Not Allowed Errors
117+
class OperationNotAllowedError < FintocError; end
118+
119+
# 406 Not Acceptable Errors
120+
class InstitutionCredentialsInvalidError < FintocError; end
121+
class LockedCredentialsError < FintocError; end
38122
class UnavailableInstitutionError < FintocError; end
123+
124+
# 409 Conflict Errors
125+
class InsufficientBalanceError < FintocError; end
126+
class InvalidDuplicatedTransferError < FintocError; end
127+
class InvalidTransferStatusError < FintocError; end
128+
class InvalidTransferDirectionError < FintocError; end
129+
class AccountNumberLimitReachedError < FintocError; end
130+
class AccountCannotBeBlockedError < FintocError; end
131+
132+
# 422 Unprocessable Entity Errors
133+
class InvalidOtpCodeError < FintocError; end
134+
class OtpNotFoundError < FintocError; end
135+
class OtpBlockedError < FintocError; end
136+
class OtpVerificationFailedError < FintocError; end
137+
class OtpAlreadyExistsError < FintocError; end
138+
class SubscriptionInProgressError < FintocError; end
139+
class OnDemandPolicyRequiredError < FintocError; end
140+
class OnDemandRefreshUnavailableError < FintocError; end
141+
class NotSupportedCountryError < FintocError; end
142+
class NotSupportedCurrencyError < FintocError; end
143+
class NotSupportedModeError < FintocError; end
144+
class NotSupportedProductError < FintocError; end
145+
class RefreshIntentInProgressError < FintocError; end
146+
class RejectedRefreshIntentError < FintocError; end
147+
class SenderBlockedAccountError < FintocError; end
148+
149+
# 429 Too Many Requests Errors
150+
class RateLimitExceededError < FintocError; end
151+
152+
# 500 Internal Server Errors
39153
class InternalServerError < FintocError; end
154+
class UnrecognizedRequestError < FintocError; end
155+
class CoreResponseError < FintocError; end
156+
157+
# Legacy Errors (keeping existing ones for backward compatibility and just in case)
158+
class LinkError < FintocError; end
159+
class InstitutionError < FintocError; end
160+
class ApiError < FintocError; end
161+
class InvalidCredentialsError < FintocError; end
40162
end
41163
end

0 commit comments

Comments
 (0)