├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md ├── release.yml └── workflows │ ├── codeql-analysis.yml │ ├── format.yml │ ├── javaci.yml │ ├── label_new_issues.yml │ ├── publish.yml │ ├── release.yml │ ├── sonarcloud.yml │ └── stale.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── VERSION ├── checkstyle-suppressions.xml ├── checkstyle.xml ├── pom.xml ├── renovate.json ├── src ├── main │ └── java │ │ └── com │ │ └── adyen │ │ ├── ApiKeyAuthenticatedService.java │ │ ├── Client.java │ │ ├── Config.java │ │ ├── Service.java │ │ ├── builders │ │ └── terminal │ │ │ └── TerminalAPIRequestBuilder.java │ │ ├── constants │ │ ├── ApiConstants.java │ │ ├── BrandCodes.java │ │ └── ErrorTypeCodes.java │ │ ├── enums │ │ ├── Environment.java │ │ ├── Gender.java │ │ ├── Region.java │ │ └── VatCategory.java │ │ ├── httpclient │ │ ├── AdyenHttpClient.java │ │ ├── AdyenResponse.java │ │ ├── AdyenResponseHandler.java │ │ ├── ClientInterface.java │ │ ├── HTTPClientException.java │ │ └── TerminalLocalAPIHostnameVerifier.java │ │ ├── model │ │ ├── ApiError.java │ │ ├── InvalidField.java │ │ ├── RequestOptions.java │ │ ├── acswebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AcsWebhooksHandler.java │ │ │ ├── Amount.java │ │ │ ├── AuthenticationDecision.java │ │ │ ├── AuthenticationInfo.java │ │ │ ├── AuthenticationNotificationData.java │ │ │ ├── AuthenticationNotificationRequest.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── ChallengeInfo.java │ │ │ ├── JSON.java │ │ │ ├── Purchase.java │ │ │ ├── PurchaseInfo.java │ │ │ ├── RelayedAuthenticationRequest.java │ │ │ ├── RelayedAuthenticationResponse.java │ │ │ ├── Resource.java │ │ │ └── ServiceError.java │ │ ├── additionalData │ │ │ ├── InvoiceLine.java │ │ │ ├── SplitPayment.java │ │ │ └── SplitPaymentItem.java │ │ ├── applicationinfo │ │ │ ├── ApplicationInfo.java │ │ │ ├── CommonField.java │ │ │ ├── ExternalPlatform.java │ │ │ ├── MerchantDevice.java │ │ │ └── ShopperInteractionDevice.java │ │ ├── balancecontrol │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Amount.java │ │ │ ├── BalanceTransferRequest.java │ │ │ ├── BalanceTransferResponse.java │ │ │ └── JSON.java │ │ ├── balanceplatform │ │ │ ├── AULocalAccountIdentification.java │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountHolder.java │ │ │ ├── AccountHolderCapability.java │ │ │ ├── AccountHolderInfo.java │ │ │ ├── AccountHolderUpdateRequest.java │ │ │ ├── AccountSupportingEntityCapability.java │ │ │ ├── ActiveNetworkTokensRestriction.java │ │ │ ├── AdditionalBankIdentification.java │ │ │ ├── Address.java │ │ │ ├── AddressRequirement.java │ │ │ ├── Amount.java │ │ │ ├── AmountMinMaxRequirement.java │ │ │ ├── AmountNonZeroDecimalsRequirement.java │ │ │ ├── AssociationDelegatedAuthenticationData.java │ │ │ ├── AssociationFinaliseRequest.java │ │ │ ├── AssociationFinaliseResponse.java │ │ │ ├── AssociationInitiateRequest.java │ │ │ ├── AssociationInitiateResponse.java │ │ │ ├── Authentication.java │ │ │ ├── BRLocalAccountIdentification.java │ │ │ ├── Balance.java │ │ │ ├── BalanceAccount.java │ │ │ ├── BalanceAccountBase.java │ │ │ ├── BalanceAccountInfo.java │ │ │ ├── BalanceAccountUpdateRequest.java │ │ │ ├── BalancePlatform.java │ │ │ ├── BalanceSweepConfigurationsResponse.java │ │ │ ├── BalanceWebhookSetting.java │ │ │ ├── BalanceWebhookSettingInfo.java │ │ │ ├── BalanceWebhookSettingInfoUpdate.java │ │ │ ├── BankAccount.java │ │ │ ├── BankAccountAccountIdentification.java │ │ │ ├── BankAccountDetails.java │ │ │ ├── BankAccountIdentificationTypeRequirement.java │ │ │ ├── BankAccountIdentificationValidationRequest.java │ │ │ ├── BankAccountIdentificationValidationRequestAccountIdentification.java │ │ │ ├── BankAccountModel.java │ │ │ ├── BankIdentification.java │ │ │ ├── BrandVariantsRestriction.java │ │ │ ├── BulkAddress.java │ │ │ ├── CALocalAccountIdentification.java │ │ │ ├── CZLocalAccountIdentification.java │ │ │ ├── CapabilityProblem.java │ │ │ ├── CapabilityProblemEntity.java │ │ │ ├── CapabilityProblemEntityRecursive.java │ │ │ ├── CapabilitySettings.java │ │ │ ├── CapitalBalance.java │ │ │ ├── CapitalGrantAccount.java │ │ │ ├── Card.java │ │ │ ├── CardConfiguration.java │ │ │ ├── CardInfo.java │ │ │ ├── CardOrder.java │ │ │ ├── CardOrderItem.java │ │ │ ├── CardOrderItemDeliveryStatus.java │ │ │ ├── Condition.java │ │ │ ├── ContactDetails.java │ │ │ ├── Counterparty.java │ │ │ ├── CounterpartyBankRestriction.java │ │ │ ├── CounterpartyTypesRestriction.java │ │ │ ├── CountriesRestriction.java │ │ │ ├── CreateSweepConfigurationV2.java │ │ │ ├── DKLocalAccountIdentification.java │ │ │ ├── DayOfWeekRestriction.java │ │ │ ├── DefaultErrorResponseEntity.java │ │ │ ├── DelegatedAuthenticationData.java │ │ │ ├── DeliveryAddress.java │ │ │ ├── DeliveryContact.java │ │ │ ├── Device.java │ │ │ ├── DeviceInfo.java │ │ │ ├── DifferentCurrenciesRestriction.java │ │ │ ├── Duration.java │ │ │ ├── EntryModesRestriction.java │ │ │ ├── Expiry.java │ │ │ ├── Fee.java │ │ │ ├── GetNetworkTokenResponse.java │ │ │ ├── GetTaxFormResponse.java │ │ │ ├── GrantLimit.java │ │ │ ├── GrantOffer.java │ │ │ ├── GrantOffers.java │ │ │ ├── HKLocalAccountIdentification.java │ │ │ ├── HULocalAccountIdentification.java │ │ │ ├── Href.java │ │ │ ├── IbanAccountIdentification.java │ │ │ ├── IbanAccountIdentificationRequirement.java │ │ │ ├── InternationalTransactionRestriction.java │ │ │ ├── InvalidField.java │ │ │ ├── JSON.java │ │ │ ├── Link.java │ │ │ ├── ListNetworkTokensResponse.java │ │ │ ├── MatchingTransactionsRestriction.java │ │ │ ├── MatchingValuesRestriction.java │ │ │ ├── MccsRestriction.java │ │ │ ├── MerchantAcquirerPair.java │ │ │ ├── MerchantNamesRestriction.java │ │ │ ├── MerchantsRestriction.java │ │ │ ├── NOLocalAccountIdentification.java │ │ │ ├── NZLocalAccountIdentification.java │ │ │ ├── Name.java │ │ │ ├── NetworkToken.java │ │ │ ├── NumberAndBicAccountIdentification.java │ │ │ ├── PLLocalAccountIdentification.java │ │ │ ├── PaginatedAccountHoldersResponse.java │ │ │ ├── PaginatedBalanceAccountsResponse.java │ │ │ ├── PaginatedGetCardOrderItemResponse.java │ │ │ ├── PaginatedGetCardOrderResponse.java │ │ │ ├── PaginatedPaymentInstrumentsResponse.java │ │ │ ├── PaymentInstrument.java │ │ │ ├── PaymentInstrumentAdditionalBankAccountIdentificationsInner.java │ │ │ ├── PaymentInstrumentGroup.java │ │ │ ├── PaymentInstrumentGroupInfo.java │ │ │ ├── PaymentInstrumentInfo.java │ │ │ ├── PaymentInstrumentRequirement.java │ │ │ ├── PaymentInstrumentRevealInfo.java │ │ │ ├── PaymentInstrumentRevealRequest.java │ │ │ ├── PaymentInstrumentRevealResponse.java │ │ │ ├── PaymentInstrumentUpdateRequest.java │ │ │ ├── Phone.java │ │ │ ├── PhoneNumber.java │ │ │ ├── PinChangeRequest.java │ │ │ ├── PinChangeResponse.java │ │ │ ├── PlatformPaymentConfiguration.java │ │ │ ├── ProcessingTypesRestriction.java │ │ │ ├── PublicKeyResponse.java │ │ │ ├── RegisterSCAFinalResponse.java │ │ │ ├── RegisterSCARequest.java │ │ │ ├── RegisterSCAResponse.java │ │ │ ├── RemediatingAction.java │ │ │ ├── Repayment.java │ │ │ ├── RepaymentTerm.java │ │ │ ├── RestServiceError.java │ │ │ ├── RevealPinRequest.java │ │ │ ├── RevealPinResponse.java │ │ │ ├── RiskScores.java │ │ │ ├── RiskScoresRestriction.java │ │ │ ├── SELocalAccountIdentification.java │ │ │ ├── SGLocalAccountIdentification.java │ │ │ ├── SameAmountRestriction.java │ │ │ ├── SameCounterpartyRestriction.java │ │ │ ├── SearchRegisteredDevicesResponse.java │ │ │ ├── SettingType.java │ │ │ ├── SourceAccountTypesRestriction.java │ │ │ ├── StringMatch.java │ │ │ ├── SweepConfigurationV2.java │ │ │ ├── SweepCounterparty.java │ │ │ ├── SweepSchedule.java │ │ │ ├── Target.java │ │ │ ├── TargetUpdate.java │ │ │ ├── ThresholdRepayment.java │ │ │ ├── TimeOfDay.java │ │ │ ├── TimeOfDayRestriction.java │ │ │ ├── TokenRequestorsRestriction.java │ │ │ ├── TotalAmountRestriction.java │ │ │ ├── TransactionRule.java │ │ │ ├── TransactionRuleEntityKey.java │ │ │ ├── TransactionRuleInfo.java │ │ │ ├── TransactionRuleInterval.java │ │ │ ├── TransactionRuleResponse.java │ │ │ ├── TransactionRuleRestrictions.java │ │ │ ├── TransactionRulesResponse.java │ │ │ ├── TransferRoute.java │ │ │ ├── TransferRouteRequest.java │ │ │ ├── TransferRouteRequirementsInner.java │ │ │ ├── TransferRouteResponse.java │ │ │ ├── UKLocalAccountIdentification.java │ │ │ ├── USInstantPayoutAddressRequirement.java │ │ │ ├── USInternationalAchAddressRequirement.java │ │ │ ├── USLocalAccountIdentification.java │ │ │ ├── UpdateNetworkTokenRequest.java │ │ │ ├── UpdatePaymentInstrument.java │ │ │ ├── UpdateSweepConfigurationV2.java │ │ │ ├── VerificationDeadline.java │ │ │ ├── VerificationError.java │ │ │ ├── VerificationErrorRecursive.java │ │ │ ├── WalletProviderAccountScoreRestriction.java │ │ │ ├── WalletProviderDeviceScore.java │ │ │ ├── WalletProviderDeviceType.java │ │ │ ├── WebhookSetting.java │ │ │ └── WebhookSettings.java │ │ ├── balancewebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── BalanceAccountBalanceNotificationRequest.java │ │ │ ├── BalanceNotificationData.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── BalanceWebhooksHandler.java │ │ │ ├── Balances.java │ │ │ └── JSON.java │ │ ├── binlookup │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Amount.java │ │ │ ├── BinDetail.java │ │ │ ├── CardBin.java │ │ │ ├── CostEstimateAssumptions.java │ │ │ ├── CostEstimateRequest.java │ │ │ ├── CostEstimateResponse.java │ │ │ ├── DSPublicKeyDetail.java │ │ │ ├── JSON.java │ │ │ ├── MerchantDetails.java │ │ │ ├── Recurring.java │ │ │ ├── ServiceError.java │ │ │ ├── ThreeDS2CardRangeDetail.java │ │ │ ├── ThreeDSAvailabilityRequest.java │ │ │ └── ThreeDSAvailabilityResponse.java │ │ ├── checkout │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountInfo.java │ │ │ ├── AcctInfo.java │ │ │ ├── AchDetails.java │ │ │ ├── AdditionalData3DSecure.java │ │ │ ├── AdditionalDataAirline.java │ │ │ ├── AdditionalDataCarRental.java │ │ │ ├── AdditionalDataCommon.java │ │ │ ├── AdditionalDataLevel23.java │ │ │ ├── AdditionalDataLodging.java │ │ │ ├── AdditionalDataOpenInvoice.java │ │ │ ├── AdditionalDataOpi.java │ │ │ ├── AdditionalDataRatepay.java │ │ │ ├── AdditionalDataRetry.java │ │ │ ├── AdditionalDataRisk.java │ │ │ ├── AdditionalDataRiskStandalone.java │ │ │ ├── AdditionalDataSubMerchant.java │ │ │ ├── AdditionalDataTemporaryServices.java │ │ │ ├── AdditionalDataWallets.java │ │ │ ├── Address.java │ │ │ ├── AffirmDetails.java │ │ │ ├── AfterpayDetails.java │ │ │ ├── Agency.java │ │ │ ├── Airline.java │ │ │ ├── AmazonPayDetails.java │ │ │ ├── Amount.java │ │ │ ├── Amounts.java │ │ │ ├── AncvDetails.java │ │ │ ├── AndroidPayDetails.java │ │ │ ├── ApplePayDetails.java │ │ │ ├── ApplePayDonations.java │ │ │ ├── ApplePaySessionRequest.java │ │ │ ├── ApplePaySessionResponse.java │ │ │ ├── ApplicationInfo.java │ │ │ ├── AuthenticationData.java │ │ │ ├── BacsDirectDebitDetails.java │ │ │ ├── BalanceCheckRequest.java │ │ │ ├── BalanceCheckResponse.java │ │ │ ├── BillDeskDetails.java │ │ │ ├── BillingAddress.java │ │ │ ├── BlikDetails.java │ │ │ ├── BrowserInfo.java │ │ │ ├── CancelOrderRequest.java │ │ │ ├── CancelOrderResponse.java │ │ │ ├── CardBrandDetails.java │ │ │ ├── CardDetails.java │ │ │ ├── CardDetailsRequest.java │ │ │ ├── CardDetailsResponse.java │ │ │ ├── CardDonations.java │ │ │ ├── CashAppDetails.java │ │ │ ├── CellulantDetails.java │ │ │ ├── CheckoutAwaitAction.java │ │ │ ├── CheckoutBankAccount.java │ │ │ ├── CheckoutBankTransferAction.java │ │ │ ├── CheckoutDelegatedAuthenticationAction.java │ │ │ ├── CheckoutNativeRedirectAction.java │ │ │ ├── CheckoutOrderResponse.java │ │ │ ├── CheckoutPaymentMethod.java │ │ │ ├── CheckoutQrCodeAction.java │ │ │ ├── CheckoutRedirectAction.java │ │ │ ├── CheckoutSDKAction.java │ │ │ ├── CheckoutSessionInstallmentOption.java │ │ │ ├── CheckoutSessionThreeDS2RequestData.java │ │ │ ├── CheckoutThreeDS2Action.java │ │ │ ├── CheckoutVoucherAction.java │ │ │ ├── CommonField.java │ │ │ ├── Company.java │ │ │ ├── CreateCheckoutSessionRequest.java │ │ │ ├── CreateCheckoutSessionResponse.java │ │ │ ├── CreateOrderRequest.java │ │ │ ├── CreateOrderResponse.java │ │ │ ├── DeliveryAddress.java │ │ │ ├── DeliveryMethod.java │ │ │ ├── DetailsRequestAuthenticationData.java │ │ │ ├── DeviceRenderOptions.java │ │ │ ├── DokuDetails.java │ │ │ ├── Donation.java │ │ │ ├── DonationCampaign.java │ │ │ ├── DonationCampaignsRequest.java │ │ │ ├── DonationCampaignsResponse.java │ │ │ ├── DonationPaymentMethod.java │ │ │ ├── DonationPaymentRequest.java │ │ │ ├── DonationPaymentResponse.java │ │ │ ├── DragonpayDetails.java │ │ │ ├── EBankingFinlandDetails.java │ │ │ ├── EcontextVoucherDetails.java │ │ │ ├── EftDetails.java │ │ │ ├── EncryptedOrderData.java │ │ │ ├── EnhancedSchemeData.java │ │ │ ├── ExternalPlatform.java │ │ │ ├── FastlaneDetails.java │ │ │ ├── ForexQuote.java │ │ │ ├── FraudCheckResult.java │ │ │ ├── FraudResult.java │ │ │ ├── FundOrigin.java │ │ │ ├── FundRecipient.java │ │ │ ├── GenericIssuerPaymentMethodDetails.java │ │ │ ├── GooglePayDetails.java │ │ │ ├── GooglePayDonations.java │ │ │ ├── IdealDetails.java │ │ │ ├── IdealDonations.java │ │ │ ├── InputDetail.java │ │ │ ├── InstallmentOption.java │ │ │ ├── Installments.java │ │ │ ├── Item.java │ │ │ ├── JSON.java │ │ │ ├── KlarnaDetails.java │ │ │ ├── Leg.java │ │ │ ├── LineItem.java │ │ │ ├── ListStoredPaymentMethodsResponse.java │ │ │ ├── Mandate.java │ │ │ ├── MasterpassDetails.java │ │ │ ├── MbwayDetails.java │ │ │ ├── MerchantDevice.java │ │ │ ├── MerchantRiskIndicator.java │ │ │ ├── MobilePayDetails.java │ │ │ ├── MolPayDetails.java │ │ │ ├── Name.java │ │ │ ├── OpenInvoiceDetails.java │ │ │ ├── Passenger.java │ │ │ ├── PayByBankAISDirectDebitDetails.java │ │ │ ├── PayByBankDetails.java │ │ │ ├── PayPalDetails.java │ │ │ ├── PayPayDetails.java │ │ │ ├── PayToDetails.java │ │ │ ├── PayUUpiDetails.java │ │ │ ├── PayWithGoogleDetails.java │ │ │ ├── PayWithGoogleDonations.java │ │ │ ├── Payment.java │ │ │ ├── PaymentAmountUpdateRequest.java │ │ │ ├── PaymentAmountUpdateResponse.java │ │ │ ├── PaymentCancelRequest.java │ │ │ ├── PaymentCancelResponse.java │ │ │ ├── PaymentCaptureRequest.java │ │ │ ├── PaymentCaptureResponse.java │ │ │ ├── PaymentCompletionDetails.java │ │ │ ├── PaymentDetails.java │ │ │ ├── PaymentDetailsRequest.java │ │ │ ├── PaymentDetailsResponse.java │ │ │ ├── PaymentLinkRequest.java │ │ │ ├── PaymentLinkResponse.java │ │ │ ├── PaymentMethod.java │ │ │ ├── PaymentMethodGroup.java │ │ │ ├── PaymentMethodIssuer.java │ │ │ ├── PaymentMethodToStore.java │ │ │ ├── PaymentMethodUPIApps.java │ │ │ ├── PaymentMethodsRequest.java │ │ │ ├── PaymentMethodsResponse.java │ │ │ ├── PaymentRefundRequest.java │ │ │ ├── PaymentRefundResponse.java │ │ │ ├── PaymentRequest.java │ │ │ ├── PaymentResponse.java │ │ │ ├── PaymentResponseAction.java │ │ │ ├── PaymentReversalRequest.java │ │ │ ├── PaymentReversalResponse.java │ │ │ ├── PaypalUpdateOrderRequest.java │ │ │ ├── PaypalUpdateOrderResponse.java │ │ │ ├── Phone.java │ │ │ ├── PixDetails.java │ │ │ ├── PixRecurring.java │ │ │ ├── PlatformChargebackLogic.java │ │ │ ├── PseDetails.java │ │ │ ├── RakutenPayDetails.java │ │ │ ├── RatepayDetails.java │ │ │ ├── Recurring.java │ │ │ ├── ResponseAdditionalData3DSecure.java │ │ │ ├── ResponseAdditionalDataBillingAddress.java │ │ │ ├── ResponseAdditionalDataCard.java │ │ │ ├── ResponseAdditionalDataCommon.java │ │ │ ├── ResponseAdditionalDataDomesticError.java │ │ │ ├── ResponseAdditionalDataInstallments.java │ │ │ ├── ResponseAdditionalDataNetworkTokens.java │ │ │ ├── ResponseAdditionalDataOpi.java │ │ │ ├── ResponseAdditionalDataSepa.java │ │ │ ├── ResponsePaymentMethod.java │ │ │ ├── RiskData.java │ │ │ ├── RivertyDetails.java │ │ │ ├── SDKEphemPubKey.java │ │ │ ├── SamsungPayDetails.java │ │ │ ├── SepaDirectDebitDetails.java │ │ │ ├── ServiceError.java │ │ │ ├── SessionResultResponse.java │ │ │ ├── ShopperInteractionDevice.java │ │ │ ├── Split.java │ │ │ ├── SplitAmount.java │ │ │ ├── StandalonePaymentCancelRequest.java │ │ │ ├── StandalonePaymentCancelResponse.java │ │ │ ├── StoredPaymentMethod.java │ │ │ ├── StoredPaymentMethodDetails.java │ │ │ ├── StoredPaymentMethodRequest.java │ │ │ ├── StoredPaymentMethodResource.java │ │ │ ├── SubInputDetail.java │ │ │ ├── SubMerchant.java │ │ │ ├── SubMerchantInfo.java │ │ │ ├── Surcharge.java │ │ │ ├── TaxTotal.java │ │ │ ├── ThreeDS2RequestData.java │ │ │ ├── ThreeDS2RequestFields.java │ │ │ ├── ThreeDS2ResponseData.java │ │ │ ├── ThreeDS2Result.java │ │ │ ├── ThreeDSRequestData.java │ │ │ ├── ThreeDSRequestorAuthenticationInfo.java │ │ │ ├── ThreeDSRequestorPriorAuthenticationInfo.java │ │ │ ├── ThreeDSecureData.java │ │ │ ├── Ticket.java │ │ │ ├── TravelAgency.java │ │ │ ├── TwintDetails.java │ │ │ ├── UpdatePaymentLinkRequest.java │ │ │ ├── UpiCollectDetails.java │ │ │ ├── UpiIntentDetails.java │ │ │ ├── UtilityRequest.java │ │ │ ├── UtilityResponse.java │ │ │ ├── VippsDetails.java │ │ │ ├── VisaCheckoutDetails.java │ │ │ ├── WeChatPayDetails.java │ │ │ ├── WeChatPayMiniProgramDetails.java │ │ │ └── ZipDetails.java │ │ ├── checkoututility │ │ │ ├── OriginKeysRequest.java │ │ │ └── OriginKeysResponse.java │ │ ├── configurationwebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountHolder.java │ │ │ ├── AccountHolderCapability.java │ │ │ ├── AccountHolderNotificationData.java │ │ │ ├── AccountHolderNotificationRequest.java │ │ │ ├── AccountSupportingEntityCapability.java │ │ │ ├── Address.java │ │ │ ├── Amount.java │ │ │ ├── Authentication.java │ │ │ ├── Balance.java │ │ │ ├── BalanceAccount.java │ │ │ ├── BalanceAccountNotificationData.java │ │ │ ├── BalanceAccountNotificationRequest.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── BankAccountDetails.java │ │ │ ├── BulkAddress.java │ │ │ ├── CapabilityProblem.java │ │ │ ├── CapabilityProblemEntity.java │ │ │ ├── CapabilityProblemEntityRecursive.java │ │ │ ├── CapabilitySettings.java │ │ │ ├── Card.java │ │ │ ├── CardConfiguration.java │ │ │ ├── CardOrderItem.java │ │ │ ├── CardOrderItemDeliveryStatus.java │ │ │ ├── CardOrderNotificationRequest.java │ │ │ ├── ConfigurationWebhooksHandler.java │ │ │ ├── ContactDetails.java │ │ │ ├── DeliveryAddress.java │ │ │ ├── DeliveryContact.java │ │ │ ├── Device.java │ │ │ ├── Expiry.java │ │ │ ├── IbanAccountIdentification.java │ │ │ ├── JSON.java │ │ │ ├── Name.java │ │ │ ├── NetworkTokenNotificationDataV2.java │ │ │ ├── NetworkTokenNotificationRequest.java │ │ │ ├── PaymentInstrument.java │ │ │ ├── PaymentInstrumentAdditionalBankAccountIdentificationsInner.java │ │ │ ├── PaymentInstrumentNotificationData.java │ │ │ ├── PaymentNotificationRequest.java │ │ │ ├── Phone.java │ │ │ ├── PhoneNumber.java │ │ │ ├── PlatformPaymentConfiguration.java │ │ │ ├── RemediatingAction.java │ │ │ ├── Resource.java │ │ │ ├── SweepConfigurationNotificationData.java │ │ │ ├── SweepConfigurationNotificationRequest.java │ │ │ ├── SweepConfigurationV2.java │ │ │ ├── SweepCounterparty.java │ │ │ ├── SweepSchedule.java │ │ │ ├── TokenAuthentication.java │ │ │ ├── ValidationFacts.java │ │ │ ├── VerificationDeadline.java │ │ │ ├── VerificationError.java │ │ │ ├── VerificationErrorRecursive.java │ │ │ └── Wallet.java │ │ ├── dataprotection │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── JSON.java │ │ │ ├── ServiceError.java │ │ │ ├── SubjectErasureByPspReferenceRequest.java │ │ │ └── SubjectErasureResponse.java │ │ ├── disputes │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AcceptDisputeRequest.java │ │ │ ├── AcceptDisputeResponse.java │ │ │ ├── DefendDisputeRequest.java │ │ │ ├── DefendDisputeResponse.java │ │ │ ├── DefenseDocument.java │ │ │ ├── DefenseDocumentType.java │ │ │ ├── DefenseReason.java │ │ │ ├── DefenseReasonsRequest.java │ │ │ ├── DefenseReasonsResponse.java │ │ │ ├── DeleteDefenseDocumentRequest.java │ │ │ ├── DeleteDefenseDocumentResponse.java │ │ │ ├── DisputeServiceResult.java │ │ │ ├── JSON.java │ │ │ ├── ServiceError.java │ │ │ ├── SupplyDefenseDocumentRequest.java │ │ │ └── SupplyDefenseDocumentResponse.java │ │ ├── disputewebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Amount.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── DisputeEventNotification.java │ │ │ ├── DisputeNotificationRequest.java │ │ │ ├── DisputeWebhooksHandler.java │ │ │ └── JSON.java │ │ ├── legalentitymanagement │ │ │ ├── AULocalAccountIdentification.java │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AcceptTermsOfServiceRequest.java │ │ │ ├── AcceptTermsOfServiceResponse.java │ │ │ ├── AdditionalBankIdentification.java │ │ │ ├── Address.java │ │ │ ├── Amount.java │ │ │ ├── Attachment.java │ │ │ ├── BankAccountInfo.java │ │ │ ├── BankAccountInfoAccountIdentification.java │ │ │ ├── BirthData.java │ │ │ ├── BusinessLine.java │ │ │ ├── BusinessLineInfo.java │ │ │ ├── BusinessLineInfoUpdate.java │ │ │ ├── BusinessLines.java │ │ │ ├── CALocalAccountIdentification.java │ │ │ ├── CZLocalAccountIdentification.java │ │ │ ├── CalculatePciStatusRequest.java │ │ │ ├── CalculatePciStatusResponse.java │ │ │ ├── CalculateTermsOfServiceStatusResponse.java │ │ │ ├── CapabilityProblem.java │ │ │ ├── CapabilityProblemEntity.java │ │ │ ├── CapabilityProblemEntityRecursive.java │ │ │ ├── CapabilitySettings.java │ │ │ ├── CheckTaxElectronicDeliveryConsentResponse.java │ │ │ ├── DKLocalAccountIdentification.java │ │ │ ├── DataReviewConfirmationResponse.java │ │ │ ├── Document.java │ │ │ ├── DocumentPage.java │ │ │ ├── DocumentReference.java │ │ │ ├── EntityReference.java │ │ │ ├── FinancialReport.java │ │ │ ├── GeneratePciDescriptionRequest.java │ │ │ ├── GeneratePciDescriptionResponse.java │ │ │ ├── GetAcceptedTermsOfServiceDocumentResponse.java │ │ │ ├── GetPciQuestionnaireInfosResponse.java │ │ │ ├── GetPciQuestionnaireResponse.java │ │ │ ├── GetTermsOfServiceAcceptanceInfosResponse.java │ │ │ ├── GetTermsOfServiceDocumentRequest.java │ │ │ ├── GetTermsOfServiceDocumentResponse.java │ │ │ ├── HKLocalAccountIdentification.java │ │ │ ├── HULocalAccountIdentification.java │ │ │ ├── IbanAccountIdentification.java │ │ │ ├── IdentificationData.java │ │ │ ├── Individual.java │ │ │ ├── JSON.java │ │ │ ├── LegalEntity.java │ │ │ ├── LegalEntityAssociation.java │ │ │ ├── LegalEntityCapability.java │ │ │ ├── LegalEntityInfo.java │ │ │ ├── LegalEntityInfoRequiredType.java │ │ │ ├── NOLocalAccountIdentification.java │ │ │ ├── NZLocalAccountIdentification.java │ │ │ ├── Name.java │ │ │ ├── NumberAndBicAccountIdentification.java │ │ │ ├── OnboardingLink.java │ │ │ ├── OnboardingLinkInfo.java │ │ │ ├── OnboardingLinkSettings.java │ │ │ ├── OnboardingTheme.java │ │ │ ├── OnboardingThemes.java │ │ │ ├── Organization.java │ │ │ ├── OwnerEntity.java │ │ │ ├── PLLocalAccountIdentification.java │ │ │ ├── PciDocumentInfo.java │ │ │ ├── PciSigningRequest.java │ │ │ ├── PciSigningResponse.java │ │ │ ├── PhoneNumber.java │ │ │ ├── RemediatingAction.java │ │ │ ├── SELocalAccountIdentification.java │ │ │ ├── SGLocalAccountIdentification.java │ │ │ ├── ServiceError.java │ │ │ ├── SetTaxElectronicDeliveryConsentRequest.java │ │ │ ├── SoleProprietorship.java │ │ │ ├── SourceOfFunds.java │ │ │ ├── StockData.java │ │ │ ├── SupportingEntityCapability.java │ │ │ ├── TaxInformation.java │ │ │ ├── TaxReportingClassification.java │ │ │ ├── TermsOfServiceAcceptanceInfo.java │ │ │ ├── TransferInstrument.java │ │ │ ├── TransferInstrumentInfo.java │ │ │ ├── TransferInstrumentReference.java │ │ │ ├── Trust.java │ │ │ ├── UKLocalAccountIdentification.java │ │ │ ├── USLocalAccountIdentification.java │ │ │ ├── UndefinedBeneficiary.java │ │ │ ├── UnincorporatedPartnership.java │ │ │ ├── VerificationDeadline.java │ │ │ ├── VerificationError.java │ │ │ ├── VerificationErrorRecursive.java │ │ │ ├── VerificationErrors.java │ │ │ ├── WebData.java │ │ │ └── WebDataExemption.java │ │ ├── management │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccelInfo.java │ │ │ ├── AdditionalCommission.java │ │ │ ├── AdditionalSettings.java │ │ │ ├── AdditionalSettingsResponse.java │ │ │ ├── Address.java │ │ │ ├── AffirmInfo.java │ │ │ ├── AfterpayTouchInfo.java │ │ │ ├── AllowedOrigin.java │ │ │ ├── AllowedOriginsResponse.java │ │ │ ├── AmexInfo.java │ │ │ ├── Amount.java │ │ │ ├── AndroidApp.java │ │ │ ├── AndroidAppError.java │ │ │ ├── AndroidAppsResponse.java │ │ │ ├── AndroidCertificate.java │ │ │ ├── AndroidCertificatesResponse.java │ │ │ ├── ApiCredential.java │ │ │ ├── ApiCredentialLinks.java │ │ │ ├── ApplePayInfo.java │ │ │ ├── BcmcInfo.java │ │ │ ├── BillingEntitiesResponse.java │ │ │ ├── BillingEntity.java │ │ │ ├── CardholderReceipt.java │ │ │ ├── CartesBancairesInfo.java │ │ │ ├── ClearpayInfo.java │ │ │ ├── Commission.java │ │ │ ├── Company.java │ │ │ ├── CompanyApiCredential.java │ │ │ ├── CompanyLinks.java │ │ │ ├── CompanyUser.java │ │ │ ├── Connectivity.java │ │ │ ├── Contact.java │ │ │ ├── CreateAllowedOriginRequest.java │ │ │ ├── CreateApiCredentialResponse.java │ │ │ ├── CreateCompanyApiCredentialRequest.java │ │ │ ├── CreateCompanyApiCredentialResponse.java │ │ │ ├── CreateCompanyUserRequest.java │ │ │ ├── CreateCompanyUserResponse.java │ │ │ ├── CreateCompanyWebhookRequest.java │ │ │ ├── CreateMerchantApiCredentialRequest.java │ │ │ ├── CreateMerchantRequest.java │ │ │ ├── CreateMerchantResponse.java │ │ │ ├── CreateMerchantUserRequest.java │ │ │ ├── CreateMerchantWebhookRequest.java │ │ │ ├── CreateUserResponse.java │ │ │ ├── Currency.java │ │ │ ├── CustomNotification.java │ │ │ ├── DataCenter.java │ │ │ ├── DinersInfo.java │ │ │ ├── EventUrl.java │ │ │ ├── ExternalTerminalAction.java │ │ │ ├── GenerateApiKeyResponse.java │ │ │ ├── GenerateClientKeyResponse.java │ │ │ ├── GenerateHmacKeyResponse.java │ │ │ ├── GenericPmWithTdiInfo.java │ │ │ ├── GooglePayInfo.java │ │ │ ├── Gratuity.java │ │ │ ├── Hardware.java │ │ │ ├── IdName.java │ │ │ ├── InstallAndroidAppDetails.java │ │ │ ├── InstallAndroidCertificateDetails.java │ │ │ ├── InvalidField.java │ │ │ ├── JCBInfo.java │ │ │ ├── JSON.java │ │ │ ├── Key.java │ │ │ ├── KlarnaInfo.java │ │ │ ├── Links.java │ │ │ ├── LinksElement.java │ │ │ ├── ListCompanyApiCredentialsResponse.java │ │ │ ├── ListCompanyResponse.java │ │ │ ├── ListCompanyUsersResponse.java │ │ │ ├── ListExternalTerminalActionsResponse.java │ │ │ ├── ListMerchantApiCredentialsResponse.java │ │ │ ├── ListMerchantResponse.java │ │ │ ├── ListMerchantUsersResponse.java │ │ │ ├── ListStoresResponse.java │ │ │ ├── ListTerminalsResponse.java │ │ │ ├── ListWebhooksResponse.java │ │ │ ├── Localization.java │ │ │ ├── Logo.java │ │ │ ├── MeApiCredential.java │ │ │ ├── MealVoucherFRInfo.java │ │ │ ├── Merchant.java │ │ │ ├── MerchantLinks.java │ │ │ ├── MinorUnitsMonetaryValue.java │ │ │ ├── ModelConfiguration.java │ │ │ ├── ModelFile.java │ │ │ ├── Name.java │ │ │ ├── Name2.java │ │ │ ├── Nexo.java │ │ │ ├── Notification.java │ │ │ ├── NotificationUrl.java │ │ │ ├── NyceInfo.java │ │ │ ├── OfflineProcessing.java │ │ │ ├── Opi.java │ │ │ ├── OrderItem.java │ │ │ ├── PaginationLinks.java │ │ │ ├── Passcodes.java │ │ │ ├── PayAtTable.java │ │ │ ├── PayByBankPlaidInfo.java │ │ │ ├── PayMeInfo.java │ │ │ ├── PayPalInfo.java │ │ │ ├── PayToInfo.java │ │ │ ├── Payment.java │ │ │ ├── PaymentMethod.java │ │ │ ├── PaymentMethodResponse.java │ │ │ ├── PaymentMethodSetupInfo.java │ │ │ ├── PayoutSettings.java │ │ │ ├── PayoutSettingsRequest.java │ │ │ ├── PayoutSettingsResponse.java │ │ │ ├── Profile.java │ │ │ ├── PulseInfo.java │ │ │ ├── ReceiptOptions.java │ │ │ ├── ReceiptPrinting.java │ │ │ ├── Referenced.java │ │ │ ├── Refunds.java │ │ │ ├── ReleaseUpdateDetails.java │ │ │ ├── ReprocessAndroidAppResponse.java │ │ │ ├── RequestActivationResponse.java │ │ │ ├── RestServiceError.java │ │ │ ├── ScheduleTerminalActionsRequest.java │ │ │ ├── ScheduleTerminalActionsRequestActionDetails.java │ │ │ ├── ScheduleTerminalActionsResponse.java │ │ │ ├── Settings.java │ │ │ ├── ShippingLocation.java │ │ │ ├── ShippingLocationsResponse.java │ │ │ ├── Signature.java │ │ │ ├── SodexoInfo.java │ │ │ ├── SofortInfo.java │ │ │ ├── SplitConfiguration.java │ │ │ ├── SplitConfigurationList.java │ │ │ ├── SplitConfigurationLogic.java │ │ │ ├── SplitConfigurationRule.java │ │ │ ├── Standalone.java │ │ │ ├── StarInfo.java │ │ │ ├── Store.java │ │ │ ├── StoreAndForward.java │ │ │ ├── StoreCreationRequest.java │ │ │ ├── StoreCreationWithMerchantCodeRequest.java │ │ │ ├── StoreLocation.java │ │ │ ├── StoreSplitConfiguration.java │ │ │ ├── SupportedCardTypes.java │ │ │ ├── Surcharge.java │ │ │ ├── SwishInfo.java │ │ │ ├── TapToPay.java │ │ │ ├── Terminal.java │ │ │ ├── TerminalActionScheduleDetail.java │ │ │ ├── TerminalAssignment.java │ │ │ ├── TerminalConnectivity.java │ │ │ ├── TerminalConnectivityBluetooth.java │ │ │ ├── TerminalConnectivityCellular.java │ │ │ ├── TerminalConnectivityEthernet.java │ │ │ ├── TerminalConnectivityWifi.java │ │ │ ├── TerminalInstructions.java │ │ │ ├── TerminalModelsResponse.java │ │ │ ├── TerminalOrder.java │ │ │ ├── TerminalOrderRequest.java │ │ │ ├── TerminalOrdersResponse.java │ │ │ ├── TerminalProduct.java │ │ │ ├── TerminalProductPrice.java │ │ │ ├── TerminalProductsResponse.java │ │ │ ├── TerminalReassignmentRequest.java │ │ │ ├── TerminalReassignmentTarget.java │ │ │ ├── TerminalSettings.java │ │ │ ├── TestCompanyWebhookRequest.java │ │ │ ├── TestOutput.java │ │ │ ├── TestWebhookRequest.java │ │ │ ├── TestWebhookResponse.java │ │ │ ├── TicketInfo.java │ │ │ ├── Timeouts.java │ │ │ ├── TransactionDescriptionInfo.java │ │ │ ├── TwintInfo.java │ │ │ ├── UninstallAndroidAppDetails.java │ │ │ ├── UninstallAndroidCertificateDetails.java │ │ │ ├── UpdatableAddress.java │ │ │ ├── UpdateCompanyApiCredentialRequest.java │ │ │ ├── UpdateCompanyUserRequest.java │ │ │ ├── UpdateCompanyWebhookRequest.java │ │ │ ├── UpdateMerchantApiCredentialRequest.java │ │ │ ├── UpdateMerchantUserRequest.java │ │ │ ├── UpdateMerchantWebhookRequest.java │ │ │ ├── UpdatePaymentMethodInfo.java │ │ │ ├── UpdatePayoutSettingsRequest.java │ │ │ ├── UpdateSplitConfigurationLogicRequest.java │ │ │ ├── UpdateSplitConfigurationRequest.java │ │ │ ├── UpdateSplitConfigurationRuleRequest.java │ │ │ ├── UpdateStoreRequest.java │ │ │ ├── UploadAndroidAppResponse.java │ │ │ ├── UploadAndroidCertificateResponse.java │ │ │ ├── Url.java │ │ │ ├── User.java │ │ │ ├── VippsInfo.java │ │ │ ├── WeChatPayInfo.java │ │ │ ├── WeChatPayPosInfo.java │ │ │ ├── Webhook.java │ │ │ ├── WebhookLinks.java │ │ │ └── WifiProfiles.java │ │ ├── managementwebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountCapabilityData.java │ │ │ ├── AccountCreateNotificationData.java │ │ │ ├── AccountNotificationResponse.java │ │ │ ├── AccountUpdateNotificationData.java │ │ │ ├── CapabilityProblem.java │ │ │ ├── CapabilityProblemEntity.java │ │ │ ├── CapabilityProblemEntityRecursive.java │ │ │ ├── JSON.java │ │ │ ├── ManagementWebhooksHandler.java │ │ │ ├── MerchantCreatedNotificationRequest.java │ │ │ ├── MerchantUpdatedNotificationRequest.java │ │ │ ├── MidServiceNotificationData.java │ │ │ ├── PaymentMethodCreatedNotificationRequest.java │ │ │ ├── PaymentMethodNotificationResponse.java │ │ │ ├── PaymentMethodRequestRemovedNotificationRequest.java │ │ │ ├── PaymentMethodScheduledForRemovalNotificationRequest.java │ │ │ ├── RemediatingAction.java │ │ │ ├── TerminalAssignmentNotificationRequest.java │ │ │ ├── TerminalAssignmentNotificationResponse.java │ │ │ ├── TerminalBoardingData.java │ │ │ ├── TerminalBoardingNotificationRequest.java │ │ │ ├── TerminalBoardingNotificationResponse.java │ │ │ ├── TerminalSettingsData.java │ │ │ ├── TerminalSettingsNotificationRequest.java │ │ │ ├── TerminalSettingsNotificationResponse.java │ │ │ ├── VerificationError.java │ │ │ └── VerificationErrorRecursive.java │ │ ├── marketpayaccount │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Account.java │ │ │ ├── AccountEvent.java │ │ │ ├── AccountHolderDetails.java │ │ │ ├── AccountHolderStatus.java │ │ │ ├── AccountPayoutState.java │ │ │ ├── AccountProcessingState.java │ │ │ ├── Amount.java │ │ │ ├── BankAccountDetail.java │ │ │ ├── BusinessDetails.java │ │ │ ├── CloseAccountHolderRequest.java │ │ │ ├── CloseAccountHolderResponse.java │ │ │ ├── CloseAccountRequest.java │ │ │ ├── CloseAccountResponse.java │ │ │ ├── CloseStoresRequest.java │ │ │ ├── CreateAccountHolderRequest.java │ │ │ ├── CreateAccountHolderResponse.java │ │ │ ├── CreateAccountRequest.java │ │ │ ├── CreateAccountResponse.java │ │ │ ├── DeleteBankAccountRequest.java │ │ │ ├── DeleteLegalArrangementRequest.java │ │ │ ├── DeletePayoutMethodRequest.java │ │ │ ├── DeleteShareholderRequest.java │ │ │ ├── DeleteSignatoriesRequest.java │ │ │ ├── DocumentDetail.java │ │ │ ├── ErrorFieldType.java │ │ │ ├── FieldType.java │ │ │ ├── GenericResponse.java │ │ │ ├── GetAccountHolderRequest.java │ │ │ ├── GetAccountHolderResponse.java │ │ │ ├── GetAccountHolderStatusResponse.java │ │ │ ├── GetTaxFormRequest.java │ │ │ ├── GetTaxFormResponse.java │ │ │ ├── GetUploadedDocumentsRequest.java │ │ │ ├── GetUploadedDocumentsResponse.java │ │ │ ├── IndividualDetails.java │ │ │ ├── JSON.java │ │ │ ├── KYCCheckResult.java │ │ │ ├── KYCCheckStatusData.java │ │ │ ├── KYCCheckSummary.java │ │ │ ├── KYCLegalArrangementCheckResult.java │ │ │ ├── KYCLegalArrangementEntityCheckResult.java │ │ │ ├── KYCPayoutMethodCheckResult.java │ │ │ ├── KYCShareholderCheckResult.java │ │ │ ├── KYCSignatoryCheckResult.java │ │ │ ├── KYCUltimateParentCompanyCheckResult.java │ │ │ ├── KYCVerificationResult.java │ │ │ ├── LegalArrangementDetail.java │ │ │ ├── LegalArrangementEntityDetail.java │ │ │ ├── LegalArrangementRequest.java │ │ │ ├── MigratedAccounts.java │ │ │ ├── MigratedShareholders.java │ │ │ ├── MigratedStores.java │ │ │ ├── MigrationData.java │ │ │ ├── PayoutMethod.java │ │ │ ├── PayoutScheduleResponse.java │ │ │ ├── PerformVerificationRequest.java │ │ │ ├── PersonalDocumentData.java │ │ │ ├── ServiceError.java │ │ │ ├── ShareholderContact.java │ │ │ ├── SignatoryContact.java │ │ │ ├── StoreDetail.java │ │ │ ├── SuspendAccountHolderRequest.java │ │ │ ├── SuspendAccountHolderResponse.java │ │ │ ├── UltimateParentCompany.java │ │ │ ├── UltimateParentCompanyBusinessDetails.java │ │ │ ├── UnSuspendAccountHolderRequest.java │ │ │ ├── UnSuspendAccountHolderResponse.java │ │ │ ├── UpdateAccountHolderRequest.java │ │ │ ├── UpdateAccountHolderResponse.java │ │ │ ├── UpdateAccountHolderStateRequest.java │ │ │ ├── UpdateAccountRequest.java │ │ │ ├── UpdateAccountResponse.java │ │ │ ├── UpdatePayoutScheduleRequest.java │ │ │ ├── UploadDocumentRequest.java │ │ │ ├── ViasAddress.java │ │ │ ├── ViasName.java │ │ │ ├── ViasPersonalData.java │ │ │ └── ViasPhoneNumber.java │ │ ├── marketpayconfiguration │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── CreateNotificationConfigurationRequest.java │ │ │ ├── DeleteNotificationConfigurationRequest.java │ │ │ ├── ErrorFieldType.java │ │ │ ├── ExchangeMessage.java │ │ │ ├── FieldType.java │ │ │ ├── GenericResponse.java │ │ │ ├── GetNotificationConfigurationListResponse.java │ │ │ ├── GetNotificationConfigurationRequest.java │ │ │ ├── GetNotificationConfigurationResponse.java │ │ │ ├── JSON.java │ │ │ ├── NotificationConfigurationDetails.java │ │ │ ├── NotificationEventConfiguration.java │ │ │ ├── ServiceError.java │ │ │ ├── TestNotificationConfigurationRequest.java │ │ │ ├── TestNotificationConfigurationResponse.java │ │ │ └── UpdateNotificationConfigurationRequest.java │ │ ├── marketpayfund │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountDetailBalance.java │ │ │ ├── AccountHolderBalanceRequest.java │ │ │ ├── AccountHolderBalanceResponse.java │ │ │ ├── AccountHolderTransactionListRequest.java │ │ │ ├── AccountHolderTransactionListResponse.java │ │ │ ├── AccountTransactionList.java │ │ │ ├── Amount.java │ │ │ ├── BankAccountDetail.java │ │ │ ├── DebitAccountHolderRequest.java │ │ │ ├── DebitAccountHolderResponse.java │ │ │ ├── DetailBalance.java │ │ │ ├── ErrorFieldType.java │ │ │ ├── FieldType.java │ │ │ ├── JSON.java │ │ │ ├── PayoutAccountHolderRequest.java │ │ │ ├── PayoutAccountHolderResponse.java │ │ │ ├── RefundFundsTransferRequest.java │ │ │ ├── RefundFundsTransferResponse.java │ │ │ ├── RefundNotPaidOutTransfersRequest.java │ │ │ ├── RefundNotPaidOutTransfersResponse.java │ │ │ ├── ServiceError.java │ │ │ ├── SetupBeneficiaryRequest.java │ │ │ ├── SetupBeneficiaryResponse.java │ │ │ ├── Split.java │ │ │ ├── SplitAmount.java │ │ │ ├── Transaction.java │ │ │ ├── TransactionListForAccount.java │ │ │ ├── TransferFundsRequest.java │ │ │ └── TransferFundsResponse.java │ │ ├── marketpayhop │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── CollectInformation.java │ │ │ ├── ErrorFieldType.java │ │ │ ├── FieldType.java │ │ │ ├── GetOnboardingUrlRequest.java │ │ │ ├── GetOnboardingUrlResponse.java │ │ │ ├── GetPciUrlRequest.java │ │ │ ├── GetPciUrlResponse.java │ │ │ ├── JSON.java │ │ │ ├── ServiceError.java │ │ │ └── ShowPages.java │ │ ├── marketpaywebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountCloseNotification.java │ │ │ ├── AccountCreateNotification.java │ │ │ ├── AccountEvent.java │ │ │ ├── AccountFundsBelowThresholdNotification.java │ │ │ ├── AccountFundsBelowThresholdNotificationContent.java │ │ │ ├── AccountHolderCreateNotification.java │ │ │ ├── AccountHolderDetails.java │ │ │ ├── AccountHolderPayoutNotification.java │ │ │ ├── AccountHolderPayoutNotificationContent.java │ │ │ ├── AccountHolderStatus.java │ │ │ ├── AccountHolderStatusChangeNotification.java │ │ │ ├── AccountHolderStatusChangeNotificationContent.java │ │ │ ├── AccountHolderStoreStatusChangeNotification.java │ │ │ ├── AccountHolderStoreStatusChangeNotificationContent.java │ │ │ ├── AccountHolderUpcomingDeadlineNotification.java │ │ │ ├── AccountHolderUpcomingDeadlineNotificationContent.java │ │ │ ├── AccountHolderUpdateNotification.java │ │ │ ├── AccountHolderVerificationNotification.java │ │ │ ├── AccountHolderVerificationNotificationContent.java │ │ │ ├── AccountPayoutState.java │ │ │ ├── AccountProcessingState.java │ │ │ ├── AccountUpdateNotification.java │ │ │ ├── Amount.java │ │ │ ├── BankAccountDetail.java │ │ │ ├── BeneficiarySetupNotification.java │ │ │ ├── BeneficiarySetupNotificationContent.java │ │ │ ├── BusinessDetails.java │ │ │ ├── CloseAccountResponse.java │ │ │ ├── CompensateNegativeBalanceNotification.java │ │ │ ├── CompensateNegativeBalanceNotificationContent.java │ │ │ ├── CompensateNegativeBalanceNotificationRecord.java │ │ │ ├── CreateAccountHolderResponse.java │ │ │ ├── CreateAccountResponse.java │ │ │ ├── DirectDebitInitiatedNotification.java │ │ │ ├── DirectDebitInitiatedNotificationContent.java │ │ │ ├── ErrorFieldType.java │ │ │ ├── FieldType.java │ │ │ ├── IndividualDetails.java │ │ │ ├── JSON.java │ │ │ ├── KYCCheckResult.java │ │ │ ├── KYCCheckStatusData.java │ │ │ ├── KYCCheckSummary.java │ │ │ ├── KYCLegalArrangementCheckResult.java │ │ │ ├── KYCLegalArrangementEntityCheckResult.java │ │ │ ├── KYCPayoutMethodCheckResult.java │ │ │ ├── KYCShareholderCheckResult.java │ │ │ ├── KYCSignatoryCheckResult.java │ │ │ ├── KYCUltimateParentCompanyCheckResult.java │ │ │ ├── KYCVerificationResult.java │ │ │ ├── LegalArrangementDetail.java │ │ │ ├── LegalArrangementEntityDetail.java │ │ │ ├── LocalDate.java │ │ │ ├── Message.java │ │ │ ├── NotificationErrorContainer.java │ │ │ ├── NotificationResponse.java │ │ │ ├── OperationStatus.java │ │ │ ├── PaymentFailureNotification.java │ │ │ ├── PaymentFailureNotificationContent.java │ │ │ ├── PayoutMethod.java │ │ │ ├── PayoutScheduleResponse.java │ │ │ ├── PersonalDocumentData.java │ │ │ ├── RefundFundsTransferNotification.java │ │ │ ├── RefundFundsTransferNotificationContent.java │ │ │ ├── RefundResult.java │ │ │ ├── ReportAvailableNotification.java │ │ │ ├── ReportAvailableNotificationContent.java │ │ │ ├── ScheduledRefundsNotification.java │ │ │ ├── ScheduledRefundsNotificationContent.java │ │ │ ├── ShareholderContact.java │ │ │ ├── SignatoryContact.java │ │ │ ├── Split.java │ │ │ ├── SplitAmount.java │ │ │ ├── StoreDetail.java │ │ │ ├── Transaction.java │ │ │ ├── TransferFundsNotification.java │ │ │ ├── TransferFundsNotificationContent.java │ │ │ ├── UltimateParentCompany.java │ │ │ ├── UltimateParentCompanyBusinessDetails.java │ │ │ ├── UpdateAccountHolderResponse.java │ │ │ ├── UpdateAccountResponse.java │ │ │ ├── ViasAddress.java │ │ │ ├── ViasName.java │ │ │ ├── ViasPersonalData.java │ │ │ └── ViasPhoneNumber.java │ │ ├── negativebalancewarningwebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Amount.java │ │ │ ├── JSON.java │ │ │ ├── NegativeBalanceCompensationWarningNotificationData.java │ │ │ ├── NegativeBalanceCompensationWarningNotificationRequest.java │ │ │ ├── NegativeBalanceWarningWebhooksHandler.java │ │ │ ├── Resource.java │ │ │ └── ResourceReference.java │ │ ├── nexo │ │ │ ├── AbortRequest.java │ │ │ ├── AccountType.java │ │ │ ├── AdminRequest.java │ │ │ ├── AdminResponse.java │ │ │ ├── AlgorithmIdentifier.java │ │ │ ├── AlgorithmType.java │ │ │ ├── AlignmentType.java │ │ │ ├── AllowedProduct.java │ │ │ ├── Amount.java │ │ │ ├── AmountsReq.java │ │ │ ├── AmountsResp.java │ │ │ ├── AreaSize.java │ │ │ ├── AttributeType.java │ │ │ ├── AuthenticatedData.java │ │ │ ├── AuthenticationMethodType.java │ │ │ ├── BalanceInquiryRequest.java │ │ │ ├── BalanceInquiryResponse.java │ │ │ ├── BarcodeType.java │ │ │ ├── BatchRequest.java │ │ │ ├── BatchResponse.java │ │ │ ├── CapturedSignature.java │ │ │ ├── CardAcquisitionRequest.java │ │ │ ├── CardAcquisitionResponse.java │ │ │ ├── CardAcquisitionTransaction.java │ │ │ ├── CardData.java │ │ │ ├── CardReaderAPDURequest.java │ │ │ ├── CardReaderAPDUResponse.java │ │ │ ├── CardReaderInitRequest.java │ │ │ ├── CardReaderInitResponse.java │ │ │ ├── CardReaderPowerOffRequest.java │ │ │ ├── CardReaderPowerOffResponse.java │ │ │ ├── CardholderPIN.java │ │ │ ├── CashHandlingDevice.java │ │ │ ├── CharacterHeightType.java │ │ │ ├── CharacterStyleType.java │ │ │ ├── CharacterWidthType.java │ │ │ ├── CheckData.java │ │ │ ├── CheckTypeCodeType.java │ │ │ ├── CoinsOrBills.java │ │ │ ├── ColorType.java │ │ │ ├── ContentInformation.java │ │ │ ├── ContentType.java │ │ │ ├── CurrencyConversion.java │ │ │ ├── CustomerOrder.java │ │ │ ├── CustomerOrderReqType.java │ │ │ ├── DeviceType.java │ │ │ ├── DiagnosisRequest.java │ │ │ ├── DiagnosisResponse.java │ │ │ ├── DigestedData.java │ │ │ ├── DisplayOutput.java │ │ │ ├── DisplayRequest.java │ │ │ ├── DisplayResponse.java │ │ │ ├── DocumentQualifierType.java │ │ │ ├── EnableServiceRequest.java │ │ │ ├── EnableServiceResponse.java │ │ │ ├── EncapsulatedContent.java │ │ │ ├── EncryptedContent.java │ │ │ ├── EntryModeType.java │ │ │ ├── EnvelopedData.java │ │ │ ├── ErrorConditionType.java │ │ │ ├── EventNotification.java │ │ │ ├── EventToNotifyType.java │ │ │ ├── ForceEntryModeType.java │ │ │ ├── GenericProfileType.java │ │ │ ├── GeographicCoordinates.java │ │ │ ├── Geolocation.java │ │ │ ├── GetTotalsRequest.java │ │ │ ├── GetTotalsResponse.java │ │ │ ├── GlobalStatusType.java │ │ │ ├── HostStatus.java │ │ │ ├── ICCResetData.java │ │ │ ├── IdentificationSupportType.java │ │ │ ├── IdentificationType.java │ │ │ ├── InfoQualifyType.java │ │ │ ├── Input.java │ │ │ ├── InputCommandType.java │ │ │ ├── InputData.java │ │ │ ├── InputRequest.java │ │ │ ├── InputResponse.java │ │ │ ├── InputResult.java │ │ │ ├── InputUpdate.java │ │ │ ├── Instalment.java │ │ │ ├── InstalmentType.java │ │ │ ├── Issuer.java │ │ │ ├── IssuerAndSerialNumber.java │ │ │ ├── KEK.java │ │ │ ├── KEKIdentifier.java │ │ │ ├── KeyTransport.java │ │ │ ├── LoginRequest.java │ │ │ ├── LoginResponse.java │ │ │ ├── LogoutRequest.java │ │ │ ├── LogoutResponse.java │ │ │ ├── LoyaltyAccount.java │ │ │ ├── LoyaltyAccountID.java │ │ │ ├── LoyaltyAccountReq.java │ │ │ ├── LoyaltyAccountStatus.java │ │ │ ├── LoyaltyAcquirerData.java │ │ │ ├── LoyaltyAmount.java │ │ │ ├── LoyaltyData.java │ │ │ ├── LoyaltyHandlingType.java │ │ │ ├── LoyaltyRequest.java │ │ │ ├── LoyaltyResponse.java │ │ │ ├── LoyaltyResult.java │ │ │ ├── LoyaltyTotals.java │ │ │ ├── LoyaltyTransaction.java │ │ │ ├── LoyaltyTransactionType.java │ │ │ ├── LoyaltyUnitType.java │ │ │ ├── MenuEntry.java │ │ │ ├── MenuEntryTagType.java │ │ │ ├── MessageCategoryType.java │ │ │ ├── MessageClassType.java │ │ │ ├── MessageHeader.java │ │ │ ├── MessageReference.java │ │ │ ├── MessageType.java │ │ │ ├── MobileData.java │ │ │ ├── NamedKeyEncryptedData.java │ │ │ ├── ObjectFactory.java │ │ │ ├── OriginalPOITransaction.java │ │ │ ├── OutputBarcode.java │ │ │ ├── OutputContent.java │ │ │ ├── OutputFormatType.java │ │ │ ├── OutputResult.java │ │ │ ├── OutputText.java │ │ │ ├── PINFormatType.java │ │ │ ├── PINRequest.java │ │ │ ├── PINRequestType.java │ │ │ ├── PINResponse.java │ │ │ ├── POICapabilitiesType.java │ │ │ ├── POIData.java │ │ │ ├── POIProfile.java │ │ │ ├── POISoftware.java │ │ │ ├── POIStatus.java │ │ │ ├── POISystemData.java │ │ │ ├── POITerminalData.java │ │ │ ├── Parameter.java │ │ │ ├── PaymentAccountReq.java │ │ │ ├── PaymentAccountStatus.java │ │ │ ├── PaymentAcquirerData.java │ │ │ ├── PaymentData.java │ │ │ ├── PaymentInstrumentData.java │ │ │ ├── PaymentInstrumentType.java │ │ │ ├── PaymentReceipt.java │ │ │ ├── PaymentRequest.java │ │ │ ├── PaymentResponse.java │ │ │ ├── PaymentResult.java │ │ │ ├── PaymentToken.java │ │ │ ├── PaymentTotals.java │ │ │ ├── PaymentTransaction.java │ │ │ ├── PaymentType.java │ │ │ ├── PerformedTransaction.java │ │ │ ├── PeriodUnitType.java │ │ │ ├── PredefinedContent.java │ │ │ ├── PrintOutput.java │ │ │ ├── PrintRequest.java │ │ │ ├── PrintResponse.java │ │ │ ├── PrinterStatusType.java │ │ │ ├── Rebates.java │ │ │ ├── RecipientIdentifier.java │ │ │ ├── ReconciliationRequest.java │ │ │ ├── ReconciliationResponse.java │ │ │ ├── ReconciliationType.java │ │ │ ├── RelativeDistinguishedName.java │ │ │ ├── RepeatedMessageResponse.java │ │ │ ├── RepeatedMessageResponseBody.java │ │ │ ├── RepeatedResponseMessageBody.java │ │ │ ├── Response.java │ │ │ ├── ResponseModeType.java │ │ │ ├── ResultType.java │ │ │ ├── ReversalReasonType.java │ │ │ ├── ReversalRequest.java │ │ │ ├── ReversalResponse.java │ │ │ ├── SaleCapabilitiesType.java │ │ │ ├── SaleData.java │ │ │ ├── SaleItem.java │ │ │ ├── SaleItemRebate.java │ │ │ ├── SaleProfile.java │ │ │ ├── SaleSoftware.java │ │ │ ├── SaleTerminalData.java │ │ │ ├── SaleToIssuerData.java │ │ │ ├── SaleToPOIRequest.java │ │ │ ├── SaleToPOIResponse.java │ │ │ ├── SensitiveCardData.java │ │ │ ├── SensitiveMobileData.java │ │ │ ├── ServiceProfilesType.java │ │ │ ├── ServicesEnabledType.java │ │ │ ├── SignaturePoint.java │ │ │ ├── SignedData.java │ │ │ ├── Signer.java │ │ │ ├── SignerIdentifier.java │ │ │ ├── SoundActionType.java │ │ │ ├── SoundContent.java │ │ │ ├── SoundFormatType.java │ │ │ ├── SoundRequest.java │ │ │ ├── SoundResponse.java │ │ │ ├── SponsoredMerchant.java │ │ │ ├── StoredValueAccountID.java │ │ │ ├── StoredValueAccountStatus.java │ │ │ ├── StoredValueAccountType.java │ │ │ ├── StoredValueData.java │ │ │ ├── StoredValueRequest.java │ │ │ ├── StoredValueResponse.java │ │ │ ├── StoredValueResult.java │ │ │ ├── StoredValueTransactionType.java │ │ │ ├── TerminalEnvironmentType.java │ │ │ ├── TokenRequestedType.java │ │ │ ├── TotalDetailsType.java │ │ │ ├── TotalFilter.java │ │ │ ├── TrackData.java │ │ │ ├── TrackFormatType.java │ │ │ ├── TransactionActionType.java │ │ │ ├── TransactionConditions.java │ │ │ ├── TransactionIdentification.java │ │ │ ├── TransactionStatusRequest.java │ │ │ ├── TransactionStatusResponse.java │ │ │ ├── TransactionToPerform.java │ │ │ ├── TransactionTotals.java │ │ │ ├── TransactionType.java │ │ │ ├── TransmitRequest.java │ │ │ ├── TransmitResponse.java │ │ │ ├── UTMCoordinates.java │ │ │ ├── UnitOfMeasureType.java │ │ │ └── VersionType.java │ │ ├── notification │ │ │ ├── Amount.java │ │ │ ├── NotificationRequest.java │ │ │ ├── NotificationRequestItem.java │ │ │ └── NotificationRequestItemContainer.java │ │ ├── payment │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountInfo.java │ │ │ ├── AcctInfo.java │ │ │ ├── AdditionalData3DSecure.java │ │ │ ├── AdditionalDataAirline.java │ │ │ ├── AdditionalDataCarRental.java │ │ │ ├── AdditionalDataCommon.java │ │ │ ├── AdditionalDataLevel23.java │ │ │ ├── AdditionalDataLodging.java │ │ │ ├── AdditionalDataModifications.java │ │ │ ├── AdditionalDataOpenInvoice.java │ │ │ ├── AdditionalDataOpi.java │ │ │ ├── AdditionalDataRatepay.java │ │ │ ├── AdditionalDataRetry.java │ │ │ ├── AdditionalDataRisk.java │ │ │ ├── AdditionalDataRiskStandalone.java │ │ │ ├── AdditionalDataSubMerchant.java │ │ │ ├── AdditionalDataTemporaryServices.java │ │ │ ├── AdditionalDataWallets.java │ │ │ ├── Address.java │ │ │ ├── AdjustAuthorisationRequest.java │ │ │ ├── Amount.java │ │ │ ├── ApplicationInfo.java │ │ │ ├── AuthenticationResultRequest.java │ │ │ ├── AuthenticationResultResponse.java │ │ │ ├── BankAccount.java │ │ │ ├── BrowserInfo.java │ │ │ ├── CancelOrRefundRequest.java │ │ │ ├── CancelRequest.java │ │ │ ├── CaptureRequest.java │ │ │ ├── Card.java │ │ │ ├── CommonField.java │ │ │ ├── DeviceRenderOptions.java │ │ │ ├── DonationRequest.java │ │ │ ├── ExternalPlatform.java │ │ │ ├── ForexQuote.java │ │ │ ├── FraudCheckResult.java │ │ │ ├── FraudCheckResultWrapper.java │ │ │ ├── FraudResult.java │ │ │ ├── FundDestination.java │ │ │ ├── FundSource.java │ │ │ ├── Installments.java │ │ │ ├── JSON.java │ │ │ ├── Mandate.java │ │ │ ├── MerchantDevice.java │ │ │ ├── MerchantRiskIndicator.java │ │ │ ├── ModificationResult.java │ │ │ ├── Name.java │ │ │ ├── PaymentRequest.java │ │ │ ├── PaymentRequest3d.java │ │ │ ├── PaymentRequest3ds2.java │ │ │ ├── PaymentResult.java │ │ │ ├── Phone.java │ │ │ ├── PlatformChargebackLogic.java │ │ │ ├── Recurring.java │ │ │ ├── RefundRequest.java │ │ │ ├── ResponseAdditionalData3DSecure.java │ │ │ ├── ResponseAdditionalDataBillingAddress.java │ │ │ ├── ResponseAdditionalDataCard.java │ │ │ ├── ResponseAdditionalDataCommon.java │ │ │ ├── ResponseAdditionalDataDomesticError.java │ │ │ ├── ResponseAdditionalDataInstallments.java │ │ │ ├── ResponseAdditionalDataNetworkTokens.java │ │ │ ├── ResponseAdditionalDataOpi.java │ │ │ ├── ResponseAdditionalDataSepa.java │ │ │ ├── SDKEphemPubKey.java │ │ │ ├── SecureRemoteCommerceCheckoutData.java │ │ │ ├── ServiceError.java │ │ │ ├── ShopperInteractionDevice.java │ │ │ ├── Split.java │ │ │ ├── SplitAmount.java │ │ │ ├── SubMerchant.java │ │ │ ├── TechnicalCancelRequest.java │ │ │ ├── ThreeDS1Result.java │ │ │ ├── ThreeDS2RequestData.java │ │ │ ├── ThreeDS2Result.java │ │ │ ├── ThreeDS2ResultRequest.java │ │ │ ├── ThreeDS2ResultResponse.java │ │ │ ├── ThreeDSRequestorAuthenticationInfo.java │ │ │ ├── ThreeDSRequestorPriorAuthenticationInfo.java │ │ │ ├── ThreeDSecureData.java │ │ │ └── VoidPendingRefundRequest.java │ │ ├── paymentsapp │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── BoardingTokenRequest.java │ │ │ ├── BoardingTokenResponse.java │ │ │ ├── DefaultErrorResponseEntity.java │ │ │ ├── InvalidField.java │ │ │ ├── JSON.java │ │ │ ├── PaymentsAppDto.java │ │ │ └── PaymentsAppResponse.java │ │ ├── payout │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Address.java │ │ │ ├── Amount.java │ │ │ ├── BankAccount.java │ │ │ ├── Card.java │ │ │ ├── FraudCheckResult.java │ │ │ ├── FraudCheckResultWrapper.java │ │ │ ├── FraudResult.java │ │ │ ├── FundSource.java │ │ │ ├── JSON.java │ │ │ ├── ModifyRequest.java │ │ │ ├── ModifyResponse.java │ │ │ ├── Name.java │ │ │ ├── PayoutRequest.java │ │ │ ├── PayoutResponse.java │ │ │ ├── Recurring.java │ │ │ ├── ResponseAdditionalData3DSecure.java │ │ │ ├── ResponseAdditionalDataBillingAddress.java │ │ │ ├── ResponseAdditionalDataCard.java │ │ │ ├── ResponseAdditionalDataCommon.java │ │ │ ├── ResponseAdditionalDataDomesticError.java │ │ │ ├── ResponseAdditionalDataInstallments.java │ │ │ ├── ResponseAdditionalDataNetworkTokens.java │ │ │ ├── ResponseAdditionalDataOpi.java │ │ │ ├── ResponseAdditionalDataSepa.java │ │ │ ├── ServiceError.java │ │ │ ├── StoreDetailAndSubmitRequest.java │ │ │ ├── StoreDetailAndSubmitResponse.java │ │ │ ├── StoreDetailRequest.java │ │ │ ├── StoreDetailResponse.java │ │ │ ├── SubmitRequest.java │ │ │ └── SubmitResponse.java │ │ ├── posmobile │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── CreateSessionRequest.java │ │ │ ├── CreateSessionResponse.java │ │ │ └── JSON.java │ │ ├── posterminalmanagement │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Address.java │ │ │ ├── AssignTerminalsRequest.java │ │ │ ├── AssignTerminalsResponse.java │ │ │ ├── FindTerminalRequest.java │ │ │ ├── FindTerminalResponse.java │ │ │ ├── GetStoresUnderAccountRequest.java │ │ │ ├── GetStoresUnderAccountResponse.java │ │ │ ├── GetTerminalDetailsRequest.java │ │ │ ├── GetTerminalDetailsResponse.java │ │ │ ├── GetTerminalsUnderAccountRequest.java │ │ │ ├── GetTerminalsUnderAccountResponse.java │ │ │ ├── JSON.java │ │ │ ├── MerchantAccount.java │ │ │ ├── ServiceError.java │ │ │ └── Store.java │ │ ├── recurring │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Address.java │ │ │ ├── Amount.java │ │ │ ├── BankAccount.java │ │ │ ├── Card.java │ │ │ ├── CreatePermitRequest.java │ │ │ ├── CreatePermitResult.java │ │ │ ├── DisablePermitRequest.java │ │ │ ├── DisablePermitResult.java │ │ │ ├── DisableRequest.java │ │ │ ├── DisableResult.java │ │ │ ├── JSON.java │ │ │ ├── Name.java │ │ │ ├── NotifyShopperRequest.java │ │ │ ├── NotifyShopperResult.java │ │ │ ├── Permit.java │ │ │ ├── PermitRestriction.java │ │ │ ├── PermitResult.java │ │ │ ├── Recurring.java │ │ │ ├── RecurringDetail.java │ │ │ ├── RecurringDetailWrapper.java │ │ │ ├── RecurringDetailsRequest.java │ │ │ ├── RecurringDetailsResult.java │ │ │ ├── ScheduleAccountUpdaterRequest.java │ │ │ ├── ScheduleAccountUpdaterResult.java │ │ │ ├── ServiceError.java │ │ │ └── TokenDetails.java │ │ ├── reportwebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── JSON.java │ │ │ ├── ReportNotificationData.java │ │ │ ├── ReportNotificationRequest.java │ │ │ ├── ReportWebhooksHandler.java │ │ │ ├── Resource.java │ │ │ └── ResourceReference.java │ │ ├── sessionauthentication │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AccountHolderResource.java │ │ │ ├── AuthenticationSessionRequest.java │ │ │ ├── AuthenticationSessionResponse.java │ │ │ ├── BalanceAccountResource.java │ │ │ ├── DefaultErrorResponseEntity.java │ │ │ ├── InvalidField.java │ │ │ ├── JSON.java │ │ │ ├── LegalEntityResource.java │ │ │ ├── MerchantAccountResource.java │ │ │ ├── PaymentInstrumentResource.java │ │ │ ├── Policy.java │ │ │ ├── ProductType.java │ │ │ ├── Resource.java │ │ │ └── ResourceType.java │ │ ├── storedvalue │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Amount.java │ │ │ ├── JSON.java │ │ │ ├── ServiceError.java │ │ │ ├── StoredValueBalanceCheckRequest.java │ │ │ ├── StoredValueBalanceCheckResponse.java │ │ │ ├── StoredValueBalanceMergeRequest.java │ │ │ ├── StoredValueBalanceMergeResponse.java │ │ │ ├── StoredValueIssueRequest.java │ │ │ ├── StoredValueIssueResponse.java │ │ │ ├── StoredValueLoadRequest.java │ │ │ ├── StoredValueLoadResponse.java │ │ │ ├── StoredValueStatusChangeRequest.java │ │ │ ├── StoredValueStatusChangeResponse.java │ │ │ ├── StoredValueVoidRequest.java │ │ │ └── StoredValueVoidResponse.java │ │ ├── terminal │ │ │ ├── ConnectedTerminalsRequest.java │ │ │ ├── ConnectedTerminalsResponse.java │ │ │ ├── SaleToAcquirerData.java │ │ │ ├── TerminalAPIRequest.java │ │ │ ├── TerminalAPIResponse.java │ │ │ ├── TerminalAPISecuredRequest.java │ │ │ ├── TerminalAPISecuredResponse.java │ │ │ └── security │ │ │ │ ├── NexoDerivedKey.java │ │ │ │ ├── SaleToPOISecuredMessage.java │ │ │ │ ├── SecurityKey.java │ │ │ │ └── SecurityTrailer.java │ │ ├── transactionwebhooks │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── Amount.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── BankCategoryData.java │ │ │ ├── InternalCategoryData.java │ │ │ ├── IssuedCard.java │ │ │ ├── JSON.java │ │ │ ├── PaymentInstrument.java │ │ │ ├── PlatformPayment.java │ │ │ ├── RelayedAuthorisationData.java │ │ │ ├── Resource.java │ │ │ ├── ResourceReference.java │ │ │ ├── Transaction.java │ │ │ ├── TransactionNotificationRequestV4.java │ │ │ ├── TransactionWebhooksHandler.java │ │ │ ├── TransferNotificationValidationFact.java │ │ │ ├── TransferView.java │ │ │ └── TransferViewCategoryData.java │ │ ├── transfers │ │ │ ├── AULocalAccountIdentification.java │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AdditionalBankIdentification.java │ │ │ ├── Address.java │ │ │ ├── Airline.java │ │ │ ├── Amount.java │ │ │ ├── AmountAdjustment.java │ │ │ ├── ApproveTransfersRequest.java │ │ │ ├── BRLocalAccountIdentification.java │ │ │ ├── BalanceMutation.java │ │ │ ├── BankAccountV3.java │ │ │ ├── BankAccountV3AccountIdentification.java │ │ │ ├── BankCategoryData.java │ │ │ ├── CALocalAccountIdentification.java │ │ │ ├── CZLocalAccountIdentification.java │ │ │ ├── CancelTransfersRequest.java │ │ │ ├── CapitalBalance.java │ │ │ ├── CapitalGrant.java │ │ │ ├── CapitalGrantInfo.java │ │ │ ├── CapitalGrants.java │ │ │ ├── Card.java │ │ │ ├── CardIdentification.java │ │ │ ├── ConfirmationTrackingData.java │ │ │ ├── Counterparty.java │ │ │ ├── CounterpartyInfoV3.java │ │ │ ├── CounterpartyV3.java │ │ │ ├── DKLocalAccountIdentification.java │ │ │ ├── DirectDebitInformation.java │ │ │ ├── EstimationTrackingData.java │ │ │ ├── ExecutionDate.java │ │ │ ├── ExternalReason.java │ │ │ ├── Fee.java │ │ │ ├── FindTransfersResponse.java │ │ │ ├── HKLocalAccountIdentification.java │ │ │ ├── HULocalAccountIdentification.java │ │ │ ├── IbanAccountIdentification.java │ │ │ ├── InternalCategoryData.java │ │ │ ├── InternalReviewTrackingData.java │ │ │ ├── InvalidField.java │ │ │ ├── IssuedCard.java │ │ │ ├── IssuingTransactionData.java │ │ │ ├── JSON.java │ │ │ ├── Leg.java │ │ │ ├── Link.java │ │ │ ├── Links.java │ │ │ ├── Lodging.java │ │ │ ├── MerchantData.java │ │ │ ├── MerchantPurchaseData.java │ │ │ ├── Modification.java │ │ │ ├── NOLocalAccountIdentification.java │ │ │ ├── NZLocalAccountIdentification.java │ │ │ ├── NameLocation.java │ │ │ ├── NumberAndBicAccountIdentification.java │ │ │ ├── PLLocalAccountIdentification.java │ │ │ ├── PartyIdentification.java │ │ │ ├── PaymentInstrument.java │ │ │ ├── PlatformPayment.java │ │ │ ├── RelayedAuthorisationData.java │ │ │ ├── Repayment.java │ │ │ ├── RepaymentTerm.java │ │ │ ├── ResourceReference.java │ │ │ ├── RestServiceError.java │ │ │ ├── ReturnTransferRequest.java │ │ │ ├── ReturnTransferResponse.java │ │ │ ├── RoutingDetails.java │ │ │ ├── SELocalAccountIdentification.java │ │ │ ├── SGLocalAccountIdentification.java │ │ │ ├── ServiceError.java │ │ │ ├── ThresholdRepayment.java │ │ │ ├── Transaction.java │ │ │ ├── TransactionEventViolation.java │ │ │ ├── TransactionRuleReference.java │ │ │ ├── TransactionRuleSource.java │ │ │ ├── TransactionRulesResult.java │ │ │ ├── TransactionSearchResponse.java │ │ │ ├── Transfer.java │ │ │ ├── TransferCategoryData.java │ │ │ ├── TransferData.java │ │ │ ├── TransferDataTracking.java │ │ │ ├── TransferEvent.java │ │ │ ├── TransferEventEventsDataInner.java │ │ │ ├── TransferEventTrackingData.java │ │ │ ├── TransferInfo.java │ │ │ ├── TransferNotificationCounterParty.java │ │ │ ├── TransferNotificationMerchantData.java │ │ │ ├── TransferNotificationValidationFact.java │ │ │ ├── TransferRequestReview.java │ │ │ ├── TransferReview.java │ │ │ ├── TransferServiceRestServiceError.java │ │ │ ├── TransferView.java │ │ │ ├── UKLocalAccountIdentification.java │ │ │ ├── USLocalAccountIdentification.java │ │ │ └── UltimatePartyIdentification.java │ │ └── transferwebhooks │ │ │ ├── AULocalAccountIdentification.java │ │ │ ├── AbstractOpenApiSchema.java │ │ │ ├── AdditionalBankIdentification.java │ │ │ ├── Address.java │ │ │ ├── Airline.java │ │ │ ├── Amount.java │ │ │ ├── AmountAdjustment.java │ │ │ ├── BRLocalAccountIdentification.java │ │ │ ├── BalanceMutation.java │ │ │ ├── BalancePlatformNotificationResponse.java │ │ │ ├── BankAccountV3.java │ │ │ ├── BankAccountV3AccountIdentification.java │ │ │ ├── BankCategoryData.java │ │ │ ├── CALocalAccountIdentification.java │ │ │ ├── CZLocalAccountIdentification.java │ │ │ ├── Card.java │ │ │ ├── CardIdentification.java │ │ │ ├── ConfirmationTrackingData.java │ │ │ ├── CounterpartyV3.java │ │ │ ├── DKLocalAccountIdentification.java │ │ │ ├── DirectDebitInformation.java │ │ │ ├── EstimationTrackingData.java │ │ │ ├── ExecutionDate.java │ │ │ ├── ExternalReason.java │ │ │ ├── HKLocalAccountIdentification.java │ │ │ ├── HULocalAccountIdentification.java │ │ │ ├── IbanAccountIdentification.java │ │ │ ├── InternalCategoryData.java │ │ │ ├── InternalReviewTrackingData.java │ │ │ ├── IssuedCard.java │ │ │ ├── IssuingTransactionData.java │ │ │ ├── JSON.java │ │ │ ├── Leg.java │ │ │ ├── Lodging.java │ │ │ ├── MerchantData.java │ │ │ ├── MerchantPurchaseData.java │ │ │ ├── Modification.java │ │ │ ├── NOLocalAccountIdentification.java │ │ │ ├── NZLocalAccountIdentification.java │ │ │ ├── NameLocation.java │ │ │ ├── NumberAndBicAccountIdentification.java │ │ │ ├── PLLocalAccountIdentification.java │ │ │ ├── PartyIdentification.java │ │ │ ├── PaymentInstrument.java │ │ │ ├── PlatformPayment.java │ │ │ ├── RelayedAuthorisationData.java │ │ │ ├── Resource.java │ │ │ ├── ResourceReference.java │ │ │ ├── SELocalAccountIdentification.java │ │ │ ├── SGLocalAccountIdentification.java │ │ │ ├── TransactionEventViolation.java │ │ │ ├── TransactionRuleReference.java │ │ │ ├── TransactionRuleSource.java │ │ │ ├── TransactionRulesResult.java │ │ │ ├── TransferData.java │ │ │ ├── TransferDataCategoryData.java │ │ │ ├── TransferDataTracking.java │ │ │ ├── TransferEvent.java │ │ │ ├── TransferEventEventsDataInner.java │ │ │ ├── TransferEventTrackingData.java │ │ │ ├── TransferNotificationCounterParty.java │ │ │ ├── TransferNotificationMerchantData.java │ │ │ ├── TransferNotificationRequest.java │ │ │ ├── TransferNotificationValidationFact.java │ │ │ ├── TransferReview.java │ │ │ ├── TransferWebhooksHandler.java │ │ │ ├── UKLocalAccountIdentification.java │ │ │ └── USLocalAccountIdentification.java │ │ ├── notification │ │ ├── BankingWebhookHandler.java │ │ ├── ClassicPlatformWebhookHandler.java │ │ ├── ManagementWebhookHandler.java │ │ └── WebhookHandler.java │ │ ├── serializer │ │ ├── ByteArrayDeserializer.java │ │ ├── ByteArraySerializer.java │ │ ├── ByteArrayToStringAdapter.java │ │ ├── DateSerializer.java │ │ ├── DateTimeGMTSerializer.java │ │ ├── DateTimeISO8601Serializer.java │ │ └── SaleToAcquirerDataSerializer.java │ │ ├── service │ │ ├── BalanceControlApi.java │ │ ├── BinLookupApi.java │ │ ├── DataProtectionApi.java │ │ ├── DisputesApi.java │ │ ├── PaymentApi.java │ │ ├── PaymentsAppApi.java │ │ ├── PosMobileApi.java │ │ ├── PosPayment.java │ │ ├── PosTerminalManagementApi.java │ │ ├── RecurringApi.java │ │ ├── StoredValueApi.java │ │ ├── TerminalCloudAPI.java │ │ ├── TerminalLocalAPI.java │ │ ├── TerminalLocalAPIUnencrypted.java │ │ ├── balancecontrol │ │ │ └── BalanceControlApi.java │ │ ├── balanceplatform │ │ │ ├── AccountHoldersApi.java │ │ │ ├── BalanceAccountsApi.java │ │ │ ├── BalancesApi.java │ │ │ ├── BankAccountValidationApi.java │ │ │ ├── CardOrdersApi.java │ │ │ ├── GrantAccountsApi.java │ │ │ ├── GrantOffersApi.java │ │ │ ├── ManageCardPinApi.java │ │ │ ├── ManageScaDevicesApi.java │ │ │ ├── NetworkTokensApi.java │ │ │ ├── PaymentInstrumentGroupsApi.java │ │ │ ├── PaymentInstrumentsApi.java │ │ │ ├── PlatformApi.java │ │ │ ├── TransactionRulesApi.java │ │ │ └── TransferRoutesApi.java │ │ ├── binlookup │ │ │ └── BinLookupApi.java │ │ ├── checkout │ │ │ ├── DonationsApi.java │ │ │ ├── ModificationsApi.java │ │ │ ├── OrdersApi.java │ │ │ ├── PaymentLinksApi.java │ │ │ ├── PaymentsApi.java │ │ │ ├── RecurringApi.java │ │ │ └── UtilityApi.java │ │ ├── classicplatforms │ │ │ ├── ClassicPlatformAccountApi.java │ │ │ ├── ClassicPlatformConfigurationApi.java │ │ │ ├── ClassicPlatformFundApi.java │ │ │ └── ClassicPlatformHopApi.java │ │ ├── dataprotection │ │ │ └── DataProtectionApi.java │ │ ├── disputes │ │ │ └── DisputesApi.java │ │ ├── exception │ │ │ └── ApiException.java │ │ ├── legalentitymanagement │ │ │ ├── BusinessLinesApi.java │ │ │ ├── DocumentsApi.java │ │ │ ├── HostedOnboardingApi.java │ │ │ ├── LegalEntitiesApi.java │ │ │ ├── PciQuestionnairesApi.java │ │ │ ├── TaxEDeliveryConsentApi.java │ │ │ ├── TermsOfServiceApi.java │ │ │ └── TransferInstrumentsApi.java │ │ ├── management │ │ │ ├── AccountCompanyLevelApi.java │ │ │ ├── AccountMerchantLevelApi.java │ │ │ ├── AccountStoreLevelApi.java │ │ │ ├── AllowedOriginsCompanyLevelApi.java │ │ │ ├── AllowedOriginsMerchantLevelApi.java │ │ │ ├── AndroidFilesCompanyLevelApi.java │ │ │ ├── ApiCredentialsCompanyLevelApi.java │ │ │ ├── ApiCredentialsMerchantLevelApi.java │ │ │ ├── ApiKeyCompanyLevelApi.java │ │ │ ├── ApiKeyMerchantLevelApi.java │ │ │ ├── ClientKeyCompanyLevelApi.java │ │ │ ├── ClientKeyMerchantLevelApi.java │ │ │ ├── MyApiCredentialApi.java │ │ │ ├── PaymentMethodsMerchantLevelApi.java │ │ │ ├── PayoutSettingsMerchantLevelApi.java │ │ │ ├── SplitConfigurationMerchantLevelApi.java │ │ │ ├── TerminalActionsCompanyLevelApi.java │ │ │ ├── TerminalActionsTerminalLevelApi.java │ │ │ ├── TerminalOrdersCompanyLevelApi.java │ │ │ ├── TerminalOrdersMerchantLevelApi.java │ │ │ ├── TerminalSettingsCompanyLevelApi.java │ │ │ ├── TerminalSettingsMerchantLevelApi.java │ │ │ ├── TerminalSettingsStoreLevelApi.java │ │ │ ├── TerminalSettingsTerminalLevelApi.java │ │ │ ├── TerminalsTerminalLevelApi.java │ │ │ ├── UsersCompanyLevelApi.java │ │ │ ├── UsersMerchantLevelApi.java │ │ │ ├── WebhooksCompanyLevelApi.java │ │ │ └── WebhooksMerchantLevelApi.java │ │ ├── payment │ │ │ ├── ModificationsApi.java │ │ │ └── PaymentsApi.java │ │ ├── paymentsapp │ │ │ └── PaymentsAppApi.java │ │ ├── payout │ │ │ ├── InitializationApi.java │ │ │ ├── InstantPayoutsApi.java │ │ │ └── ReviewingApi.java │ │ ├── posmobile │ │ │ └── PosMobileApi.java │ │ ├── recurring │ │ │ └── RecurringApi.java │ │ ├── resource │ │ │ ├── Resource.java │ │ │ └── terminal │ │ │ │ ├── cloud │ │ │ │ ├── Async.java │ │ │ │ ├── ConnectedTerminals.java │ │ │ │ └── Sync.java │ │ │ │ └── local │ │ │ │ └── LocalRequest.java │ │ ├── sessionauthentication │ │ │ └── SessionAuthenticationApi.java │ │ ├── storedvalue │ │ │ └── StoredValueApi.java │ │ └── transfers │ │ │ ├── CapitalApi.java │ │ │ ├── TransactionsApi.java │ │ │ └── TransfersApi.java │ │ ├── terminal │ │ ├── security │ │ │ ├── NexoCrypto.java │ │ │ ├── NexoDerivedKeyGenerator.java │ │ │ ├── TerminalCommonNameValidator.java │ │ │ └── exception │ │ │ │ └── NexoCryptoException.java │ │ └── serialization │ │ │ ├── ByteArrayToBase64TypeAdapter.java │ │ │ ├── TerminalAPIGsonBuilder.java │ │ │ ├── XMLEnumAdapterFactory.java │ │ │ ├── XMLEnumTypeAdapter.java │ │ │ └── XMLGregorianCalendarTypeAdapter.java │ │ └── util │ │ ├── CertificateUtil.java │ │ ├── DateUtil.java │ │ ├── HMACValidator.java │ │ ├── MaskUtil.java │ │ └── Util.java └── test │ ├── java │ └── com │ │ └── adyen │ │ ├── ApplicationInfoTest.java │ │ ├── BalanceControlTest.java │ │ ├── BalancePlatformTest.java │ │ ├── BalancePlatformWebhooksTest.java │ │ ├── BaseTest.java │ │ ├── BinLookupTest.java │ │ ├── CheckoutTest.java │ │ ├── DataProtectionServiceTest.java │ │ ├── DateSerializationTest.java │ │ ├── DisputesTest.java │ │ ├── ErrorHandlingTest.java │ │ ├── LegalEntityManagementTest.java │ │ ├── ManagementTest.java │ │ ├── MarketPayTest.java │ │ ├── NexoCryptoTest.java │ │ ├── PaymentTest.java │ │ ├── PayoutTest.java │ │ ├── PosPaymentTest.java │ │ ├── PosTerminalManagementTest.java │ │ ├── RecurringTest.java │ │ ├── ReflectionUtil.java │ │ ├── RegionTest.java │ │ ├── SessionAuthenticationTest.java │ │ ├── StoredValueTest.java │ │ ├── TerminalCloudAPITest.java │ │ ├── TerminalLocalAPITest.java │ │ ├── TransfersTest.java │ │ ├── UtilTest.java │ │ ├── WebhookTest.java │ │ ├── builders │ │ └── terminal │ │ │ └── TerminalAPIRequestBuilderTest.java │ │ ├── httpclient │ │ └── ClientTest.java │ │ ├── serializer │ │ ├── ByteArrayToStringAdapterTest.java │ │ ├── DateSerializerTest.java │ │ ├── DateTimeGMTSerializerTest.java │ │ ├── DateTimeISO8601SerializerTest.java │ │ ├── SaleToAcquirerDataSerializerTest.java │ │ └── XMLEnumSerializerTest.java │ │ ├── service │ │ └── ResourceTest.java │ │ ├── terminal │ │ └── security │ │ │ └── TerminalCommonNameValidatorTest.java │ │ └── util │ │ ├── CertificateUtilTest.java │ │ ├── HMACValidatorTest.java │ │ └── MaskUtilTest.java │ └── resources │ ├── adyen-terminalfleet-test.pem │ ├── mocks │ ├── afp-validation-error.json │ ├── authentication-result-error-invalid-psp.json │ ├── authentication-result-error-not-allowed.json │ ├── authentication-result-error-not-found.json │ ├── authentication-result-error-old-psp.json │ ├── authentication-result-success-3ds1.json │ ├── authentication-result-success-3ds2.json │ ├── authorise-error-010.json │ ├── authorise-error-cvc-declined.json │ ├── authorise-error-expired.json │ ├── authorise-success-3d.json │ ├── authorise-success-3ds2.json │ ├── authorise-success-boleto.json │ ├── authorise-success-cse.json │ ├── authorise-success-klarna.json │ ├── authorise-success.json │ ├── authorise3d-error-105.json │ ├── authorise3d-success.json │ ├── balancePlatform-webhooks │ │ ├── balanceplatform-authentication-created.json │ │ ├── balanceplatform-balanceAccount-balance-updated.json │ │ ├── balanceplatform-balancePlatform-networkToken-created.json │ │ ├── balanceplatform-balancePlatform-networkToken-updated.json │ │ ├── balanceplatform-negativeBalanceCompensationWarning-scheduled.json │ │ ├── balanceplatform-relayed-authentication-request.json │ │ ├── balanceplatform-report-created.json │ │ ├── configuration-accountHolder-created-castexception.json │ │ ├── configuration-accountHolder-created-lemv2.json │ │ ├── configuration-accountHolder-created.json │ │ ├── configuration-accountHolder-updated.json │ │ └── transfer-updated.json │ ├── balancePlatform │ │ ├── AccountHolder.json │ │ ├── AccountHolderCreatedResponse.json │ │ ├── BalanceAccount.json │ │ ├── BalanceAccountUpdateRequest.json │ │ ├── BalancePlatformResponse.json │ │ ├── BalanceSweepConfigurationsResponse.json │ │ ├── BalanceWebhookSettingResponse.json │ │ ├── BalanceWebhookSettingsResponse.json │ │ ├── PaginatedAccountHoldersResponse.json │ │ ├── PaginatedBalanceAccountsResponse.json │ │ ├── PaginatedPaymentInstrumentsResponse.json │ │ ├── PaymentInstrument.json │ │ ├── PaymentInstrumentGroup.json │ │ ├── SweepConfigurationV2.json │ │ ├── TransactionRule.json │ │ ├── TransactionRuleResponse.json │ │ ├── TransactionRulesResponse.json │ │ └── TransferRoutesResponse.json │ ├── binlookup │ │ ├── get3dsAvailability-200-success.json │ │ ├── get3dsavailability-error-merchant.json │ │ ├── getCostEstimate-getCostEstimate-200.json │ │ ├── getcostestimate-error-amount.json │ │ ├── getcostestimate-error-cardnumber.json │ │ └── getcostestimate-error-merchant.json │ ├── capital │ │ ├── get-capital-account.json │ │ └── request-grant.json │ ├── checkout │ │ ├── applePaySessionsResponse.json │ │ ├── cancelOrderResponse.json │ │ ├── cardDetailsResponse.json │ │ ├── createOrderResponse.json │ │ ├── createSessionsResponse.json │ │ ├── deleteStoredPaymentMethodResponse.json │ │ ├── donationResponse.json │ │ ├── getPaymentLinkResponse.json │ │ ├── getStoredPaymentMethodResponse.json │ │ ├── patchPaymentLinkResponse.json │ │ ├── paymentDetailsResponse.json │ │ ├── paymentDetailsResponseThreeDSRequestorChallengeInd.json │ │ ├── paymentLinkResponse.json │ │ ├── paymentMethodsResponse.json │ │ ├── paymentRequestIdeal.json │ │ ├── paymentRequestScheme.json │ │ ├── paymentResponse.json │ │ ├── paymentResponseRatepay.json │ │ ├── paymentResponseRiverty.json │ │ ├── paymentResultsResponse.json │ │ ├── paymentSessionResponse.json │ │ └── paymentUpdateAmountResponse.json │ ├── checkoututility │ │ └── originkeys-success.json │ ├── disputes │ │ ├── post-acceptDispute-accept-dispute-200.json │ │ ├── post-defendDispute-defend-dispute-200.json │ │ ├── post-deleteDisputeDefenseDocument-delete-dispute-defense-document-200.json │ │ ├── post-downloadDisputeDefenseDocument-download-dispute-defense-document-200.json │ │ ├── post-retrieveApplicableDefenseReasons-retrieve-defense-reasons-200.json │ │ └── post-supplyDefenseDocument-supply-defense-document-200.json │ ├── hmac-validation-webhook.json │ ├── invalid-phone-afp-response.json │ ├── legalentitymanagement │ │ ├── Document.json │ │ ├── OnboardingLink.json │ │ ├── OnboardingTheme.json │ │ ├── OnboardingThemes.json │ │ ├── TransferInstrument.json │ │ ├── request │ │ │ ├── BusinessLineInfo.json │ │ │ ├── BusinessLineInfoUpdate.json │ │ │ ├── LegalEntityInfoRequiredType.json │ │ │ └── TransferInstrumentInfo.json │ │ └── response │ │ │ ├── BusinessLine.json │ │ │ ├── BusinessLines.json │ │ │ ├── LegalEntity.json │ │ │ └── TransferInstrument.json │ ├── management │ │ ├── list-companies.json │ │ ├── list-merchants.json │ │ ├── store.json │ │ └── terminal-settings.json │ ├── modification-success.json │ ├── notification │ │ ├── authorisation-true.json │ │ ├── balancePlatform-transaction-created.json │ │ ├── cancellation-true.json │ │ ├── capture-false.json │ │ ├── capture-true.json │ │ ├── chargeback.json │ │ ├── display-notification.json │ │ ├── event-notification.json │ │ ├── offer-closed.json │ │ ├── refund-false.json │ │ └── refund-true.json │ ├── payout │ │ ├── modifyResponse-success.json │ │ ├── payout-error-403.json │ │ ├── payout-error-422.json │ │ ├── payout-success.json │ │ ├── storeDetail-success.json │ │ ├── storeDetailAndSubmitThirdParty-success.json │ │ └── submitResponse-success.json │ ├── pos │ │ ├── connectedTerminals-error-403.json │ │ ├── connectedTerminals-error-500.json │ │ └── connectedTerminals-success.json │ ├── posterminalmanagement │ │ ├── assign-terminals-success.json │ │ ├── find-terminal-success.json │ │ ├── get-stores-under-account-success.json │ │ ├── get-terminal-details-success.json │ │ └── get-terminals-under-account-success.json │ ├── recurring │ │ ├── createPermit-success.json │ │ ├── disable-error-803.json │ │ ├── disable-success.json │ │ ├── disablePermit-success.json │ │ ├── listRecurringDetails-success.json │ │ ├── notifyShopper-success.json │ │ ├── scheduleAccountUpdater-error-130.json │ │ └── scheduleAccountUpdater-success.json │ ├── request-subject-erasure-not-found.json │ ├── request-subject-erasure-success.json │ ├── response-validation-error-invalid-json.json │ ├── response-validation-error-rfc7807.json │ ├── response-validation-error.json │ ├── retrieve-result-success-3ds2.json │ ├── sessionauthentication │ │ └── response │ │ │ └── SessionAuthenticationCreated.json │ ├── smallendpoints │ │ └── balance-control.json │ ├── storedvalue │ │ ├── change-status-active-success.json │ │ ├── check-balance-success.json │ │ ├── issue-success.json │ │ ├── load-success.json │ │ ├── merge-balance-success.json │ │ └── void-transaction-success.json │ ├── terminal-api │ │ ├── abort-sync-success │ │ ├── input-request-success.json │ │ ├── payment-async-success │ │ ├── payment-local-success.json │ │ ├── payment-sync-error-empty.json │ │ ├── payment-sync-success-storedvalue.json │ │ └── payment-sync-success.json │ └── transfers │ │ ├── get-transactions-id-success-200.json │ │ ├── get-transactions-success-200.json │ │ └── post-transfers-payout-cross-border-200.json │ └── testStore.keystore ├── templates-v7 └── libraries │ └── jersey3 │ ├── AbstractOpenApiSchema.mustache │ ├── JSON.mustache │ ├── api.mustache │ ├── api_overload.mustache │ ├── api_overload_invoke.mustache │ ├── api_parameters.mustache │ ├── api_summary.mustache │ ├── api_summary_overload.mustache │ ├── jackson_annotations.mustache │ ├── licenseInfo.mustache │ ├── model.mustache │ ├── oneof_model.mustache │ ├── pojo.mustache │ └── webhook_handler.mustache ├── tools └── hmac │ ├── CalculateHmacPayments.java │ ├── CalculateHmacPlatform.java │ ├── README.md │ ├── payload.json │ ├── payload2.json │ └── pom.xml └── upgrade_release_version.sh /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @Adyen/developer-relations 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Request a new feature or improvement. See open issues before requesting. 3 | title: "[Feature]: " 4 | labels: ["Feature"] 5 | assignees: [] 6 | body: 7 | - type: markdown 8 | attributes: 9 | value: "#### Is your feature request related to a problem? Please describe." 10 | 11 | - type: input 12 | id: feature-summary 13 | attributes: 14 | label: "Feature summary" 15 | description: "Provide a short description of the feature request." 16 | placeholder: "Example: Add support for donation event." 17 | 18 | - type: textarea 19 | id: problem-statement 20 | attributes: 21 | label: "Problem statement" 22 | description: "Explain the problem this feature aims to solve." 23 | placeholder: "Example: I have an issue with consuming the donations webhook." 24 | validations: 25 | required: true 26 | 27 | - type: textarea 28 | id: proposed-solution 29 | attributes: 30 | label: "Proposed solution" 31 | description: "Describe how you want this feature to work." 32 | placeholder: "Example: Add Donation enum to ..." 33 | validations: 34 | required: true 35 | 36 | - type: textarea 37 | id: alternatives 38 | attributes: 39 | label: "Alternatives considered" 40 | description: "Describe any alternative solutions you've explored." 41 | placeholder: "Example: I tried to extend the current namespace but ..." 42 | 43 | - type: textarea 44 | id: additional-context 45 | attributes: 46 | label: "Additional context" 47 | description: "Provide any extra details, references, or screenshots." -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Description** 2 | 3 | 4 | **Tested scenarios** 5 | 6 | 7 | **Fixed issue**: 8 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | categories: 3 | - title: Breaking Changes 🛠 4 | labels: 5 | - Breaking change 6 | - title: New Features 💎 7 | labels: 8 | - Feature 9 | - title: Fixes ⛑️ 10 | labels: 11 | - Fix 12 | - title: Other Changes 🖇️ 13 | labels: 14 | - "*" 15 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | name: "Code scanning - action" 2 | 3 | on: 4 | schedule: 5 | - cron: '0 0 * * 4' 6 | 7 | jobs: 8 | CodeQL-Build: 9 | 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout repository 14 | uses: actions/checkout@v4 15 | with: 16 | # We must fetch at least the immediate parents so that if this is 17 | # a pull request then we can checkout the head. 18 | fetch-depth: 2 19 | 20 | # If this run was triggered by a pull request event, then checkout 21 | # the head of the pull request instead of the merge commit. 22 | - run: git checkout HEAD^2 23 | if: ${{ github.event_name == 'pull_request' }} 24 | 25 | # Initializes the CodeQL tools for scanning. 26 | - name: Initialize CodeQL 27 | uses: github/codeql-action/init@v3 28 | # Override language selection by uncommenting this and choosing your languages 29 | # with: 30 | # languages: go, javascript, csharp, python, cpp, java 31 | 32 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 33 | # If this step fails, then you should remove it and run the build manually (see below) 34 | - name: Autobuild 35 | uses: github/codeql-action/autobuild@v3 36 | 37 | # ℹ️ Command-line programs to run using the OS shell. 38 | # 📚 https://git.io/JvXDl 39 | 40 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 41 | # and modify them (or add more) to build your code if your project 42 | # uses a compiled language 43 | 44 | #- run: | 45 | # make bootstrap 46 | # make release 47 | 48 | - name: Perform CodeQL Analysis 49 | uses: github/codeql-action/analyze@v3 50 | -------------------------------------------------------------------------------- /.github/workflows/format.yml: -------------------------------------------------------------------------------- 1 | name: Java Code Format 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'sdk-automation/models' 7 | 8 | jobs: 9 | format: 10 | if: ${{ github.event.commits != null && !startsWith(github.event.head_commit.message, 'style(fmt)') }} 11 | permissions: 12 | contents: write 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v4 17 | with: 18 | token: ${{ secrets.ADYEN_AUTOMATION_BOT_ACCESS_TOKEN }} 19 | 20 | - name: Set up JDK 21 | uses: actions/setup-java@v4 22 | with: 23 | java-version: '20' 24 | distribution: 'adopt' 25 | 26 | - name: Cache Maven packages 27 | uses: actions/cache@v3 28 | with: 29 | path: ~/.m2 30 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 31 | restore-keys: | 32 | ${{ runner.os }}-m2- 33 | 34 | - name: Run Spotless Apply 35 | run: mvn spotless:apply 36 | 37 | - name: Commit and Push Changes 38 | run: | 39 | git config user.name AdyenAutomationBot 40 | git config user.email "${{ secrets.ADYEN_AUTOMATION_BOT_EMAIL }}" 41 | git add . 42 | if git diff --cached --quiet; then 43 | echo "No changes to commit." 44 | else 45 | git commit -m "style(fmt): code formatted" 46 | git push 47 | fi 48 | -------------------------------------------------------------------------------- /.github/workflows/javaci.yml: -------------------------------------------------------------------------------- 1 | name: Java CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | branches: 9 | - main 10 | - sdk-automation/models 11 | - promote/main 12 | workflow_dispatch: {} 13 | 14 | jobs: 15 | java-check: 16 | name: Java Code Check 17 | runs-on: ubuntu-latest 18 | 19 | steps: 20 | - uses: actions/checkout@v4 21 | - name: Set up JDK 22 | uses: actions/setup-java@v4 23 | with: 24 | java-version: '20' 25 | distribution: 'adopt' 26 | - name: Cache Maven packages 27 | uses: actions/cache@v3 28 | with: 29 | path: ~/.m2 30 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 31 | restore-keys: | 32 | ${{ runner.os }}-m2- 33 | - name: Check code style 34 | run: mvn -B checkstyle:check --no-transfer-progress 35 | 36 | java-test: 37 | name: Build and Test 38 | runs-on: ubuntu-latest 39 | needs: java-check 40 | 41 | strategy: 42 | matrix: 43 | java: [ '11', '17', '20' ] 44 | 45 | steps: 46 | - uses: actions/checkout@v4 47 | - name: Set up JDK ${{ matrix.java }} 48 | uses: actions/setup-java@v4 49 | with: 50 | java-version: ${{ matrix.java }} 51 | distribution: 'adopt' 52 | - name: Cache Maven packages 53 | uses: actions/cache@v3 54 | with: 55 | path: ~/.m2 56 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 57 | restore-keys: | 58 | ${{ runner.os }}-m2- 59 | - name: Run tests with coverage 60 | run: mvn -B clean test package --no-transfer-progress -------------------------------------------------------------------------------- /.github/workflows/label_new_issues.yml: -------------------------------------------------------------------------------- 1 | name: Label New Issues 2 | on: 3 | issues: 4 | types: [opened] 5 | 6 | jobs: 7 | add-label: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Add 'needs response' label to new issues 11 | uses: actions-ecosystem/action-add-labels@v1 12 | with: 13 | github_token: ${{ secrets.GITHUB_TOKEN }} 14 | labels: 'needs response' 15 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish package to the Maven Central Repository 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | - name: Set up JDK 11 13 | uses: actions/setup-java@v4 14 | with: 15 | distribution: 'temurin' 16 | java-version: '11' 17 | 18 | - name: Build with Maven 19 | run: mvn -B package --file pom.xml 20 | 21 | - name: Set up Apache Maven Central 22 | uses: actions/setup-java@v4 23 | with: # running setup-java again overwrites the settings.xml 24 | distribution: 'temurin' 25 | java-version: '11' 26 | server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml 27 | server-username: MAVEN_USERNAME # env variable for username in deploy 28 | server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy 29 | gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import 30 | gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase 31 | 32 | - name: Publish to Apache Maven Central 33 | run: mvn deploy 34 | env: 35 | MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME}} 36 | MAVEN_CENTRAL_TOKEN: ${{ secrets.OSSRH_TOKEN }} 37 | MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} 38 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | pre-release: 7 | required: false 8 | type: boolean 9 | default: false 10 | description: "This release will be labeled as non-production ready" 11 | github-release: 12 | required: false 13 | type: boolean 14 | default: false 15 | description: "Publish Github release for the current version" 16 | # Monitor pull request events 17 | pull_request: 18 | types: 19 | - closed 20 | branches: 21 | - main 22 | 23 | jobs: 24 | release: 25 | if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }} 26 | permissions: 27 | contents: write 28 | pull-requests: write 29 | runs-on: ubuntu-latest 30 | steps: 31 | - uses: actions/checkout@v4 32 | - name: Prepare the next main release 33 | uses: Adyen/release-automation-action@v1.3.1 34 | with: 35 | token: ${{ secrets.ADYEN_AUTOMATION_BOT_ACCESS_TOKEN }} 36 | develop-branch: main 37 | version-files: pom.xml src/main/java/com/adyen/Client.java README.md 38 | release-title: Adyen Java API Library 39 | pre-release: ${{ inputs.pre-release || false }} 40 | github-release: ${{ inputs.github-release || false }} 41 | separator: .pre.beta -------------------------------------------------------------------------------- /.github/workflows/sonarcloud.yml: -------------------------------------------------------------------------------- 1 | name: Sonarcloud CI 2 | 3 | on: 4 | schedule: 5 | - cron: '0 0 * * 4' 6 | workflow_dispatch: {} 7 | 8 | permissions: 9 | contents: read 10 | pull-requests: read 11 | 12 | jobs: 13 | java-sonarqube: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v4 17 | with: 18 | fetch-depth: 0 19 | - name: Set up JDK 17 20 | uses: actions/setup-java@v4 21 | with: 22 | java-version: 17 23 | distribution: 'zulu' 24 | - name: Cache SonarQube Cloud packages 25 | uses: actions/cache@v4 26 | with: 27 | path: ~/.sonar/cache 28 | key: ${{ runner.os }}-sonar 29 | restore-keys: ${{ runner.os }}-sonar 30 | - name: Cache Maven packages 31 | uses: actions/cache@v4 32 | with: 33 | path: ~/.m2 34 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 35 | restore-keys: ${{ runner.os }}-m2 36 | 37 | - name: Run Checkstyle 38 | run: mvn checkstyle:check 39 | 40 | - name: Generate coverage report 41 | run: mvn test jacoco:report 42 | 43 | - name: Run SonarCloud Analysis 44 | env: 45 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} 46 | run: mvn sonar:sonar -Dsonar.projectKey=Adyen_adyen-java-api-library -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: Close Stale Issues 2 | on: 3 | schedule: 4 | - cron: '30 8 * * *' 5 | 6 | jobs: 7 | stale: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/stale@v9 11 | with: 12 | repo-token: ${{ secrets.GITHUB_TOKEN }} 13 | stale-issue-message: 'This issue has been automatically marked as stale due to inactivity and will be closed in 7 days if no further activity occurs.' 14 | close-issue-message: 'This issue was closed due to inactivity. Please reopen if you still encounter this problem or have more information to add.' 15 | stale-pr-message: "This PR hasn't received any updates in a year and will be automatically closed in 30 days. Feel free to re-open if you plan to continue working on this pull request" 16 | days-before-stale: -1 17 | days-before-close: -1 18 | days-before-issue-stale: 14 19 | days-before-issue-close: 7 20 | stale-issue-label: 'stale' 21 | close-issue-label: 'closed-due-to-inactivity' 22 | exempt-issue-labels: 'do not stale, needs response' 23 | days-before-pr-stale: 365 24 | days-before-pr-close: 30 25 | exempt-pr-labels: 'do not stale' 26 | only-pr-labels: awaiting-changes,blocked,work-in-progress,awaiting-upstream 27 | remove-pr-stale-when-updated: true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | **/target/** 4 | .DS_Store 5 | .vscode 6 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution guidelines 2 | 3 | ## How to contribute step-by-step 4 | 5 | 1. Fork the `Adyen/adyen-java-api-library` repository. 6 | 2. Create a new branch from `main` in your fork. This makes it easier for you to keep track of your changes. 7 | 3. Make the desired changes to the code. 8 | * If you are adding new functionality or fixing a bug, we recommend you add unit tests that cover it. 9 | 4. Push the changes to your fork. 10 | 5. Create a pull request to the `Adyen/adyen-java-api-library` repository. 11 | 6. In your pull request, please describe in detail: 12 | * What problem you’re solving 13 | * Your approach to fixing the problem 14 | * Any tests you wrote 15 | 7. Check Allow edits from maintainers. 16 | 8. Create the pull request. 17 | 9. Ensure that all checks have passed. 18 | 19 | After you create your pull request, one of the code owners will review your code. 20 | We aim to review your request within 2-3 business days. 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Adyen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 38.1.0 2 | -------------------------------------------------------------------------------- /checkstyle-suppressions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["config:base"], 4 | "minimumReleaseAge": "21 days" 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/ApiKeyAuthenticatedService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2018 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen; 22 | 23 | /** 24 | * A service base class that enforces API key authentication. 25 | * 26 | *

This class extends Service and ensures that any extending service requires an API key for 27 | * authentication. 28 | */ 29 | public class ApiKeyAuthenticatedService extends Service { 30 | 31 | protected ApiKeyAuthenticatedService(Client client) { 32 | super(client); 33 | setApiKeyRequired(true); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/constants/ErrorTypeCodes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2018 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | 22 | package com.adyen.constants; 23 | 24 | public interface ErrorTypeCodes { 25 | Integer FIELD_MISSING = 1; 26 | Integer EMAIL_INVALID = 2; 27 | Integer COUNTRY_INVALID = 3; 28 | Integer CONTAINS_NUMBERS = 4; 29 | Integer WEB_ADDRESS_INVALID = 5; 30 | Integer INVALID_DATE_FORMAT = 6; 31 | Integer DATE_OUT_OF_RANGE = 7; 32 | Integer BANK_DETAILS_INVALID = 8; 33 | Integer POSTAL_CODE_INVALID = 9; 34 | Integer STATE_CODE_INVALID = 10; 35 | Integer STATE_CODE_UNKNOWN = 11; 36 | Integer PHONE_NUMBER_OBJECT = 12; 37 | Integer PHONE_NUMBER_INVALID = 13; 38 | Integer PHONE_NUMBER_TOO_SHORT = 14; 39 | Integer COUNTRY_NOT_SUPPORTED = 15; 40 | Integer INVALID_CURRENCY = 16; 41 | Integer IBAN_AND_ACCOUNT_NUMBER = 17; 42 | Integer BANK_CODE_UNKNOWN = 18; 43 | Integer TIER_NUMBER_INVALID = 19; 44 | Integer FORBIDDEN_FIELD = 20; 45 | Integer INVALID_ACCOUNT_DESCRIPTION = 21; 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/enums/Environment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.enums; 22 | 23 | public enum Environment { 24 | TEST { 25 | public String toString() { 26 | return "TEST"; 27 | } 28 | }, 29 | LIVE { 30 | public String toString() { 31 | return "LIVE"; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/enums/Gender.java: -------------------------------------------------------------------------------- 1 | package com.adyen.enums; 2 | 3 | public enum Gender { 4 | MALE { 5 | 6 | public String toString() { 7 | return "MALE"; 8 | } 9 | }, 10 | FEMALE { 11 | 12 | public String toString() { 13 | return "FEMALE"; 14 | } 15 | }, 16 | UNKNOWN { 17 | 18 | public String toString() { 19 | return "UNKNOWN"; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/enums/Region.java: -------------------------------------------------------------------------------- 1 | package com.adyen.enums; 2 | 3 | import com.adyen.Client; 4 | import java.util.Map; 5 | 6 | public enum Region { 7 | 8 | /** European Union region */ 9 | EU, 10 | 11 | /** Australia region */ 12 | AU, 13 | 14 | /** United States region */ 15 | US, 16 | 17 | /** India region */ 18 | IN, 19 | 20 | /** Asia-Pacific, South East region */ 21 | APSE; 22 | 23 | /** Maps regions to their respective Terminal API endpoints. */ 24 | public static final Map TERMINAL_API_ENDPOINTS_MAPPING; 25 | 26 | static { 27 | TERMINAL_API_ENDPOINTS_MAPPING = 28 | Map.of( 29 | Region.EU, Client.TERMINAL_API_ENDPOINT_LIVE, 30 | Region.AU, Client.TERMINAL_API_ENDPOINT_AU, 31 | Region.US, Client.TERMINAL_API_ENDPOINT_US, 32 | Region.APSE, Client.TERMINAL_API_ENDPOINT_APSE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/enums/VatCategory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.enums; 22 | 23 | public enum VatCategory { 24 | HIGH { 25 | public String toString() { 26 | return "High"; 27 | } 28 | }, 29 | LOW { 30 | public String toString() { 31 | return "Low"; 32 | } 33 | }, 34 | NONE { 35 | public String toString() { 36 | return "None"; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/httpclient/AdyenResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2021 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.httpclient; 22 | 23 | import java.util.List; 24 | import java.util.Map; 25 | 26 | class AdyenResponse { 27 | 28 | private String body; 29 | private int status; 30 | private Map> headers; 31 | 32 | public String getBody() { 33 | return body; 34 | } 35 | 36 | public void setBody(String body) { 37 | this.body = body; 38 | } 39 | 40 | public int getStatus() { 41 | return status; 42 | } 43 | 44 | public void setStatus(int status) { 45 | this.status = status; 46 | } 47 | 48 | public Map> getHeaders() { 49 | return headers; 50 | } 51 | 52 | public void setHeaders(Map> headers) { 53 | this.headers = headers; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/RequestOptions.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model; 2 | 3 | import java.util.HashMap; 4 | 5 | public class RequestOptions { 6 | private String idempotencyKey; 7 | private String requestedVerificationCodeHeader; 8 | private HashMap additionalServiceHeaders; 9 | 10 | public RequestOptions idempotencyKey(String idempotencyKey) { 11 | this.idempotencyKey = idempotencyKey; 12 | return this; 13 | } 14 | 15 | public RequestOptions requestedVerificationCodeHeader(String requestedVerificationCodeHeader) { 16 | this.requestedVerificationCodeHeader = requestedVerificationCodeHeader; 17 | return this; 18 | } 19 | 20 | public RequestOptions additionalServiceHeaders(HashMap additionalServiceHeaders) { 21 | this.additionalServiceHeaders = additionalServiceHeaders; 22 | return this; 23 | } 24 | 25 | public String getIdempotencyKey() { 26 | return idempotencyKey; 27 | } 28 | 29 | public void setIdempotencyKey(String idempotencyKey) { 30 | this.idempotencyKey = idempotencyKey; 31 | } 32 | 33 | public String getRequestedVerificationCodeHeader() { 34 | return requestedVerificationCodeHeader; 35 | } 36 | 37 | public void setRequestedVerificationCodeHeader(String requestedVerificationCodeHeader) { 38 | this.requestedVerificationCodeHeader = requestedVerificationCodeHeader; 39 | } 40 | 41 | public HashMap getAdditionalServiceHeaders() { 42 | return additionalServiceHeaders; 43 | } 44 | 45 | public void setAdditionalServiceHeaders(HashMap additionalServiceHeaders) { 46 | this.additionalServiceHeaders = additionalServiceHeaders; 47 | } 48 | 49 | @Override 50 | public String toString() { 51 | return "RequestOptions{" 52 | + "idempotencyKey='" 53 | + idempotencyKey 54 | + '\'' 55 | + ", requestedVerificationCodeHeader='" 56 | + requestedVerificationCodeHeader 57 | + '\'' 58 | + ", additionalServiceHeaders=" 59 | + additionalServiceHeaders 60 | + '}'; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/additionalData/SplitPayment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.model.additionalData; 22 | 23 | import java.util.List; 24 | 25 | public class SplitPayment { 26 | 27 | private Integer api; 28 | private Long totalAmount; 29 | private String currencyCode; 30 | private List splitPaymentItems; 31 | 32 | public Integer getApi() { 33 | return api; 34 | } 35 | 36 | public void setApi(Integer api) { 37 | this.api = api; 38 | } 39 | 40 | public Long getTotalAmount() { 41 | return totalAmount; 42 | } 43 | 44 | public void setTotalAmount(Long totalAmount) { 45 | this.totalAmount = totalAmount; 46 | } 47 | 48 | public String getCurrencyCode() { 49 | return currencyCode; 50 | } 51 | 52 | public void setCurrencyCode(String currencyCode) { 53 | this.currencyCode = currencyCode; 54 | } 55 | 56 | public List getSplitPaymentItems() { 57 | return splitPaymentItems; 58 | } 59 | 60 | public void setSplitPaymentItems(List splitPaymentItems) { 61 | this.splitPaymentItems = splitPaymentItems; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/balanceplatform/SettingType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Configuration API 3 | * 4 | * The version of the OpenAPI document: 2 5 | * 6 | * 7 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 8 | * https://openapi-generator.tech 9 | * Do not edit the class manually. 10 | */ 11 | 12 | package com.adyen.model.balanceplatform; 13 | 14 | import com.fasterxml.jackson.annotation.JsonCreator; 15 | import com.fasterxml.jackson.annotation.JsonValue; 16 | 17 | /** Gets or Sets SettingType */ 18 | public enum SettingType { 19 | BALANCE("balance"); 20 | 21 | private String value; 22 | 23 | SettingType(String value) { 24 | this.value = value; 25 | } 26 | 27 | @JsonValue 28 | public String getValue() { 29 | return value; 30 | } 31 | 32 | @Override 33 | public String toString() { 34 | return String.valueOf(value); 35 | } 36 | 37 | @JsonCreator 38 | public static SettingType fromValue(String value) { 39 | for (SettingType b : SettingType.values()) { 40 | if (b.value.equals(value)) { 41 | return b; 42 | } 43 | } 44 | throw new IllegalArgumentException("Unexpected value '" + value + "'"); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/disputewebhooks/DisputeWebhooksHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Dispute webhooks 3 | * 4 | * The version of the OpenAPI document: 1 5 | * 6 | * 7 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 8 | * https://openapi-generator.tech 9 | * Do not edit the class manually. 10 | */ 11 | 12 | package com.adyen.model.disputewebhooks; 13 | 14 | import java.util.Optional; 15 | import java.util.logging.Logger; 16 | 17 | /** 18 | * Handler for processing DisputeWebhooks. 19 | * 20 | *

This class provides functionality to deserialize the payload of DisputeWebhooks events. 21 | */ 22 | public class DisputeWebhooksHandler { 23 | 24 | private static final Logger LOG = Logger.getLogger(DisputeWebhooksHandler.class.getName()); 25 | 26 | private final String payload; 27 | 28 | /** 29 | * Constructs a new handler for the given webhook payload 30 | * 31 | * @param payload the raw JSON payload from the webhook 32 | */ 33 | public DisputeWebhooksHandler(String payload) { 34 | this.payload = payload; 35 | } 36 | 37 | /** 38 | * Deserializes the payload into the specified class type. 39 | * 40 | * @param clazz the class to deserialize into 41 | * @param the type of the class 42 | * @return an Optional containing the deserialized object, or empty if an error occurs 43 | */ 44 | private Optional getOptionalField(Class clazz) { 45 | try { 46 | T val = JSON.getMapper().readValue(payload, clazz); 47 | return Optional.ofNullable(val); 48 | } catch (Exception e) { 49 | // an error has occurred during deserialization (object not found, deserialization error) 50 | LOG.warning("Object not found or unexpected error trying to access: " + clazz.getName()); 51 | LOG.warning("Deserialization error: " + e.getMessage()); 52 | return Optional.empty(); 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/AdminRequest.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Custom Admin Request messageType. -- Usage: Empty 11 | * 12 | *

Java class for AdminRequest complex type. 13 | * 14 | *

The following schema fragment specifies the expected content contained within this class. 15 | * 16 | *

17 |  * <complexType name="AdminRequest">
18 |  *   <complexContent>
19 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
20 |  *       <sequence>
21 |  *         <element name="ServiceIdentification" type="{}ServiceIdentification" minOccurs="0"/>
22 |  *       </sequence>
23 |  *     </restriction>
24 |  *   </complexContent>
25 |  * </complexType>
26 |  * 
27 | */ 28 | @XmlAccessorType(XmlAccessType.FIELD) 29 | @XmlType( 30 | name = "AdminRequest", 31 | propOrder = {"serviceIdentification"}) 32 | public class AdminRequest { 33 | 34 | /** The Service identification. */ 35 | @XmlElement(name = "ServiceIdentification") 36 | @Schema(description = "Identification of the administrative service to process.") 37 | protected String serviceIdentification; 38 | 39 | /** 40 | * Gets the value of the serviceIdentification property. 41 | * 42 | * @return possible object is {@link String } 43 | */ 44 | public String getServiceIdentification() { 45 | return serviceIdentification; 46 | } 47 | 48 | /** 49 | * Sets the value of the serviceIdentification property. 50 | * 51 | * @param value allowed object is {@link String } 52 | */ 53 | public void setServiceIdentification(String value) { 54 | this.serviceIdentification = value; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/AdminResponse.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Custom Admin Response messageType. -- Usage: It conveys the result of 11 | * the Custom Admin. 12 | * 13 | *

Java class for AdminResponse complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="AdminResponse">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="Response" type="{}Response"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "AdminResponse", 32 | propOrder = {"response"}) 33 | public class AdminResponse { 34 | 35 | /** The Response. */ 36 | @XmlElement(name = "Response", required = true) 37 | @Schema(description = "Result of a message request processing.") 38 | protected Response response; 39 | 40 | /** 41 | * Gets the value of the response property. 42 | * 43 | * @return possible object is {@link Response } 44 | */ 45 | public Response getResponse() { 46 | return response; 47 | } 48 | 49 | /** 50 | * Sets the value of the response property. 51 | * 52 | * @param value allowed object is {@link Response } 53 | */ 54 | public void setResponse(Response value) { 55 | this.response = value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/AlignmentType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import java.util.Arrays; 4 | import javax.xml.bind.annotation.XmlEnum; 5 | import javax.xml.bind.annotation.XmlEnumValue; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Java class for AlignmentType. 10 | * 11 | *

The following schema fragment specifies the expected content contained within this class. 12 | * 13 | *

14 |  * <simpleType name="AlignmentType">
15 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
16 |  *     <enumeration value="Left"/>
17 |  *     <enumeration value="Right"/>
18 |  *     <enumeration value="Centred"/>
19 |  *     <enumeration value="Justified"/>
20 |  *   </restriction>
21 |  * </simpleType>
22 |  * 
23 | */ 24 | @XmlType(name = "AlignmentType") 25 | @XmlEnum 26 | public enum AlignmentType { 27 | 28 | /** Left alignment type. */ 29 | @XmlEnumValue("Left") 30 | LEFT("Left"), 31 | /** Right alignment type. */ 32 | @XmlEnumValue("Right") 33 | RIGHT("Right"), 34 | /** Centred alignment type. */ 35 | @XmlEnumValue("Centred") 36 | CENTRED("Centred"), 37 | /** Justified alignment type. */ 38 | @XmlEnumValue("Justified") 39 | JUSTIFIED("Justified"); 40 | private final String value; 41 | 42 | AlignmentType(String v) { 43 | value = v; 44 | } 45 | 46 | /** 47 | * Value string. 48 | * 49 | * @return the string 50 | */ 51 | public String value() { 52 | return value; 53 | } 54 | 55 | /** 56 | * From value alignment type. 57 | * 58 | * @param v the v 59 | * @return the alignment type 60 | */ 61 | public static AlignmentType fromValue(String v) { 62 | return Arrays.stream(values()) 63 | .filter(s -> s.value.equals(v)) 64 | .findFirst() 65 | .orElseThrow(() -> new IllegalArgumentException(v)); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/CardReaderPowerOffResponse.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Card Reader Power-Off Response messageType. -- Usage: It contains the 11 | * result of the processed command. 12 | * 13 | *

Java class for CardReaderPowerOffResponse complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="CardReaderPowerOffResponse">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="Response" type="{}Response"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "CardReaderPowerOffResponse", 32 | propOrder = {"response"}) 33 | public class CardReaderPowerOffResponse { 34 | 35 | /** The Response. */ 36 | @XmlElement(name = "Response", required = true) 37 | @Schema(description = "Result of a message request processing.") 38 | protected Response response; 39 | 40 | /** 41 | * Gets the value of the response property. 42 | * 43 | * @return possible object is {@link Response } 44 | */ 45 | public Response getResponse() { 46 | return response; 47 | } 48 | 49 | /** 50 | * Sets the value of the response property. 51 | * 52 | * @param value allowed object is {@link Response } 53 | */ 54 | public void setResponse(Response value) { 55 | this.response = value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/CharacterHeightType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import java.util.Arrays; 4 | import javax.xml.bind.annotation.XmlEnum; 5 | import javax.xml.bind.annotation.XmlEnumValue; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Java class for CharacterHeightType. 10 | * 11 | *

The following schema fragment specifies the expected content contained within this class. 12 | * 13 | *

14 |  * <simpleType name="CharacterHeightType">
15 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
16 |  *     <enumeration value="SingleHeight"/>
17 |  *     <enumeration value="DoubleHeight"/>
18 |  *     <enumeration value="HalfHeight"/>
19 |  *   </restriction>
20 |  * </simpleType>
21 |  * 
22 | */ 23 | @XmlType(name = "CharacterHeightType") 24 | @XmlEnum 25 | public enum CharacterHeightType { 26 | 27 | /** Single height character height type. */ 28 | @XmlEnumValue("SingleHeight") 29 | SINGLE_HEIGHT("SingleHeight"), 30 | /** Double height character height type. */ 31 | @XmlEnumValue("DoubleHeight") 32 | DOUBLE_HEIGHT("DoubleHeight"), 33 | /** Half height character height type. */ 34 | @XmlEnumValue("HalfHeight") 35 | HALF_HEIGHT("HalfHeight"); 36 | private final String value; 37 | 38 | CharacterHeightType(String v) { 39 | value = v; 40 | } 41 | 42 | /** 43 | * Value string. 44 | * 45 | * @return the string 46 | */ 47 | public String value() { 48 | return value; 49 | } 50 | 51 | /** 52 | * From value character height type. 53 | * 54 | * @param v the v 55 | * @return the character height type 56 | */ 57 | public static CharacterHeightType fromValue(String v) { 58 | return Arrays.stream(values()) 59 | .filter(s -> s.value.equals(v)) 60 | .findFirst() 61 | .orElseThrow(() -> new IllegalArgumentException(v)); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/CharacterStyleType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import java.util.Arrays; 4 | import javax.xml.bind.annotation.XmlEnum; 5 | import javax.xml.bind.annotation.XmlEnumValue; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Java class for CharacterStyleType. 10 | * 11 | *

The following schema fragment specifies the expected content contained within this class. 12 | * 13 | *

14 |  * <simpleType name="CharacterStyleType">
15 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
16 |  *     <enumeration value="Normal"/>
17 |  *     <enumeration value="Bold"/>
18 |  *     <enumeration value="Italic"/>
19 |  *     <enumeration value="Underlined"/>
20 |  *   </restriction>
21 |  * </simpleType>
22 |  * 
23 | */ 24 | @XmlType(name = "CharacterStyleType") 25 | @XmlEnum 26 | public enum CharacterStyleType { 27 | 28 | /** Normal character style type. */ 29 | @XmlEnumValue("Normal") 30 | NORMAL("Normal"), 31 | /** Bold character style type. */ 32 | @XmlEnumValue("Bold") 33 | BOLD("Bold"), 34 | /** Italic character style type. */ 35 | @XmlEnumValue("Italic") 36 | ITALIC("Italic"), 37 | /** Underlined character style type. */ 38 | @XmlEnumValue("Underlined") 39 | UNDERLINED("Underlined"); 40 | private final String value; 41 | 42 | CharacterStyleType(String v) { 43 | value = v; 44 | } 45 | 46 | /** 47 | * Value string. 48 | * 49 | * @return the string 50 | */ 51 | public String value() { 52 | return value; 53 | } 54 | 55 | /** 56 | * From value character style type. 57 | * 58 | * @param v the v 59 | * @return the character style type 60 | */ 61 | public static CharacterStyleType fromValue(String v) { 62 | return Arrays.stream(values()) 63 | .filter(s -> s.value.equals(v)) 64 | .findFirst() 65 | .orElseThrow(() -> new IllegalArgumentException(v)); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/CharacterWidthType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import java.util.Arrays; 4 | import javax.xml.bind.annotation.XmlEnum; 5 | import javax.xml.bind.annotation.XmlEnumValue; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Java class for CharacterWidthType. 10 | * 11 | *

The following schema fragment specifies the expected content contained within this class. 12 | * 13 | *

14 |  * <simpleType name="CharacterWidthType">
15 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
16 |  *     <enumeration value="SingleWidth"/>
17 |  *     <enumeration value="DoubleWidth"/>
18 |  *   </restriction>
19 |  * </simpleType>
20 |  * 
21 | */ 22 | @XmlType(name = "CharacterWidthType") 23 | @XmlEnum 24 | public enum CharacterWidthType { 25 | 26 | /** Single width character width type. */ 27 | @XmlEnumValue("SingleWidth") 28 | SINGLE_WIDTH("SingleWidth"), 29 | /** Double width character width type. */ 30 | @XmlEnumValue("DoubleWidth") 31 | DOUBLE_WIDTH("DoubleWidth"); 32 | private final String value; 33 | 34 | CharacterWidthType(String v) { 35 | value = v; 36 | } 37 | 38 | /** 39 | * Value string. 40 | * 41 | * @return the string 42 | */ 43 | public String value() { 44 | return value; 45 | } 46 | 47 | /** 48 | * From value character width type. 49 | * 50 | * @param v the v 51 | * @return the character width type 52 | */ 53 | public static CharacterWidthType fromValue(String v) { 54 | return Arrays.stream(values()) 55 | .filter(s -> s.value.equals(v)) 56 | .findFirst() 57 | .orElseThrow(() -> new IllegalArgumentException(v)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/CheckTypeCodeType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import java.util.Arrays; 4 | import javax.xml.bind.annotation.XmlEnum; 5 | import javax.xml.bind.annotation.XmlEnumValue; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Java class for CheckTypeCodeType. 10 | * 11 | *

The following schema fragment specifies the expected content contained within this class. 12 | * 13 | *

14 |  * <simpleType name="CheckTypeCodeType">
15 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
16 |  *     <enumeration value="Personal"/>
17 |  *     <enumeration value="Company"/>
18 |  *   </restriction>
19 |  * </simpleType>
20 |  * 
21 | */ 22 | @XmlType(name = "CheckTypeCodeType") 23 | @XmlEnum 24 | public enum CheckTypeCodeType { 25 | 26 | /** Personal check type code type. */ 27 | @XmlEnumValue("Personal") 28 | PERSONAL("Personal"), 29 | /** Company check type code type. */ 30 | @XmlEnumValue("Company") 31 | COMPANY("Company"); 32 | private final String value; 33 | 34 | CheckTypeCodeType(String v) { 35 | value = v; 36 | } 37 | 38 | /** 39 | * Value string. 40 | * 41 | * @return the string 42 | */ 43 | public String value() { 44 | return value; 45 | } 46 | 47 | /** 48 | * From value check type code type. 49 | * 50 | * @param v the v 51 | * @return the check type code type 52 | */ 53 | public static CheckTypeCodeType fromValue(String v) { 54 | return Arrays.stream(values()) 55 | .filter(s -> s.value.equals(v)) 56 | .findFirst() 57 | .orElseThrow(() -> new IllegalArgumentException(v)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/CustomerOrderReqType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import java.util.Arrays; 5 | import javax.xml.bind.annotation.XmlEnum; 6 | import javax.xml.bind.annotation.XmlEnumValue; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Java class for CustomerOrderReqType. 11 | * 12 | *

The following schema fragment specifies the expected content contained within this class. 13 | * 14 | *

15 |  * <simpleType name="CustomerOrderReqType">
16 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
17 |  *     <enumeration value="Open"/>
18 |  *     <enumeration value="Closed"/>
19 |  *     <enumeration value="Both"/>
20 |  *   </restriction>
21 |  * </simpleType>
22 |  * 
23 | */ 24 | @XmlType(name = "CustomerOrderReqType") 25 | @XmlEnum 26 | public enum CustomerOrderReqType { 27 | 28 | /** Customer order not completed. */ 29 | @XmlEnumValue("Open") 30 | @Schema(description = "Customer order not completed.") 31 | OPEN("Open"), 32 | 33 | /** Completed customer orders. */ 34 | @XmlEnumValue("Closed") 35 | @Schema(description = "Completed customer orders.") 36 | CLOSED("Closed"), 37 | 38 | /** All type of CustomerOrder should be listed */ 39 | @XmlEnumValue("Both") 40 | @Schema(description = "All type of CustomerOrder should be listed") 41 | BOTH("Both"); 42 | private final String value; 43 | 44 | CustomerOrderReqType(String v) { 45 | value = v; 46 | } 47 | 48 | /** 49 | * Value string. 50 | * 51 | * @return the string 52 | */ 53 | public String value() { 54 | return value; 55 | } 56 | 57 | /** 58 | * From value customer order req type. 59 | * 60 | * @param v the v 61 | * @return the customer order req type 62 | */ 63 | public static CustomerOrderReqType fromValue(String v) { 64 | return Arrays.stream(values()) 65 | .filter(s -> s.value.equals(v)) 66 | .findFirst() 67 | .orElseThrow(() -> new IllegalArgumentException(v)); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/EnableServiceResponse.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Enable Service Response messageType. -- Usage: It conveys the result 11 | * of the Enable Service processing. 12 | * 13 | *

Java class for EnableServiceResponse complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="EnableServiceResponse">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="Response" type="{}Response"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "EnableServiceResponse", 32 | propOrder = {"response"}) 33 | public class EnableServiceResponse { 34 | 35 | /** The Response. */ 36 | @XmlElement(name = "Response", required = true) 37 | @Schema(description = "Result of a message request processing.") 38 | protected Response response; 39 | 40 | /** 41 | * Gets the value of the response property. 42 | * 43 | * @return possible object is {@link Response } 44 | */ 45 | public Response getResponse() { 46 | return response; 47 | } 48 | 49 | /** 50 | * Sets the value of the response property. 51 | * 52 | * @param value allowed object is {@link Response } 53 | */ 54 | public void setResponse(Response value) { 55 | this.response = value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/LogoutRequest.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Logout Request messageType. -- Usage: Empty 11 | * 12 | *

Java class for LogoutRequest complex type. 13 | * 14 | *

The following schema fragment specifies the expected content contained within this class. 15 | * 16 | *

17 |  * <complexType name="LogoutRequest">
18 |  *   <complexContent>
19 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
20 |  *       <attribute name="MaintenanceAllowed" type="{}MaintenanceAllowed" default="false" />
21 |  *     </restriction>
22 |  *   </complexContent>
23 |  * </complexType>
24 |  * 
25 | */ 26 | @XmlAccessorType(XmlAccessType.FIELD) 27 | @XmlType(name = "LogoutRequest") 28 | public class LogoutRequest { 29 | 30 | /** The Maintenance allowed. */ 31 | @XmlElement(name = "MaintenanceAllowed") 32 | @Schema( 33 | description = "Indicates that the POI terminal is able to (or have to) go to maintenance.") 34 | protected Boolean maintenanceAllowed; 35 | 36 | /** 37 | * Gets the value of the maintenanceAllowed property. 38 | * 39 | * @return possible object is {@link Boolean } 40 | */ 41 | public boolean isMaintenanceAllowed() { 42 | if (maintenanceAllowed == null) { 43 | return false; 44 | } else { 45 | return maintenanceAllowed; 46 | } 47 | } 48 | 49 | /** 50 | * Sets the value of the maintenanceAllowed property. 51 | * 52 | * @param value allowed object is {@link Boolean } 53 | */ 54 | public void setMaintenanceAllowed(Boolean value) { 55 | this.maintenanceAllowed = value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/LogoutResponse.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Logout Response messageType. -- Usage: It conveys the result of the 11 | * Logout. 12 | * 13 | *

Java class for LogoutResponse complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="LogoutResponse">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="Response" type="{}Response"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "LogoutResponse", 32 | propOrder = {"response"}) 33 | public class LogoutResponse { 34 | 35 | /** The Response. */ 36 | @XmlElement(name = "Response", required = true) 37 | @Schema(description = "Result of a message request processing.") 38 | protected Response response; 39 | 40 | /** 41 | * Gets the value of the response property. 42 | * 43 | * @return possible object is {@link Response } 44 | */ 45 | public Response getResponse() { 46 | return response; 47 | } 48 | 49 | /** 50 | * Sets the value of the response property. 51 | * 52 | * @param value allowed object is {@link Response } 53 | */ 54 | public void setResponse(Response value) { 55 | this.response = value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/LoyaltyUnitType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import java.util.Arrays; 5 | import javax.xml.bind.annotation.XmlEnum; 6 | import javax.xml.bind.annotation.XmlEnumValue; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Java class for LoyaltyUnitType. 11 | * 12 | *

The following schema fragment specifies the expected content contained within this class. 13 | * 14 | *

15 |  * <simpleType name="LoyaltyUnitType">
16 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
17 |  *     <enumeration value="Point"/>
18 |  *     <enumeration value="Monetary"/>
19 |  *   </restriction>
20 |  * </simpleType>
21 |  * 
22 | */ 23 | @XmlType(name = "LoyaltyUnitType") 24 | @XmlEnum 25 | public enum LoyaltyUnitType { 26 | 27 | /** The amount is expressed in point. */ 28 | @XmlEnumValue("Point") 29 | @Schema(description = "The amount is expressed in point.") 30 | POINT("Point"), 31 | 32 | /** The amount is expressed in a monetary value in a currency. */ 33 | @XmlEnumValue("Monetary") 34 | @Schema(description = "The amount is expressed in a monetary value in a currency.") 35 | MONETARY("Monetary"); 36 | private final String value; 37 | 38 | LoyaltyUnitType(String v) { 39 | value = v; 40 | } 41 | 42 | /** 43 | * Value string. 44 | * 45 | * @return the string 46 | */ 47 | public String value() { 48 | return value; 49 | } 50 | 51 | /** 52 | * From value loyalty unit type. 53 | * 54 | * @param v the v 55 | * @return the loyalty unit type 56 | */ 57 | public static LoyaltyUnitType fromValue(String v) { 58 | return Arrays.stream(values()) 59 | .filter(s -> s.value.equals(v)) 60 | .findFirst() 61 | .orElseThrow(() -> new IllegalArgumentException(v)); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/PINFormatType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import java.util.Arrays; 5 | import javax.xml.bind.annotation.XmlEnum; 6 | import javax.xml.bind.annotation.XmlEnumValue; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Java class for PINFormatType. 11 | * 12 | *

The following schema fragment specifies the expected content contained within this class. 13 | * 14 | *

15 |  * <simpleType name="PINFormatType">
16 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
17 |  *     <enumeration value="ISO0"/>
18 |  *     <enumeration value="ISO1"/>
19 |  *     <enumeration value="ISO2"/>
20 |  *     <enumeration value="ISO3"/>
21 |  *   </restriction>
22 |  * </simpleType>
23 |  * 
24 | */ 25 | @XmlType(name = "PINFormatType") 26 | @XmlEnum 27 | public enum PINFormatType { 28 | 29 | /** ISO 0 */ 30 | @XmlEnumValue("ISO0") 31 | @Schema(description = "ISO 0") 32 | ISO_0("ISO0"), 33 | 34 | /** ISO 1 */ 35 | @XmlEnumValue("ISO1") 36 | @Schema(description = "ISO 1") 37 | ISO_1("ISO1"), 38 | 39 | /** ISO 2 */ 40 | @XmlEnumValue("ISO2") 41 | @Schema(description = "ISO 2") 42 | ISO_2("ISO2"), 43 | 44 | /** ISO 3 */ 45 | @XmlEnumValue("ISO3") 46 | @Schema(description = "ISO 3") 47 | ISO_3("ISO3"); 48 | private final String value; 49 | 50 | PINFormatType(String v) { 51 | value = v; 52 | } 53 | 54 | /** 55 | * Value string. 56 | * 57 | * @return the string 58 | */ 59 | public String value() { 60 | return value; 61 | } 62 | 63 | /** 64 | * From value pin format type. 65 | * 66 | * @param v the v 67 | * @return the pin format type 68 | */ 69 | public static PINFormatType fromValue(String v) { 70 | return Arrays.stream(values()) 71 | .filter(s -> s.value.equals(v)) 72 | .findFirst() 73 | .orElseThrow(() -> new IllegalArgumentException(v)); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/Parameter.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import javax.xml.bind.annotation.XmlAccessType; 4 | import javax.xml.bind.annotation.XmlAccessorType; 5 | import javax.xml.bind.annotation.XmlElement; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Definition: Parameters associated to a cryptographic algorithm -- Reference: RFC 3880: Internet 10 | * X.509 Public Key Infrastructure Certificate and Certificate 11 | * 12 | *

Java class for Parameter complex type. 13 | * 14 | *

The following schema fragment specifies the expected content contained within this class. 15 | * 16 | *

17 |  * <complexType name="Parameter">
18 |  *   <complexContent>
19 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
20 |  *       <attribute name="InitialisationVector" type="{}InitialisationVector" />
21 |  *     </restriction>
22 |  *   </complexContent>
23 |  * </complexType>
24 |  * 
25 | */ 26 | @XmlAccessorType(XmlAccessType.FIELD) 27 | @XmlType(name = "Parameter") 28 | public class Parameter { 29 | 30 | /** The Initialisation vector. */ 31 | @XmlElement(name = "InitialisationVector") 32 | protected byte[] initialisationVector; 33 | 34 | /** 35 | * Gets the value of the initialisationVector property. 36 | * 37 | * @return possible object is byte[] 38 | */ 39 | public byte[] getInitialisationVector() { 40 | return initialisationVector; 41 | } 42 | 43 | /** 44 | * Sets the value of the initialisationVector property. 45 | * 46 | * @param value allowed object is byte[] 47 | */ 48 | public void setInitialisationVector(byte[] value) { 49 | this.initialisationVector = value; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/PrintRequest.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Print Request messageType. -- Usage: It conveys the data to print and 11 | * the way to process the print. It contains the complete content to print. 12 | * 13 | *

Java class for PrintRequest complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="PrintRequest">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="PrintOutput" type="{}PrintOutput"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "PrintRequest", 32 | propOrder = {"printOutput"}) 33 | public class PrintRequest { 34 | 35 | /** The Print output. */ 36 | @XmlElement(name = "PrintOutput", required = true) 37 | @Schema(description = "Information to print and the way to process the print.") 38 | protected PrintOutput printOutput; 39 | 40 | /** 41 | * Gets the value of the printOutput property. 42 | * 43 | * @return possible object is {@link PrintOutput } 44 | */ 45 | public PrintOutput getPrintOutput() { 46 | return printOutput; 47 | } 48 | 49 | /** 50 | * Sets the value of the printOutput property. 51 | * 52 | * @param value allowed object is {@link PrintOutput } 53 | */ 54 | public void setPrintOutput(PrintOutput value) { 55 | this.printOutput = value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/SaleToIssuerData.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Sale information intended for the Issuer. -- Usage: The POI System receives this 11 | * information and sends it to the Acquirer for the Issuer without any change. 12 | * 13 | *

Java class for SaleToIssuerData complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="SaleToIssuerData">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="StatementReference" type="{}StatementReference" minOccurs="0"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "SaleToIssuerData", 32 | propOrder = {"statementReference"}) 33 | public class SaleToIssuerData { 34 | 35 | /** The Statement reference. */ 36 | @XmlElement(name = "StatementReference") 37 | @Schema( 38 | description = 39 | "Label to print on the bank statement. --Rule: Information to print on the bank statement") 40 | protected String statementReference; 41 | 42 | /** 43 | * Gets the value of the statementReference property. 44 | * 45 | * @return possible object is {@link String } 46 | */ 47 | public String getStatementReference() { 48 | return statementReference; 49 | } 50 | 51 | /** 52 | * Sets the value of the statementReference property. 53 | * 54 | * @param value allowed object is {@link String } 55 | */ 56 | public void setStatementReference(String value) { 57 | this.statementReference = value; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/SignerIdentifier.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import javax.xml.bind.annotation.XmlAccessType; 4 | import javax.xml.bind.annotation.XmlAccessorType; 5 | import javax.xml.bind.annotation.XmlElement; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Definition: Cryptographic Message Syntax (CMS) data structure containing the Signer Identifier -- 10 | * Reference: RFC 3852: Cryptographic Message Syntax (CMS) -- Usage: This data structure contains: 11 | * the issuer name (see X.501-88) the certificate serial number (see X.509-97) 12 | * 13 | *

Java class for SignerIdentifier complex type. 14 | * 15 | *

The following schema fragment specifies the expected content contained within this class. 16 | * 17 | *

18 |  * <complexType name="SignerIdentifier">
19 |  *   <complexContent>
20 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
21 |  *       <sequence>
22 |  *         <element name="IssuerAndSerialNumber" type="{}IssuerAndSerialNumber"/>
23 |  *       </sequence>
24 |  *     </restriction>
25 |  *   </complexContent>
26 |  * </complexType>
27 |  * 
28 | */ 29 | @XmlAccessorType(XmlAccessType.FIELD) 30 | @XmlType( 31 | name = "SignerIdentifier", 32 | propOrder = {"issuerAndSerialNumber"}) 33 | public class SignerIdentifier { 34 | 35 | /** The Issuer and serial number. */ 36 | @XmlElement(name = "IssuerAndSerialNumber", required = true) 37 | protected IssuerAndSerialNumber issuerAndSerialNumber; 38 | 39 | /** 40 | * Gets the value of the issuerAndSerialNumber property. 41 | * 42 | * @return possible object is {@link IssuerAndSerialNumber } 43 | */ 44 | public IssuerAndSerialNumber getIssuerAndSerialNumber() { 45 | return issuerAndSerialNumber; 46 | } 47 | 48 | /** 49 | * Sets the value of the issuerAndSerialNumber property. 50 | * 51 | * @param value allowed object is {@link IssuerAndSerialNumber } 52 | */ 53 | public void setIssuerAndSerialNumber(IssuerAndSerialNumber value) { 54 | this.issuerAndSerialNumber = value; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/SoundFormatType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import java.util.Arrays; 5 | import javax.xml.bind.annotation.XmlEnum; 6 | import javax.xml.bind.annotation.XmlEnumValue; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Java class for SoundFormatType. 11 | * 12 | *

The following schema fragment specifies the expected content contained within this class. 13 | * 14 | *

15 |  * <simpleType name="SoundFormatType">
16 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
17 |  *     <enumeration value="SoundRef"/>
18 |  *     <enumeration value="MessageRef"/>
19 |  *     <enumeration value="Text"/>
20 |  *   </restriction>
21 |  * </simpleType>
22 |  * 
23 | */ 24 | @XmlType(name = "SoundFormatType") 25 | @XmlEnum 26 | public enum SoundFormatType { 27 | 28 | /** Preloaded sound File. */ 29 | @XmlEnumValue("SoundRef") 30 | @Schema(description = "Preloaded sound File.") 31 | SOUND_REF("SoundRef"), 32 | 33 | /** Reference of a preloaded text to play. */ 34 | @XmlEnumValue("MessageRef") 35 | @Schema(description = "Reference of a preloaded text to play.") 36 | MESSAGE_REF("MessageRef"), 37 | 38 | /** Text to play. */ 39 | @XmlEnumValue("Text") 40 | @Schema(description = "Text to play.") 41 | TEXT("Text"); 42 | private final String value; 43 | 44 | SoundFormatType(String v) { 45 | value = v; 46 | } 47 | 48 | /** 49 | * Value string. 50 | * 51 | * @return the string 52 | */ 53 | public String value() { 54 | return value; 55 | } 56 | 57 | /** 58 | * From value sound format type. 59 | * 60 | * @param v the v 61 | * @return the sound format type 62 | */ 63 | public static SoundFormatType fromValue(String v) { 64 | return Arrays.stream(values()) 65 | .filter(s -> s.value.equals(v)) 66 | .findFirst() 67 | .orElseThrow(() -> new IllegalArgumentException(v)); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/SoundResponse.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import javax.xml.bind.annotation.XmlAccessType; 5 | import javax.xml.bind.annotation.XmlAccessorType; 6 | import javax.xml.bind.annotation.XmlElement; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Definition: Content of the Sound Response messageType. -- Usage: It conveys the result of the 11 | * Sound request. The response may be absent, at the beginning of the processing, or at the end of 12 | * the processing. 13 | * 14 | *

Java class for SoundResponse complex type. 15 | * 16 | *

The following schema fragment specifies the expected content contained within this class. 17 | * 18 | *

19 |  * <complexType name="SoundResponse">
20 |  *   <complexContent>
21 |  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
22 |  *       <sequence>
23 |  *         <element name="Response" type="{}Response"/>
24 |  *       </sequence>
25 |  *     </restriction>
26 |  *   </complexContent>
27 |  * </complexType>
28 |  * 
29 | */ 30 | @XmlAccessorType(XmlAccessType.FIELD) 31 | @XmlType( 32 | name = "SoundResponse", 33 | propOrder = {"response"}) 34 | public class SoundResponse { 35 | 36 | /** The Response. */ 37 | @XmlElement(name = "Response", required = true) 38 | @Schema(description = "Result of a message request processing.") 39 | protected Response response; 40 | 41 | /** 42 | * Gets the value of the response property. 43 | * 44 | * @return possible object is {@link Response } 45 | */ 46 | public Response getResponse() { 47 | return response; 48 | } 49 | 50 | /** 51 | * Sets the value of the response property. 52 | * 53 | * @param value allowed object is {@link Response } 54 | */ 55 | public void setResponse(Response value) { 56 | this.response = value; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/TokenRequestedType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import java.util.Arrays; 5 | import javax.xml.bind.annotation.XmlEnum; 6 | import javax.xml.bind.annotation.XmlEnumValue; 7 | import javax.xml.bind.annotation.XmlType; 8 | 9 | /** 10 | * Java class for TokenRequestedType. 11 | * 12 | *

The following schema fragment specifies the expected content contained within this class. 13 | * 14 | *

15 |  * <simpleType name="TokenRequestedType">
16 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
17 |  *     <enumeration value="Transaction"/>
18 |  *     <enumeration value="Customer"/>
19 |  *   </restriction>
20 |  * </simpleType>
21 |  * 
22 | */ 23 | @XmlType(name = "TokenRequestedType") 24 | @XmlEnum 25 | public enum TokenRequestedType { 26 | 27 | /** The token is generated to recognise a customer during the time of a transaction. */ 28 | @XmlEnumValue("Transaction") 29 | @Schema( 30 | description = 31 | "The token is generated to recognise a customer during the time of a transaction.") 32 | TRANSACTION("Transaction"), 33 | 34 | /** The token is generated to recognise a customer for a longer period. */ 35 | @XmlEnumValue("Customer") 36 | @Schema(description = "The token is generated to recognise a customer for a longer period.") 37 | CUSTOMER("Customer"); 38 | private final String value; 39 | 40 | TokenRequestedType(String v) { 41 | value = v; 42 | } 43 | 44 | /** 45 | * Value string. 46 | * 47 | * @return the string 48 | */ 49 | public String value() { 50 | return value; 51 | } 52 | 53 | /** 54 | * From value token requested type. 55 | * 56 | * @param v the v 57 | * @return the token requested type 58 | */ 59 | public static TokenRequestedType fromValue(String v) { 60 | return Arrays.stream(values()) 61 | .filter(s -> s.value.equals(v)) 62 | .findFirst() 63 | .orElseThrow(() -> new IllegalArgumentException(v)); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/nexo/VersionType.java: -------------------------------------------------------------------------------- 1 | package com.adyen.model.nexo; 2 | 3 | import java.util.Arrays; 4 | import javax.xml.bind.annotation.XmlEnum; 5 | import javax.xml.bind.annotation.XmlEnumValue; 6 | import javax.xml.bind.annotation.XmlType; 7 | 8 | /** 9 | * Java class for VersionType. 10 | * 11 | *

The following schema fragment specifies the expected content contained within this class. 12 | * 13 | *

14 |  * <simpleType name="VersionType">
15 |  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
16 |  *     <enumeration value="v0"/>
17 |  *     <enumeration value="v1"/>
18 |  *     <enumeration value="v2"/>
19 |  *     <enumeration value="v3"/>
20 |  *     <enumeration value="v4"/>
21 |  *     <enumeration value="v5"/>
22 |  *   </restriction>
23 |  * </simpleType>
24 |  * 
25 | */ 26 | @XmlType(name = "VersionType") 27 | @XmlEnum 28 | public enum VersionType { 29 | 30 | /** Version 0 */ 31 | @XmlEnumValue("v0") 32 | V_0("v0"), 33 | 34 | /** Version 1 */ 35 | @XmlEnumValue("v1") 36 | V_1("v1"), 37 | 38 | /** Version 2 */ 39 | @XmlEnumValue("v2") 40 | V_2("v2"), 41 | 42 | /** Version 3 */ 43 | @XmlEnumValue("v3") 44 | V_3("v3"), 45 | 46 | /** Version 4 */ 47 | @XmlEnumValue("v4") 48 | V_4("v4"), 49 | 50 | /** Version 5 */ 51 | @XmlEnumValue("v5") 52 | V_5("v5"); 53 | private final String value; 54 | 55 | VersionType(String v) { 56 | value = v; 57 | } 58 | 59 | /** 60 | * Value string. 61 | * 62 | * @return the string 63 | */ 64 | public String value() { 65 | return value; 66 | } 67 | 68 | /** 69 | * From value version type. 70 | * 71 | * @param v the v 72 | * @return the version type 73 | */ 74 | public static VersionType fromValue(String v) { 75 | return Arrays.stream(values()) 76 | .filter(s -> s.value.equals(v)) 77 | .findFirst() 78 | .orElseThrow(() -> new IllegalArgumentException(v)); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/notification/NotificationRequestItemContainer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * ###### ###### ############ ####( ###### #####. ###### ############ ############ ############# 3 | * #####( ###### #####. ###### ############# ############# ###### #####( ###### #####. ###### ##### 4 | * ###### ##### ###### ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### ###### 5 | * ###### #####( ###### #####. ###### ##### ##### ###### ############# ############# ############# 6 | * ############# ##### ###### ############ ############ ############# ############ ##### ###### 7 | * ###### ############# ############ 8 | * 9 | *

Adyen Java API Library 10 | * 11 | *

Copyright (c) 2017 Adyen B.V. This file is open source and available under the MIT license. 12 | * See the LICENSE file for more info. 13 | */ 14 | package com.adyen.model.notification; 15 | 16 | import static com.adyen.util.Util.toIndentedString; 17 | 18 | import com.fasterxml.jackson.annotation.JsonProperty; 19 | import com.google.gson.annotations.SerializedName; 20 | 21 | /** Container for NotificationRequestItem */ 22 | public class NotificationRequestItemContainer { 23 | @SerializedName("NotificationRequestItem") 24 | private NotificationRequestItem notificationItem = null; 25 | 26 | @JsonProperty("NotificationRequestItem") 27 | public NotificationRequestItem getNotificationItem() { 28 | return notificationItem; 29 | } 30 | 31 | @JsonProperty("NotificationRequestItem") 32 | public void setNotificationItem(NotificationRequestItem notificationItem) { 33 | this.notificationItem = notificationItem; 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | StringBuilder sb = new StringBuilder(); 39 | sb.append("class NotificationRequestItemContainer {\n"); 40 | 41 | sb.append(" notificationItem: ").append(toIndentedString(notificationItem)).append("\n"); 42 | sb.append("}"); 43 | return sb.toString(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/sessionauthentication/ProductType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Session authentication API 3 | * 4 | * The version of the OpenAPI document: 1 5 | * 6 | * 7 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 8 | * https://openapi-generator.tech 9 | * Do not edit the class manually. 10 | */ 11 | 12 | package com.adyen.model.sessionauthentication; 13 | 14 | import com.fasterxml.jackson.annotation.JsonCreator; 15 | import com.fasterxml.jackson.annotation.JsonValue; 16 | 17 | /** Gets or Sets ProductType */ 18 | public enum ProductType { 19 | ONBOARDING("onboarding"), 20 | 21 | PLATFORM("platform"); 22 | 23 | private String value; 24 | 25 | ProductType(String value) { 26 | this.value = value; 27 | } 28 | 29 | @JsonValue 30 | public String getValue() { 31 | return value; 32 | } 33 | 34 | @Override 35 | public String toString() { 36 | return String.valueOf(value); 37 | } 38 | 39 | @JsonCreator 40 | public static ProductType fromValue(String value) { 41 | for (ProductType b : ProductType.values()) { 42 | if (b.value.equals(value)) { 43 | return b; 44 | } 45 | } 46 | throw new IllegalArgumentException("Unexpected value '" + value + "'"); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/model/sessionauthentication/ResourceType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Session authentication API 3 | * 4 | * The version of the OpenAPI document: 1 5 | * 6 | * 7 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 8 | * https://openapi-generator.tech 9 | * Do not edit the class manually. 10 | */ 11 | 12 | package com.adyen.model.sessionauthentication; 13 | 14 | import com.fasterxml.jackson.annotation.JsonCreator; 15 | import com.fasterxml.jackson.annotation.JsonValue; 16 | 17 | /** Gets or Sets ResourceType */ 18 | public enum ResourceType { 19 | LEGALENTITY("legalEntity"), 20 | 21 | BALANCEACCOUNT("balanceAccount"), 22 | 23 | ACCOUNTHOLDER("accountHolder"), 24 | 25 | MERCHANTACCOUNT("merchantAccount"), 26 | 27 | PAYMENTINSTRUMENT("paymentInstrument"); 28 | 29 | private String value; 30 | 31 | ResourceType(String value) { 32 | this.value = value; 33 | } 34 | 35 | @JsonValue 36 | public String getValue() { 37 | return value; 38 | } 39 | 40 | @Override 41 | public String toString() { 42 | return String.valueOf(value); 43 | } 44 | 45 | @JsonCreator 46 | public static ResourceType fromValue(String value) { 47 | for (ResourceType b : ResourceType.values()) { 48 | if (b.value.equals(value)) { 49 | return b; 50 | } 51 | } 52 | throw new IllegalArgumentException("Unexpected value '" + value + "'"); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/ByteArrayDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.adyen.serializer; 2 | 3 | import com.fasterxml.jackson.core.JacksonException; 4 | import com.fasterxml.jackson.core.JsonParser; 5 | import com.fasterxml.jackson.databind.DeserializationContext; 6 | import com.fasterxml.jackson.databind.deser.std.StdDeserializer; 7 | import java.io.IOException; 8 | import java.nio.charset.StandardCharsets; 9 | 10 | public class ByteArrayDeserializer extends StdDeserializer { 11 | public ByteArrayDeserializer() { 12 | super(byte[].class); 13 | } 14 | 15 | @Override 16 | public byte[] deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) 17 | throws IOException, JacksonException { 18 | return jsonParser.getValueAsString().getBytes(StandardCharsets.UTF_8); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/ByteArraySerializer.java: -------------------------------------------------------------------------------- 1 | package com.adyen.serializer; 2 | 3 | import com.fasterxml.jackson.core.JsonGenerator; 4 | import com.fasterxml.jackson.databind.SerializerProvider; 5 | import com.fasterxml.jackson.databind.ser.std.StdSerializer; 6 | import java.io.IOException; 7 | 8 | public class ByteArraySerializer extends StdSerializer { 9 | public ByteArraySerializer() { 10 | super(byte[].class); 11 | } 12 | 13 | @Override 14 | public void serialize( 15 | byte[] bytes, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) 16 | throws IOException { 17 | String yourReadableString = new String(bytes); 18 | jsonGenerator.writeString(yourReadableString); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/ByteArrayToStringAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | 22 | package com.adyen.serializer; 23 | 24 | import com.google.gson.JsonDeserializationContext; 25 | import com.google.gson.JsonDeserializer; 26 | import com.google.gson.JsonElement; 27 | import com.google.gson.JsonParseException; 28 | import com.google.gson.JsonPrimitive; 29 | import com.google.gson.JsonSerializationContext; 30 | import com.google.gson.JsonSerializer; 31 | import java.lang.reflect.Type; 32 | 33 | public class ByteArrayToStringAdapter implements JsonSerializer, JsonDeserializer { 34 | public byte[] deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) 35 | throws JsonParseException { 36 | return json.getAsString().getBytes(); 37 | } 38 | 39 | public JsonElement serialize(byte[] src, Type typeOfSrc, JsonSerializationContext context) { 40 | return new JsonPrimitive(new String(src)); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/DateSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.serializer; 22 | 23 | import com.google.gson.JsonElement; 24 | import com.google.gson.JsonPrimitive; 25 | import com.google.gson.JsonSerializationContext; 26 | import com.google.gson.JsonSerializer; 27 | import java.lang.reflect.Type; 28 | import java.text.SimpleDateFormat; 29 | import java.util.Date; 30 | import java.util.Locale; 31 | import java.util.TimeZone; 32 | 33 | public class DateSerializer implements JsonSerializer { 34 | public static final String DATE_FORMAT = "yyyy-MM-dd"; 35 | 36 | @Override 37 | public JsonElement serialize(Date date, Type typeOfSrc, JsonSerializationContext context) { 38 | SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT, Locale.ENGLISH); 39 | formatter.setTimeZone(TimeZone.getTimeZone("GMT")); 40 | return new JsonPrimitive(formatter.format(date)); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/DateTimeGMTSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.serializer; 22 | 23 | import com.google.gson.JsonElement; 24 | import com.google.gson.JsonPrimitive; 25 | import com.google.gson.JsonSerializationContext; 26 | import com.google.gson.JsonSerializer; 27 | import java.lang.reflect.Type; 28 | import java.text.SimpleDateFormat; 29 | import java.util.Date; 30 | import java.util.Locale; 31 | import java.util.TimeZone; 32 | 33 | public class DateTimeGMTSerializer implements JsonSerializer { 34 | public static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; 35 | 36 | /** Format to ISO 8601 format: YYYY-MM-DDTHH:mm:ss.sssZ */ 37 | @Override 38 | public JsonElement serialize(Date date, Type typeOfSrc, JsonSerializationContext context) { 39 | SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT, Locale.ENGLISH); 40 | formatter.setTimeZone(TimeZone.getTimeZone("GMT")); 41 | return new JsonPrimitive(formatter.format(date)); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/DateTimeISO8601Serializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.serializer; 22 | 23 | import com.google.gson.JsonElement; 24 | import com.google.gson.JsonPrimitive; 25 | import com.google.gson.JsonSerializationContext; 26 | import com.google.gson.JsonSerializer; 27 | import java.lang.reflect.Type; 28 | import java.text.SimpleDateFormat; 29 | import java.util.Date; 30 | import java.util.Locale; 31 | import java.util.TimeZone; 32 | 33 | public class DateTimeISO8601Serializer implements JsonSerializer { 34 | public static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ssXXX"; 35 | 36 | /** Format to ISO 8601 format: YYYY-MM-DDThh:mm:ssTZD */ 37 | @Override 38 | public JsonElement serialize(Date date, Type typeOfSrc, JsonSerializationContext context) { 39 | SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT, Locale.ENGLISH); 40 | formatter.setTimeZone(TimeZone.getDefault()); 41 | return new JsonPrimitive(formatter.format(date)); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/serializer/SaleToAcquirerDataSerializer.java: -------------------------------------------------------------------------------- 1 | package com.adyen.serializer; 2 | 3 | import com.adyen.model.terminal.SaleToAcquirerData; 4 | import com.google.gson.JsonDeserializationContext; 5 | import com.google.gson.JsonDeserializer; 6 | import com.google.gson.JsonElement; 7 | import com.google.gson.JsonParseException; 8 | import com.google.gson.JsonPrimitive; 9 | import com.google.gson.JsonSerializationContext; 10 | import com.google.gson.JsonSerializer; 11 | import java.lang.reflect.Type; 12 | 13 | public class SaleToAcquirerDataSerializer 14 | implements JsonSerializer, JsonDeserializer { 15 | 16 | @Override 17 | public JsonElement serialize( 18 | SaleToAcquirerData saleToAcquirerData, Type typeOfSrc, JsonSerializationContext context) { 19 | return new JsonPrimitive(saleToAcquirerData.toBase64()); 20 | } 21 | 22 | @Override 23 | public SaleToAcquirerData deserialize( 24 | JsonElement json, Type typeOfT, JsonDeserializationContext context) 25 | throws JsonParseException { 26 | return SaleToAcquirerData.fromBase64(json.getAsString()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/service/resource/terminal/cloud/Async.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.service.resource.terminal.cloud; 22 | 23 | import com.adyen.Service; 24 | import com.adyen.service.resource.Resource; 25 | 26 | public class Async extends Resource { 27 | public Async(Service service) { 28 | super(service, service.getClient().getConfig().getTerminalApiCloudEndpoint() + "/async", null); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/service/resource/terminal/cloud/ConnectedTerminals.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.service.resource.terminal.cloud; 22 | 23 | import com.adyen.Service; 24 | import com.adyen.service.resource.Resource; 25 | import java.util.Collections; 26 | 27 | public class ConnectedTerminals extends Resource { 28 | public ConnectedTerminals(Service service) { 29 | super( 30 | service, 31 | service.getClient().getConfig().getTerminalApiCloudEndpoint() + "/connectedTerminals", 32 | Collections.singletonList("merchantAccount")); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/service/resource/terminal/cloud/Sync.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.service.resource.terminal.cloud; 22 | 23 | import com.adyen.Service; 24 | import com.adyen.service.resource.Resource; 25 | 26 | public class Sync extends Resource { 27 | public Sync(Service service) { 28 | super(service, service.getClient().getConfig().getTerminalApiCloudEndpoint() + "/sync", null); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/service/resource/terminal/local/LocalRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | 22 | package com.adyen.service.resource.terminal.local; 23 | 24 | import com.adyen.Service; 25 | import com.adyen.service.resource.Resource; 26 | 27 | public class LocalRequest extends Resource { 28 | public LocalRequest(Service service) { 29 | super( 30 | service, 31 | service.getClient().getConfig().getTerminalApiLocalEndpoint() + ":8443/nexo/", 32 | null); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/terminal/security/exception/NexoCryptoException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.terminal.security.exception; 22 | 23 | /** API Exception class */ 24 | public class NexoCryptoException extends Exception { 25 | public NexoCryptoException(String message) { 26 | super(message); 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | return "NexoCryptoException{message=" + getMessage() + '}'; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/terminal/serialization/ByteArrayToBase64TypeAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | 22 | package com.adyen.terminal.serialization; 23 | 24 | import com.google.gson.JsonDeserializationContext; 25 | import com.google.gson.JsonDeserializer; 26 | import com.google.gson.JsonElement; 27 | import com.google.gson.JsonParseException; 28 | import com.google.gson.JsonPrimitive; 29 | import com.google.gson.JsonSerializationContext; 30 | import com.google.gson.JsonSerializer; 31 | import java.lang.reflect.Type; 32 | import org.apache.commons.codec.binary.Base64; 33 | 34 | public class ByteArrayToBase64TypeAdapter 35 | implements JsonSerializer, JsonDeserializer { 36 | public byte[] deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) 37 | throws JsonParseException { 38 | return Base64.decodeBase64(json.getAsString().getBytes()); 39 | } 40 | 41 | public JsonElement serialize(byte[] src, Type typeOfSrc, JsonSerializationContext context) { 42 | return new JsonPrimitive(new String(Base64.encodeBase64(src))); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/adyen/terminal/serialization/XMLEnumAdapterFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2019 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | 22 | package com.adyen.terminal.serialization; 23 | 24 | import com.google.gson.Gson; 25 | import com.google.gson.TypeAdapter; 26 | import com.google.gson.TypeAdapterFactory; 27 | import com.google.gson.reflect.TypeToken; 28 | 29 | public class XMLEnumAdapterFactory implements TypeAdapterFactory { 30 | @Override 31 | public TypeAdapter create(final Gson gson, final TypeToken type) { 32 | Class rawType = type.getRawType(); 33 | if (rawType.isEnum()) { 34 | return new XMLEnumTypeAdapter<>(rawType); 35 | } 36 | return null; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/ApplicationInfoTest.java: -------------------------------------------------------------------------------- 1 | package com.adyen; 2 | 3 | import static com.adyen.Client.LIB_NAME; 4 | import static com.adyen.Client.LIB_VERSION; 5 | import static org.junit.Assert.assertEquals; 6 | import static org.junit.Assert.assertNotNull; 7 | 8 | import com.adyen.model.applicationinfo.ApplicationInfo; 9 | import org.junit.Test; 10 | 11 | public class ApplicationInfoTest { 12 | 13 | @Test 14 | public void TestApplicationInfoEquals() { 15 | ApplicationInfo applicationInfo = new ApplicationInfo(); 16 | ApplicationInfo applicationInfo2 = new ApplicationInfo(); 17 | 18 | assertEquals(applicationInfo, applicationInfo2); 19 | } 20 | 21 | @Test 22 | public void TestApplicationInfoPrefilledLibraryFields() { 23 | ApplicationInfo applicationInfo = new ApplicationInfo(); 24 | 25 | assertNotNull(applicationInfo.getAdyenLibrary()); 26 | assertNotNull(applicationInfo.getAdyenLibrary().getName()); 27 | assertEquals(LIB_NAME, applicationInfo.getAdyenLibrary().getName()); 28 | assertNotNull(applicationInfo.getAdyenLibrary().getVersion()); 29 | assertEquals(LIB_VERSION, applicationInfo.getAdyenLibrary().getVersion()); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/BalanceControlTest.java: -------------------------------------------------------------------------------- 1 | package com.adyen; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | import static org.mockito.Mockito.verify; 5 | 6 | import com.adyen.constants.ApiConstants; 7 | import com.adyen.httpclient.HTTPClientException; 8 | import com.adyen.model.balancecontrol.BalanceTransferRequest; 9 | import com.adyen.model.balancecontrol.BalanceTransferResponse; 10 | import com.adyen.service.balancecontrol.BalanceControlApi; 11 | import com.adyen.service.exception.ApiException; 12 | import java.io.IOException; 13 | import java.time.OffsetDateTime; 14 | import org.junit.Test; 15 | 16 | public class BalanceControlTest extends BaseTest { 17 | 18 | @Test 19 | public void TestBalanceControlApi() throws IOException, ApiException, HTTPClientException { 20 | Client client = createMockClientFromFile("mocks/smallendpoints/balance-control.json"); 21 | BalanceControlApi service = new BalanceControlApi(client); 22 | BalanceTransferResponse response = service.balanceTransfer(new BalanceTransferRequest()); 23 | 24 | verify(client.getHttpClient()) 25 | .request( 26 | "https://pal-test.adyen.com/pal/servlet/BalanceControl/v1/balanceTransfer", 27 | "{}", 28 | client.getConfig(), 29 | false, 30 | null, 31 | ApiConstants.HttpMethod.POST, 32 | null); 33 | assertEquals(response.getStatus(), BalanceTransferResponse.StatusEnum.TRANSFERRED); 34 | assertEquals(response.getCreatedAt(), OffsetDateTime.parse("2022-01-24T14:59:11+01:00")); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/ErrorHandlingTest.java: -------------------------------------------------------------------------------- 1 | package com.adyen; 2 | 3 | import com.adyen.enums.Environment; 4 | import com.adyen.model.management.CreateAllowedOriginRequest; 5 | import com.adyen.service.checkout.PaymentLinksApi; 6 | import com.adyen.service.exception.ApiException; 7 | import com.adyen.service.management.MyApiCredentialApi; 8 | import java.io.IOException; 9 | import org.junit.Assert; 10 | import org.junit.Ignore; 11 | import org.junit.Test; 12 | 13 | public class ErrorHandlingTest extends BaseTest { 14 | @Test 15 | @Ignore("Integration test") 16 | public void addAllowedOriginFail() throws IOException, ApiException { 17 | Client client = new Client(System.getenv("API_KEY"), Environment.TEST); 18 | MyApiCredentialApi service = new MyApiCredentialApi(client); 19 | 20 | CreateAllowedOriginRequest createAllowedOriginRequest = new CreateAllowedOriginRequest(); 21 | createAllowedOriginRequest.setDomain("https://google.com"); 22 | try { 23 | service.addAllowedOrigin(createAllowedOriginRequest); 24 | } catch (ApiException e) { 25 | Assert.assertTrue( 26 | e.getResponseBody().contains("Invalid allowed origin information provided.")); 27 | } 28 | } 29 | 30 | @Test 31 | @Ignore("Integration test") 32 | public void CheckoutErrorTest() throws IOException, ApiException { 33 | Client client = new Client(System.getenv("API_KEY"), Environment.TEST); 34 | PaymentLinksApi service = new PaymentLinksApi(client); 35 | try { 36 | service.getPaymentLink("1234"); 37 | } catch (ApiException e) { 38 | Assert.assertTrue(e.getResponseBody().contains("Invalid payment link ID")); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/RegionTest.java: -------------------------------------------------------------------------------- 1 | package com.adyen; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | 5 | import com.adyen.enums.Region; 6 | import java.util.List; 7 | import java.util.Map; 8 | import java.util.stream.Collectors; 9 | import org.junit.Test; 10 | 11 | public class RegionTest { 12 | @Test 13 | public void testValidRegions() { 14 | List VALID_REGIONS = List.of(Region.values()); 15 | 16 | // Convert Regions.VALID_REGIONS to lowercase strings for comparison 17 | List actual = 18 | VALID_REGIONS.stream() 19 | .map(region -> region.name().toLowerCase()) 20 | .collect(Collectors.toList()); 21 | 22 | // Define the expected list of valid regions 23 | List expected = List.of("eu", "au", "us", "in", "apse"); 24 | 25 | // Assert that the VALID_REGIONS in Region matches the expected list 26 | assertEquals(expected, actual); 27 | } 28 | 29 | @Test 30 | public void testTerminalApiEndpointsMapping() { 31 | // Convert TERMINAL_API_ENDPOINTS_MAPPING keys to lowercase strings for comparison 32 | Map actual = 33 | Region.TERMINAL_API_ENDPOINTS_MAPPING.entrySet().stream() 34 | .collect( 35 | Collectors.toMap( 36 | entry -> 37 | entry 38 | .getKey() 39 | .name() 40 | .toLowerCase(), // Convert key (Region enum) to lowercase 41 | Map.Entry::getValue)); 42 | 43 | // Define the expected map of region to endpoint mappings 44 | Map expected = 45 | Map.of( 46 | "eu", "https://terminal-api-live.adyen.com", 47 | "au", "https://terminal-api-live-au.adyen.com", 48 | "us", "https://terminal-api-live-us.adyen.com", 49 | "apse", "https://terminal-api-live-apse.adyen.com"); 50 | 51 | // Assert that the TERMINAL_API_ENDPOINTS_MAPPING in Region matches the expected map 52 | assertEquals(expected, actual); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/SessionAuthenticationTest.java: -------------------------------------------------------------------------------- 1 | package com.adyen; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | import static org.mockito.Mockito.verify; 5 | 6 | import com.adyen.constants.ApiConstants; 7 | import com.adyen.model.sessionauthentication.*; 8 | import com.adyen.service.sessionauthentication.SessionAuthenticationApi; 9 | import java.util.Set; 10 | import org.junit.Test; 11 | 12 | public class SessionAuthenticationTest extends BaseTest { 13 | 14 | @Test 15 | public void createAuthenticationSessionTest() throws Exception { 16 | Client client = 17 | createMockClientFromFile( 18 | "mocks/sessionauthentication/response/SessionAuthenticationCreated.json"); 19 | SessionAuthenticationApi sessionAuthenticationApi = new SessionAuthenticationApi(client); 20 | AuthenticationSessionRequest request = 21 | new AuthenticationSessionRequest() 22 | .allowOrigin("https://your-company.example.com") 23 | .product(ProductType.PLATFORM) 24 | .policy( 25 | new Policy() 26 | .addResourcesItem( 27 | new AccountHolderResource() 28 | .accountHolderId("AH00000000000000000000001") 29 | .type(ResourceType.ACCOUNTHOLDER)) 30 | .roles( 31 | Set.of( 32 | "Transactions Overview Component: View", 33 | "Payouts Overview Component: View"))); 34 | AuthenticationSessionResponse response = 35 | sessionAuthenticationApi.createAuthenticationSession(request); 36 | assertEquals("11a1e60a-18b0-4dda-9258-e0ae29e1e2a3", response.getId()); 37 | 38 | verify(client.getHttpClient()) 39 | .request( 40 | "https://test.adyen.com/authe/api/v1/sessions", 41 | request.toJson(), 42 | client.getConfig(), 43 | false, 44 | null, 45 | ApiConstants.HttpMethod.POST, 46 | null); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/serializer/DateSerializerTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.serializer; 22 | 23 | import static org.junit.Assert.assertEquals; 24 | 25 | import java.util.Date; 26 | import org.junit.Test; 27 | import org.junit.runner.RunWith; 28 | import org.mockito.junit.MockitoJUnitRunner; 29 | 30 | @RunWith(MockitoJUnitRunner.class) 31 | public class DateSerializerTest { 32 | 33 | @Test 34 | public void testSerialize() throws Exception { 35 | DateSerializer dateSerializer = new DateSerializer(); 36 | Date date = new Date(); 37 | date.setTime(1503580067000L); 38 | 39 | assertEquals("2017-08-24", dateSerializer.serialize(date, null, null).getAsString()); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/serializer/DateTimeGMTSerializerTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ###### 3 | * ###### 4 | * ############ ####( ###### #####. ###### ############ ############ 5 | * ############# #####( ###### #####. ###### ############# ############# 6 | * ###### #####( ###### #####. ###### ##### ###### ##### ###### 7 | * ###### ###### #####( ###### #####. ###### ##### ##### ##### ###### 8 | * ###### ###### #####( ###### #####. ###### ##### ##### ###### 9 | * ############# ############# ############# ############# ##### ###### 10 | * ############ ############ ############# ############ ##### ###### 11 | * ###### 12 | * ############# 13 | * ############ 14 | * 15 | * Adyen Java API Library 16 | * 17 | * Copyright (c) 2017 Adyen B.V. 18 | * This file is open source and available under the MIT license. 19 | * See the LICENSE file for more info. 20 | */ 21 | package com.adyen.serializer; 22 | 23 | import static org.junit.Assert.assertEquals; 24 | 25 | import java.util.Date; 26 | import org.junit.Test; 27 | import org.junit.runner.RunWith; 28 | import org.mockito.junit.MockitoJUnitRunner; 29 | 30 | @RunWith(MockitoJUnitRunner.class) 31 | public class DateTimeGMTSerializerTest { 32 | 33 | @Test 34 | public void testSerialize() throws Exception { 35 | DateTimeGMTSerializer dateTimeGMTSerializer = new DateTimeGMTSerializer(); 36 | Date date = new Date(); 37 | date.setTime(1503580067000L); 38 | 39 | assertEquals( 40 | "2017-08-24T13:07:47.000Z", 41 | dateTimeGMTSerializer.serialize(date, null, null).getAsString()); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/test/java/com/adyen/serializer/DateTimeISO8601SerializerTest.java: -------------------------------------------------------------------------------- 1 | package com.adyen.serializer; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | 5 | import java.util.Date; 6 | import java.util.TimeZone; 7 | import org.junit.AfterClass; 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | import org.mockito.junit.MockitoJUnitRunner; 11 | 12 | @RunWith(MockitoJUnitRunner.class) 13 | public class DateTimeISO8601SerializerTest { 14 | private static final TimeZone defaultTZ = TimeZone.getDefault(); 15 | 16 | @AfterClass 17 | public static void tearDown() { 18 | TimeZone.setDefault(defaultTZ); 19 | } 20 | 21 | @Test 22 | public void testSerialize() { 23 | DateTimeISO8601Serializer dateTimeISO8601Serializer = new DateTimeISO8601Serializer(); 24 | Date date = new Date(); 25 | date.setTime(1503580067000L); 26 | TimeZone.setDefault(TimeZone.getTimeZone("EET")); 27 | 28 | assertEquals( 29 | "2017-08-24T16:07:47+03:00", 30 | dateTimeISO8601Serializer.serialize(date, null, null).getAsString()); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/resources/mocks/afp-validation-error.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "702", 4 | "message": "Required field 'accountHolderDetails' is null", 5 | "errorType": "validation" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authentication-result-error-invalid-psp.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "15_011", 4 | "message": "pspReference is not a valid pspReference", 5 | "errorType": "validation" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/authentication-result-error-not-allowed.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 403, 3 | "errorCode": "010", 4 | "message": "Not allowed", 5 | "errorType": "security" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/authentication-result-error-not-found.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "15_012", 4 | "message": "Result not present", 5 | "errorType": "validation" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/authentication-result-error-old-psp.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "15_024", 4 | "message": "Result not present - Authentication older than 60 days", 5 | "errorType": "validation" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/authentication-result-success-3ds1.json: -------------------------------------------------------------------------------- 1 | { 2 | "threeDS1Result": { 3 | "cavv": "AQIDBAUGBwgJCgsMDQ4PEBESExQ=", 4 | "cavvAlgorithm": "1", 5 | "eci": "05", 6 | "threeDAuthenticatedResponse": "Y", 7 | "threeDOfferedResponse": "Y", 8 | "xid": "OTEzNTY5Mzk5NjIwODc3RgAAAAA=" 9 | } 10 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authentication-result-success-3ds2.json: -------------------------------------------------------------------------------- 1 | { 2 | "threeDS2Result": { 3 | "authenticationValue": "QURZRU4gM0RTMiBURVNUIENBVlY=", 4 | "dsTransID": "80a16fa0-4eea-43c9-8de5-b0470d09d14d", 5 | "eci": "01", 6 | "messageVersion": "2.1.0", 7 | "threeDSServerTransID": "f04ec32b-f46b-46ef-9ccd-44be42fb0d7e", 8 | "transStatus": "A" 9 | } 10 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authorise-error-010.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 403, 3 | "errorCode": "010", 4 | "message": "Not allowed", 5 | "errorType": "security", 6 | "pspReference": "8514836072314693" 7 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authorise-error-cvc-declined.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "fraudResultType": "GREEN", 4 | "aliasType": "Default", 5 | "alias": "H167852639363479" 6 | }, 7 | "fraudResult": { 8 | "accountScore": 50, 9 | "results": [{ 10 | "FraudCheckResult": { 11 | "accountScore": 8, 12 | "checkId": 2, 13 | "name": "CardChunkUsage" 14 | } 15 | }, { 16 | "FraudCheckResult": { 17 | "accountScore": 5, 18 | "checkId": 3, 19 | "name": "PaymentDetailUsage" 20 | } 21 | }, { 22 | "FraudCheckResult": { 23 | "accountScore": 12, 24 | "checkId": 4, 25 | "name": "HolderNameUsage" 26 | } 27 | }, { 28 | "FraudCheckResult": { 29 | "accountScore": 0, 30 | "checkId": 1, 31 | "name": "PaymentDetailRefCheck" 32 | } 33 | }, { 34 | "FraudCheckResult": { 35 | "accountScore": 0, 36 | "checkId": 13, 37 | "name": "IssuerRefCheck" 38 | } 39 | }, { 40 | "FraudCheckResult": { 41 | "accountScore": 0, 42 | "checkId": 15, 43 | "name": "IssuingCountryReferral" 44 | } 45 | }, { 46 | "FraudCheckResult": { 47 | "accountScore": 0, 48 | "checkId": 27, 49 | "name": "PmOwnerRefCheck" 50 | } 51 | }, { 52 | "FraudCheckResult": { 53 | "accountScore": 0, 54 | "checkId": 41, 55 | "name": "PaymentDetailNonFraudRefCheck" 56 | } 57 | }, { 58 | "FraudCheckResult": { 59 | "accountScore": 0, 60 | "checkId": 10, 61 | "name": "HolderNameContainsNumber" 62 | } 63 | }, { 64 | "FraudCheckResult": { 65 | "accountScore": 0, 66 | "checkId": 11, 67 | "name": "HolderNameIsOneWord" 68 | } 69 | }, { 70 | "FraudCheckResult": { 71 | "accountScore": 0, 72 | "checkId": 25, 73 | "name": "CVCAuthResultCheck" 74 | } 75 | }] 76 | }, 77 | "pspReference": "7924836078655376", 78 | "refusalReason": "CVC Declined", 79 | "resultCode": "Refused" 80 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authorise-success-3ds2.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "cvcResult": "1 Matches", 4 | "authCode": "46125", 5 | "avsResult": "4 AVS not supported for this card type", 6 | "avsResultRaw": "4", 7 | "cvcResultRaw": "M", 8 | "refusalReasonRaw": "AUTHORISED", 9 | "acquirerCode": "TestPmmAcquirer", 10 | "acquirerReference": "8PPSD0S76PE" 11 | }, 12 | "pspReference": "9935272408535455", 13 | "resultCode": "Authorised", 14 | "authCode": "46125" 15 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authorise-success-boleto.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "boletobancario.barCodeReference": "34191.75801 12021.372227 21111.100000 8 71670000001000", 4 | "paymentMethod": "boletobancario_santander", 5 | "boletobancario.data": "BQABAQB8k7t5uD2wSpo185nNeQ9CU50Zf6z/z9EdC5yFH3+1o/DQH3v3dtTxqXD2DrEdVH0Ro3r/+G9bdUzrCUjfMFh7YB32VL2oPqye9Ly/MWzj7bOaRrpGH5PaB8gE9LkIgo8WKqHix1cwsFm3aHiLBECjItOpUR/CBuiJBGPvseN7yrSdG5vQAUM9AQixpPkyCNokbnDZoa1y3+qihZa7vvzV/XylTXdgirxboVKpk07Wfvpad8Owg/K/ofDqUfrZ3SUovkJzpZ5wP2NtOz84zBV8dJ+9vZs+aor/E//s+EjKgNJt2s2uX0OfdE3h1n41RW2MlfQBtXLbgbxKVVSH5qfPELsZhr10A9y9VpCd9DOP6lEAAFchf10tGLvIKj2j4ktIErp0uLCbLqa1/AvmfQ9a6e0TClmsbtwKoZ9LvAPpzHqRcmidgyUM1Igk5YsHBD7L8pzoJS5hL+DKXMeUav6oP20v9huLS3Ps6EiK4fyg5kgptZPhSQ5UN3GrGSoefja1Ylw32EBovEiaK9rdKkT/eVf+wncwLTLUiMD26R7qRxbvwAg4G8VIv6dxvOsKf2RutfOoCBNH6VhgwXfIoe0bHqmpx4dGwrjkVThspdsZYhHFrZK58grIb4OyKORibOYxvsmYmRdWMDX9Y1X8uva8OYs=", 6 | "boletobancario.dueDate": "2017-05-22", 7 | "boletobancario.url": "https://test.adyen.com/hpp/generationBoleto.shtml?data=BQABAQB8k7t5uD2wSpo185nNeQ9CU50Zf6z%2Fz9EdC5yFH3%2B1o%2FDQH3v3dtTxqXD2DrEdVH0Ro3r%2F%2BG9bdUzrCUjfMFh7YB32VL2oPqye9Ly%2FMWzj7bOaRrpGH5PaB8gE9LkIgo8WKqHix1cwsFm3aHiLBECjItOpUR%2FCBuiJBGPvseN7yrSdG5vQAUM9AQixpPkyCNokbnDZoa1y3%2BqihZa7vvzV%2FXylTXdgirxboVKpk07Wfvpad8Owg%2FK%2FofDqUfrZ3SUovkJzpZ5wP2NtOz84zBV8dJ%2B9vZs%2Baor%2FE%2F%2Fs%2BEjKgNJt2s2uX0OfdE3h1n41RW2MlfQBtXLbgbxKVVSH5qfPELsZhr10A9y9VpCd9DOP6lEAAFchf10tGLvIKj2j4ktIErp0uLCbLqa1%2FAvmfQ9a6e0TClmsbtwKoZ9LvAPpzHqRcmidgyUM1Igk5YsHBD7L8pzoJS5hL%2BDKXMeUav6oP20v9huLS3Ps6EiK4fyg5kgptZPhSQ5UN3GrGSoefja1Ylw32EBovEiaK9rdKkT%2FeVf%2BwncwLTLUiMD26R7qRxbvwAg4G8VIv6dxvOsKf2RutfOoCBNH6VhgwXfIoe0bHqmpx4dGwrjkVThspdsZYhHFrZK58grIb4OyKORibOYxvsmYmRdWMDX9Y1X8uva8OYs%3D", 8 | "boletobancario.expirationDate": "2017-06-06" 9 | }, 10 | "pspReference": "8814950120218231", 11 | "resultCode": "Received" 12 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authorise-success-klarna.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "additionalData.acquirerReference": "2374421290", 4 | "paymentMethodVariant": "klarna" 5 | }, 6 | "pspReference": "8814906011087689", 7 | "resultCode": "Authorised" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/authorise3d-error-105.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "105", 4 | "message": "Invalid paRes from issuer", 5 | "errorType": "validation" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/balanceplatform-authentication-created.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "authentication": { 4 | "acsTransId": "6a4c1709-a42e-4c7f-96c7-1043adacfc97", 5 | "challenge": { 6 | "flow": "OOB_TRIGGER_FL", 7 | "lastInteraction": "2022-12-22T15:49:03+01:00" 8 | }, 9 | "challengeIndicator": "01", 10 | "createdAt": "2022-12-22T15:45:03+01:00", 11 | "deviceChannel": "app", 12 | "dsTransID": "a3b86754-444d-46ca-95a2-ada351d3f42c", 13 | "exemptionIndicator": "lowValue", 14 | "inPSD2Scope": true, 15 | "messageCategory": "payment", 16 | "messageVersion": "2.2.0", 17 | "riskScore": 0, 18 | "threeDSServerTransID": "6edcc246-23ee-4e94-ac5d-8ae620bea7d9", 19 | "transStatus": "Y", 20 | "type": "challenge" 21 | }, 22 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 23 | "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", 24 | "paymentInstrumentId": "PI3227C223222B5BPCMFXD2XG", 25 | "purchase": { 26 | "date": "2022-12-22T15:49:03+01:00", 27 | "merchantName": "MyShop", 28 | "originalAmount": { 29 | "currency": "EUR", 30 | "value": 1000 31 | } 32 | }, 33 | "status": "authenticated" 34 | }, 35 | "environment": "test", 36 | "timestamp": "2022-12-22T15:42:03+01:00", 37 | "type": "balancePlatform.authentication.created" 38 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/balanceplatform-balanceAccount-balance-updated.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balanceAccountId": "BWHS00000000000000000000000001", 4 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 5 | "balances": { 6 | "available": 499900, 7 | "pending": 350000, 8 | "reserved": 120000, 9 | "balance": 470000 10 | }, 11 | "creationDate": "2025-01-19T13:37:38+02:00", 12 | "currency": "USD", 13 | "settingIds": ["WK1", "WK2"] 14 | }, 15 | "environment": "test", 16 | "type": "balancePlatform.balanceAccount.balance.updated" 17 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/balanceplatform-negativeBalanceCompensationWarning-scheduled.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 4 | "creationDate": "2024-07-02T02:01:08+02:00", 5 | "id": "BA00000000000000000001", 6 | "accountHolder": { 7 | "description": "Description for the account holder.", 8 | "reference": "YOUR_REFERENCE", 9 | "id": "AH00000000000000000001" 10 | }, 11 | "amount": { 12 | "currency": "EUR", 13 | "value": -145050 14 | }, 15 | "liableBalanceAccountId": "BA11111111111111111111", 16 | "negativeBalanceSince": "2024-10-19T00:33:13+02:00", 17 | "scheduledCompensationAt": "2024-12-01T01:00:00+01:00" 18 | }, 19 | "environment": "test", 20 | "timestamp": "2024-10-22T00:00:00+02:00", 21 | "type": "balancePlatform.negativeBalanceCompensationWarning.scheduled" 22 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/balanceplatform-relayed-authentication-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "1ea64f8e-d1e1-4b9d-a3a2-3953e385b2c8", 3 | "paymentInstrumentId": "PI123ABCDEFGHIJKLMN45678", 4 | "purchase": { 5 | "date": "2025-03-06T15:17:55Z", 6 | "merchantName": "widgetsInc", 7 | "originalAmount": { 8 | "currency": "EUR", 9 | "value": 14548 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/balanceplatform-report-created.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 4 | "creationDate": "2024-07-02T02:01:08+02:00", 5 | "id": "balanceplatform_accounting_report_2024_07_01.csv", 6 | "downloadUrl": "https://balanceplatform-test.adyen.com/balanceplatform/.../.../.../balanceplatform_accounting_report_2024_07_01.csv", 7 | "fileName": "balanceplatform_accounting_report_2024_07_01.csv", 8 | "reportType": "balanceplatform_accounting_report" 9 | }, 10 | "environment": "test", 11 | "timestamp": "2024-07-02T02:01:05+02:00", 12 | "type": "balancePlatform.report.created" 13 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/configuration-accountHolder-created-castexception.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 4 | "accountHolder": { 5 | "contactDetails": { 6 | "address": { 7 | "country": "NL", 8 | "houseNumberOrName": "274", 9 | "postalCode": "1020CD", 10 | "street": "Brannan Street" 11 | }, 12 | "email": "s.hopper@example.com", 13 | "phone": { 14 | "number": "+315551231234", 15 | "type": "mobile" 16 | } 17 | }, 18 | "description": "S.Hopper - Staff 123", 19 | "id": "AH00000000000000000000001", 20 | "status": "active" 21 | } 22 | }, 23 | "environment": "test", 24 | "timestamp": "2024-12-15T15:42:03+01:00", 25 | "type": "balancePlatform.accountHolder.created" 26 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/configuration-accountHolder-created-lemv2.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 4 | "accountHolder": { 5 | "contactDetails": { 6 | "email": "test@adyen.com", 7 | "phone": { 8 | "number": "0612345678", 9 | "type": "mobile" 10 | }, 11 | "address": { 12 | "houseNumberOrName": "23", 13 | "city": "Amsterdam", 14 | "country": "NL", 15 | "postalCode": "12345", 16 | "street": "Main Street 1" 17 | } 18 | }, 19 | "description": "Shelly Eller", 20 | "legalEntityId": "LE00000000000000000001", 21 | "reference": "YOUR_REFERENCE-2412C", 22 | "capabilities": { 23 | "issueCard": { 24 | "enabled": true, 25 | "requested": true, 26 | "allowed": false, 27 | "verificationStatus": "pending" 28 | }, 29 | "receiveFromTransferInstrument": { 30 | "enabled": true, 31 | "requested": true, 32 | "allowed": false, 33 | "verificationStatus": "pending" 34 | }, 35 | "sendToTransferInstrument": { 36 | "enabled": true, 37 | "requested": true, 38 | "allowed": false, 39 | "verificationStatus": "pending" 40 | }, 41 | "sendToBalanceAccount": { 42 | "enabled": true, 43 | "requested": true, 44 | "allowed": false, 45 | "verificationStatus": "pending" 46 | }, 47 | "receiveFromBalanceAccount": { 48 | "enabled": true, 49 | "requested": true, 50 | "allowed": false, 51 | "verificationStatus": "pending" 52 | } 53 | }, 54 | "id": "AH00000000000000000001", 55 | "status": "active" 56 | } 57 | }, 58 | "environment": "test", 59 | "timestamp": "2024-12-15T15:42:03+01:00", 60 | "type": "balancePlatform.accountHolder.created" 61 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform-webhooks/configuration-accountHolder-updated.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 4 | "id": "AH00000000000000000001", 5 | "accountHolder": { 6 | "description": "Test inc.", 7 | "legalEntityId": "LE32BZ5223226B5LZ3CZM2L5S", 8 | "reference": "YOUR_REFERENCE-2412C", 9 | "capabilities": { 10 | "issueChargeCard": { 11 | "enabled": true, 12 | "requested": true, 13 | "allowed": true, 14 | "verificationStatus": "pending" 15 | } 16 | }, 17 | "metadata": { 18 | "applicationId": "app-01" 19 | }, 20 | "id": "AH00000000000000000001", 21 | "status": "active", 22 | "verificationDeadlines": [ 23 | { 24 | "capabilities": [ 25 | "issueChargeCardCommercial" 26 | ], 27 | "expiresAt": "2025-02-22T20:59:53+01:00" 28 | } 29 | ] 30 | } 31 | }, 32 | "environment": "test", 33 | "timestamp": "2025-01-23T19:59:57.316Z", 34 | "type": "balancePlatform.accountHolder.updated" 35 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/AccountHolder.json: -------------------------------------------------------------------------------- 1 | { 2 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 3 | "contactDetails": { 4 | "email": "s.hopper@example.com", 5 | "phone": { 6 | "number": "+315551231234", 7 | "type": "mobile" 8 | }, 9 | "address": { 10 | "city": "Amsterdam", 11 | "country": "NL", 12 | "street": "Brannan Street", 13 | "houseNumberOrName": "274", 14 | "postalCode": "1020CD" 15 | } 16 | }, 17 | "description": "S.Hopper - Staff 123", 18 | "legalEntityId": "LE322KT223222D5FJ7THR293F", 19 | "id": "AH3227C223222B5CMD2SXFKGT", 20 | "status": "active" 21 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/AccountHolderCreatedResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 3 | "contactDetails": { 4 | "email": "s.hopper@example.com", 5 | "phone": { 6 | "number": "+315551231234", 7 | "type": "mobile" 8 | }, 9 | "address": { 10 | "city": "Amsterdam", 11 | "country": "NL", 12 | "street": "Brannan Street", 13 | "houseNumberOrName": "274", 14 | "postalCode": "1020CD" 15 | } 16 | }, 17 | "description": "S.Hopper - Staff 123", 18 | "legalEntityId": "LE322KT223222D5FJ7THR293F", 19 | "id": "AH3227C223222B5CMD2SXFKGT", 20 | "status": "active" 21 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/BalanceAccount.json: -------------------------------------------------------------------------------- 1 | { 2 | "accountHolderId": "AH32272223222B59K6ZKBBFNQ", 3 | "defaultCurrencyCode": "EUR", 4 | "reference": "S.Hopper - Main balance account", 5 | "balances": [ 6 | { 7 | "available": 0, 8 | "balance": 0, 9 | "currency": "EUR", 10 | "reserved": 0 11 | } 12 | ], 13 | "id": "BA32272223222B59CZ3T52DKZ", 14 | "status": "active" 15 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/BalanceAccountUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "accountHolderId": "AH32272223222B59K6ZKBBFNQ", 3 | "defaultCurrencyCode": "EUR", 4 | "reference": "S.Hopper - Main balance account", 5 | "status": "active" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/BalancePlatformResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "123456789", 3 | "status": "active" 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/BalanceSweepConfigurationsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "hasNext": false, 3 | "hasPrevious": false, 4 | "sweeps": [ 5 | { 6 | "id": "SWPC4227C224555B5FTD2NT2JV4WN5", 7 | "schedule": { 8 | "type": "daily" 9 | }, 10 | "status": "active", 11 | "targetAmount": { 12 | "currency": "EUR", 13 | "value": 0 14 | }, 15 | "triggerAmount": { 16 | "currency": "EUR", 17 | "value": 0 18 | }, 19 | "type": "push", 20 | "counterparty": { 21 | "balanceAccountId": "BA32272223222B5FTD2KR6TJD" 22 | }, 23 | "currency": "EUR" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/BalanceWebhookSettingResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "BWHS00000000000000000000000001", 3 | "type": "balance", 4 | "target": { 5 | "type": "balancePlatform", 6 | "id": "YOUR_BALANCE_PLATFORM" 7 | }, 8 | "currency": "USD", 9 | "status": "active", 10 | "conditions": [ 11 | { 12 | "balanceType": "available", 13 | "conditionType": "lessThan", 14 | "value": 500000 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/BalanceWebhookSettingsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "webhookSettings": [ 3 | { 4 | "id": "BWHS00000000000000000000000001", 5 | "type": "balance", 6 | "target": { 7 | "type": "balancePlatform", 8 | "id": "YOUR_BALANCE_PLATFORM" 9 | }, 10 | "currency": "USD", 11 | "status": "active", 12 | "conditions": [ 13 | { 14 | "balanceType": "available", 15 | "conditionType": "lessThan", 16 | "value": 500000 17 | } 18 | ] 19 | }, 20 | { 21 | "id": "BWHS00000000000000000000000002", 22 | "type": "balance", 23 | "target": { 24 | "type": "balanceAccount", 25 | "id": "BA00000000000000000LIABLE" 26 | }, 27 | "currency": "USD", 28 | "status": "active", 29 | "conditions": [ 30 | { 31 | "balanceType": "available", 32 | "conditionType": "greaterThan", 33 | "value": 1000000 34 | } 35 | ] 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/PaginatedAccountHoldersResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "accountHolders": [ 3 | { 4 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 5 | "description": "S.Hopper - Staff 123", 6 | "legalEntityId": "LE322KT223222D5FJ7THR293F", 7 | "id": "123456789", 8 | "contactDetails": { 9 | "email": "s.hopper@example.com", 10 | "phone": { 11 | "number": "+315551231234", 12 | "type": "mobile" 13 | }, 14 | "address": { 15 | "city": "Amsterdam", 16 | "country": "NL", 17 | "street": "Brannan Street", 18 | "houseNumberOrName": "274", 19 | "postalCode": "1020CD" 20 | } 21 | } 22 | } 23 | ], 24 | "hasNext": "true", 25 | "hasPrevious": "false" 26 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/PaginatedBalanceAccountsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "balanceAccounts": [ 3 | { 4 | "accountHolderId": "AH32272223222B59K6ZKBBFNQ", 5 | "defaultCurrencyCode": "EUR", 6 | "id": "BA32272223222B59K6ZXHBFN6", 7 | "status": "active" 8 | }, 9 | { 10 | "accountHolderId": "AH32272223222B59K6ZKBBFNQ", 11 | "defaultCurrencyCode": "EUR", 12 | "id": "BA32272223222B59K72CKBFNJ", 13 | "status": "active" 14 | }, 15 | { 16 | "accountHolderId": "AH32272223222B59K6ZKBBFNQ", 17 | "defaultCurrencyCode": "EUR", 18 | "id": "BA32272223222B5BRR27B2M7G", 19 | "status": "active" 20 | } 21 | ], 22 | "hasNext": true, 23 | "hasPrevious": false 24 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/PaginatedPaymentInstrumentsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "hasNext": "true", 3 | "hasPrevious": "false", 4 | "paymentInstruments": [ 5 | { 6 | "balanceAccountId": "BA32272223222B59CZ3T52DKZ", 7 | "issuingCountryCode": "GB", 8 | "status": "active", 9 | "type": "card", 10 | "card": { 11 | "brandVariant": "mc", 12 | "brand": "mcdebit", 13 | "cardholderName": "name", 14 | "formFactor": "virtual", 15 | "bin": "555544", 16 | "expiration": { 17 | "month": "12", 18 | "year": "2022" 19 | }, 20 | "lastFour": "2357", 21 | "number": "************2357" 22 | }, 23 | "id": "PI32272223222B59M5TM658DT" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/PaymentInstrument.json: -------------------------------------------------------------------------------- 1 | { 2 | "balanceAccountId": "BA3227C223222B5FG88S28BGN", 3 | "description": "My test card", 4 | "issuingCountryCode": "NL", 5 | "status": "active", 6 | "type": "card", 7 | "card": { 8 | "brand": "mc", 9 | "brandVariant": "mcdebit", 10 | "cardholderName": "Simon Hopper", 11 | "formFactor": "virtual", 12 | "bin": "555544", 13 | "cvc": "136", 14 | "expiration": { 15 | "month": "11", 16 | "year": "2025" 17 | }, 18 | "lastFour": "3703", 19 | "number": "5555444411213703" 20 | }, 21 | "id": "PI32272223222C5GXTDWH3TTN" 22 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/PaymentInstrumentGroup.json: -------------------------------------------------------------------------------- 1 | { 2 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 3 | "txVariant": "mc", 4 | "id": "PG3227C223222B5CMD3FJFKGZ" 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/SweepConfigurationV2.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "SWPC4227C224555B5FTD2NT2JV4WN5", 3 | "schedule": { 4 | "type": "cron", 5 | "cronExpression": "*/5 * * * *" 6 | }, 7 | "status": "active", 8 | "targetAmount": { 9 | "currency": "EUR", 10 | "value": 0 11 | }, 12 | "triggerAmount": { 13 | "currency": "EUR", 14 | "value": 0 15 | }, 16 | "type": "push", 17 | "counterparty": { 18 | "balanceAccountId": "BA32272223222B5FTD2KR6TJD" 19 | }, 20 | "currency": "EUR" 21 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/TransactionRule.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Allow only point-of-sale transactions", 3 | "entityKey": { 4 | "entityReference": "PI3227C223222B5BPCMFXD2XG", 5 | "entityType": "paymentInstrument" 6 | }, 7 | "interval": { 8 | "timeZone": "UTC", 9 | "type": "perTransaction" 10 | }, 11 | "outcomeType": "hardBlock", 12 | "reference": "YOUR_REFERENCE_4F7346", 13 | "ruleRestrictions": { 14 | "processingTypes": { 15 | "operation": "noneMatch", 16 | "value": [ 17 | "pos" 18 | ] 19 | } 20 | }, 21 | "startDate": "2022-03-23T15:05:11.979433+01:00", 22 | "status": "active", 23 | "type": "blockList", 24 | "id": "TR3227C223222B5FCB756DV9H" 25 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/TransactionRuleResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "transactionRule": { 3 | "description": "Allow only point-of-sale transactions", 4 | "entityKey": { 5 | "entityReference": "PI3227C223222B5BPCMFXD2XG", 6 | "entityType": "paymentInstrument" 7 | }, 8 | "interval": { 9 | "timeZone": "UTC", 10 | "type": "perTransaction" 11 | }, 12 | "outcomeType": "hardBlock", 13 | "reference": "YOUR_REFERENCE_4F7346", 14 | "ruleRestrictions": { 15 | "processingTypes": { 16 | "operation": "noneMatch", 17 | "value": [ 18 | "pos" 19 | ] 20 | } 21 | }, 22 | "startDate": "2022-03-23T15:05:11.979433+01:00", 23 | "status": "active", 24 | "type": "blockList", 25 | "id": "TR3227C223222B5FCB756DV9H" 26 | } 27 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/balancePlatform/TransactionRulesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "transactionRules": [ 3 | { 4 | "description": "Allow only point-of-sale transactions", 5 | "entityKey": { 6 | "entityReference": "PI3227C223222B5BPCMFXD2XG", 7 | "entityType": "paymentInstrument" 8 | }, 9 | "interval": { 10 | "timeZone": "UTC", 11 | "type": "perTransaction" 12 | }, 13 | "outcomeType": "hardBlock", 14 | "reference": "YOUR_REFERENCE_4F7346", 15 | "ruleRestrictions": { 16 | "processingTypes": { 17 | "operation": "noneMatch", 18 | "value": [ 19 | "pos" 20 | ] 21 | } 22 | }, 23 | "startDate": "2022-03-23T15:05:11.979433+01:00", 24 | "status": "active", 25 | "type": "blockList", 26 | "id": "TR3227C223222B5FCB756DV9H" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/binlookup/get3dsAvailability-200-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "threeDS1Supported": "true", 3 | "threeDS2CardRangeDetails": [ 4 | ], 5 | "threeDS2supported": "false" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/binlookup/get3dsavailability-error-merchant.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 403, 3 | "errorCode": "901", 4 | "message": "Invalid Merchant Account", 5 | "errorType": "security" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/binlookup/getCostEstimate-getCostEstimate-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "costEstimateAmount": { 3 | "currency": "EUR", 4 | "value": 12 5 | }, 6 | "resultCode": "Success", 7 | "surchargeType": "PASSTHROUGH" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/binlookup/getcostestimate-error-amount.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "100", 4 | "message": "No amount specified", 5 | "errorType": "validation" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/binlookup/getcostestimate-error-cardnumber.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "000", 4 | "message": "Card number missing", 5 | "errorType": "validation" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/binlookup/getcostestimate-error-merchant.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 500, 3 | "errorCode": "901", 4 | "message": "Invalid Merchant Account", 5 | "errorType": "internal" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/capital/get-capital-account.json: -------------------------------------------------------------------------------- 1 | { 2 | "grants": [ 3 | { 4 | "amount": { 5 | "currency": "str", 6 | "value": 0 7 | }, 8 | "balances": { 9 | "currency": "string", 10 | "fee": 0, 11 | "principal": 0, 12 | "total": 0 13 | }, 14 | "counterparty": { 15 | "accountHolderId": "string", 16 | "balanceAccountId": "string", 17 | "transferInstrumentId": "string" 18 | }, 19 | "fee": { 20 | "amount": { 21 | "currency": "str", 22 | "value": 0 23 | } 24 | }, 25 | "grantAccountId": "987654321", 26 | "grantOfferId": "string", 27 | "id": "string", 28 | "repayment": { 29 | "basisPoints": 0, 30 | "term": { 31 | "estimatedDays": 0, 32 | "maximumDays": 0 33 | }, 34 | "threshold": { 35 | "amount": { 36 | "currency": "str", 37 | "value": 0 38 | } 39 | } 40 | }, 41 | "status": "Pending" 42 | } 43 | ] 44 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/capital/request-grant.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "GR00000000000000000000001", 3 | "grantAccountId": "CG00000000000000000000001", 4 | "grantOfferId": "0000000000000001", 5 | "counterparty": { 6 | "accountHolderId": "AH00000000000000000000001", 7 | "balanceAccountId": "BA00000000000000000000001" 8 | }, 9 | "amount": { 10 | "currency": "EUR", 11 | "value": 1000000 12 | }, 13 | "fee": { 14 | "amount": { 15 | "value": 120000, 16 | "currency": "EUR" 17 | } 18 | }, 19 | "balances": 20 | { 21 | "currency": "EUR", 22 | "fee": 120000, 23 | "principal": 1000000, 24 | "total": 1120000 25 | } 26 | , 27 | "repayment": { 28 | "basisPoints": 1400 29 | }, 30 | "status": "Pending" 31 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/applePaySessionsResponse.json: -------------------------------------------------------------------------------- 1 | {"data": "eyJ2Z"} -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/cancelOrderResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "8816178914079738", 3 | "resultCode": "Received" 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/cardDetailsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "brands": [ 3 | { 4 | "type": "visa", 5 | "supported": "true" 6 | }, 7 | { 8 | "type": "cartebancaire", 9 | "supported": "true" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/createOrderResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "8616178914061985", 3 | "resultCode": "Success", 4 | "expiresAt": "2021-04-09T14:16:46Z", 5 | "orderData": "Abzt3JH4wnzErMnOZwSdgA==", 6 | "reference": "shopper-reference-ekvL83", 7 | "remainingAmount": { 8 | "currency": "EUR", 9 | "value": 2500 10 | }, 11 | "amount": { 12 | "currency": "EUR", 13 | "value": 2500 14 | } 15 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/createSessionsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount": { 3 | "currency": "EUR", 4 | "value": 100 5 | }, 6 | "countryCode": "NL", 7 | "expiresAt": "2022-10-11T16:54:37+02:00", 8 | "id": "CS1453E3730C313478", 9 | "merchantAccount": "YOUR_MERCHANT_ACCOUNT", 10 | "recurringProcessingModel": "CardOnFile", 11 | "reference": "YOUR_PAYMENT_REFERENCE", 12 | "returnUrl": "https://your-company.com/checkout?shopperOrder=12xy..", 13 | "sessionData": "Ab02b4c0!BFHSPFBQTEwM0NBNTM3RfCf5", 14 | "mode": "embedded", 15 | "storePaymentMethodMode": "askForConsent" 16 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/deleteStoredPaymentMethodResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "brand": "string", 3 | "expiryMonth": "string", 4 | "expiryYear": "string", 5 | "externalResponseCode": "string", 6 | "externalTokenReference": "string", 7 | "holderName": "string", 8 | "iban": "string", 9 | "id": "string", 10 | "issuerName": "string", 11 | "lastFour": "string", 12 | "name": "string", 13 | "networkTxReference": "string", 14 | "ownerName": "string", 15 | "shopperEmail": "string", 16 | "shopperReference": "string", 17 | "supportedRecurringProcessingModels": [ 18 | "string" 19 | ], 20 | "type": "string" 21 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/donationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "UNIQUE_RESOURCE_ID", 3 | "status": "completed", 4 | "donationAccount": "CHARITY_ACCOUNT", 5 | "merchantAccount": "YOUR_MERCHANT_ACCOUNT", 6 | "amount": { 7 | "currency": "EUR", 8 | "value": 1000 9 | }, 10 | "reference": "YOUR_DONATION_REFERENCE", 11 | "payment": { 12 | "pspReference": "8535762347980628", 13 | "resultCode": "Authorised", 14 | "amount": { 15 | "currency": "EUR", 16 | "value": 1000 17 | }, 18 | "merchantReference": "YOUR_DONATION_REFERENCE" 19 | } 20 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/getPaymentLinkResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount": { 3 | "currency": "EUR", 4 | "value": 8700 5 | }, 6 | "id": "paymentLinkId", 7 | "countryCode": "NL", 8 | "expiresAt": "2021-04-08T14:06:39Z", 9 | "merchantAccount": "TestMerchantCheckout", 10 | "reference": "shopper-reference", 11 | "shopperLocale": "hu-HU", 12 | "shopperReference": "shopper-reference", 13 | "status": "expired", 14 | "url": "https://test.adyen.link/PL61C53A8B97E6915A" 15 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/getStoredPaymentMethodResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "merchantAccount": "merchantAccount", 3 | "shopperReference": "string", 4 | "storedPaymentMethods": [ 5 | { 6 | "brand": "string", 7 | "expiryMonth": "string", 8 | "expiryYear": "string", 9 | "externalResponseCode": "string", 10 | "externalTokenReference": "string", 11 | "holderName": "string", 12 | "iban": "string", 13 | "id": "string", 14 | "issuerName": "string", 15 | "lastFour": "string", 16 | "name": "string", 17 | "networkTxReference": "string", 18 | "ownerName": "string", 19 | "shopperEmail": "string", 20 | "shopperReference": "string", 21 | "supportedRecurringProcessingModels": ["string"], 22 | "type": "string" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/patchPaymentLinkResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount": { 3 | "currency": "EUR", 4 | "value": 8700 5 | }, 6 | "id": "paymentLinkId", 7 | "countryCode": "NL", 8 | "expiresAt": "2021-04-08T14:06:39Z", 9 | "merchantAccount": "TestMerchantCheckout", 10 | "reference": "shopper-reference", 11 | "shopperLocale": "hu-HU", 12 | "shopperReference": "shopper-reference", 13 | "status": "expired", 14 | "url": "https://test.adyen.link/PL61C53A8B97E6915A" 15 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentDetailsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "resultCode": "Authorised", 3 | "pspReference": "V4HZ4RBFJGXXGN82" 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentDetailsResponseThreeDSRequestorChallengeInd.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "threeDSVersion": "2.2.0", 4 | "threeds2.threeDS2Result.transStatus": "U", 5 | "threeds2.threeDS2Result.challengeIndicator": "01", 6 | "paymentMethodVariant": "cartebancaire", 7 | "threeds2.threeDS2Result.cavvAlgorithm": "2", 8 | "threeds2.threeDS2Result.challengeCancel": "01", 9 | "threeds2.threeDS2Result.threeDSRequestorChallengeInd": "01", 10 | "threeDOffered": "true", 11 | "threeds2.threeDS2Result.eci": "07", 12 | "threeDOfferedResponse": "C", 13 | "threeDAuthenticatedResponse": "U", 14 | "threeds2.threeDS2Result.whiteListStatus": "Y", 15 | "paymentMethod": "cartebancaire", 16 | "threeds2.threeDS2Result.riskScore": "9", 17 | "threeds2.threeDS2Result.transStatusReason": "01", 18 | "threeds2.threeDS2Result.messageVersion": "2.2.0" 19 | }, 20 | "pspReference": "FooBar", 21 | "refusalReason": "3D Not Authenticated", 22 | "resultCode": "Refused", 23 | "refusalReasonCode": "11", 24 | "amount": { 25 | "currency": "EUR", 26 | "value": 1500 27 | }, 28 | "merchantReference": "FooBar123", 29 | "paymentMethod": { 30 | "brand": "cartebancaire", 31 | "type": "scheme" 32 | }, 33 | "threeDS2Result": { 34 | "authenticationValue": "Rm9vQmFy", 35 | "cavvAlgorithm": "2", 36 | "challengeCancel": "01", 37 | "challengeIndicator": "01", 38 | "dsTransID": "abc-123", 39 | "eci": "07", 40 | "messageVersion": "2.2.0", 41 | "riskScore": "9", 42 | "threeDSRequestorChallengeInd": "01", 43 | "threeDSServerTransID": "xyz-123", 44 | "transStatus": "U", 45 | "transStatusReason": "01", 46 | "whiteListStatus": "Y" 47 | } 48 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentLinkResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount": { 3 | "currency": "EUR", 4 | "value": 1250 5 | }, 6 | "expiresAt": "2021-04-09T14:17:31Z", 7 | "reference": "shopper-reference-ekvL83", 8 | "url": "https://test.adyen.link/PL6DB3157D27FFBBCF", 9 | "id": "foo", 10 | "merchantAccount": "myMerchantAccount", 11 | "status": "active" 12 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentMethodsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "paymentMethods": [ 3 | { 4 | "name": "Pay later with Klarna.", 5 | "type": "klarna" 6 | } 7 | ] 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentRequestIdeal.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount":{ 3 | "currency":"EUR", 4 | "value":1000 5 | }, 6 | "merchantAccount":"myMerchantAccount", 7 | "paymentMethod":{ 8 | "type":"ideal" 9 | }, 10 | "reference":"merchantReference", 11 | "returnUrl":"https://your-company.com/.." 12 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "993617895204576J", 3 | "resultCode": "RedirectShopper", 4 | "action":{ 5 | "method":"GET", 6 | "paymentMethodType":"scheme", 7 | "type":"redirect", 8 | "url":"https://checkoutshopper-test.adyen.com/checkoutshopper/threeDS/redirect?MD=M2R..." 9 | } 10 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentResponseRatepay.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "openinvoicedata.descriptor": "DN0099661Y8" 4 | }, 5 | "pspReference":"881567437271705K", 6 | "resultCode":"Authorised", 7 | "merchantReference":"YOUR_ORDER_NUMBER" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentResponseRiverty.json: -------------------------------------------------------------------------------- 1 | { 2 | "action": { 3 | "paymentMethodType": "riverty", 4 | "method": "GET", 5 | "url": "https://checkoutshopper-test.adyen.com/checkoutshopper…", 6 | "type": "redirect" 7 | }, 8 | "resultCode": "RedirectShopper" 9 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentResultsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "merchantReference": "YOUR_MERCHANT_ACCOUNT ", 3 | "shopperLocale": "NL", 4 | "resultCode": "Authorised", 5 | "pspReference": "V4HZ4RBFJGXXGN82" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentSessionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "paymentSession": "eyJjaGVja291dHNob3BwZXJCYXN..." 3 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkout/paymentUpdateAmountResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount": { 3 | "currency": "str", 4 | "value": 0 5 | }, 6 | "industryUsage": "delayedCharge", 7 | "merchantAccount": "string", 8 | "paymentPspReference": "1234567890", 9 | "pspReference": "string", 10 | "reference": "string", 11 | "splits": [ 12 | { 13 | "account": "string", 14 | "amount": { 15 | "currency": "str", 16 | "value": 0 17 | }, 18 | "description": "string", 19 | "reference": "string", 20 | "type": "BalanceAccount" 21 | } 22 | ], 23 | "status": "received" 24 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/checkoututility/originkeys-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "originKeys": { 3 | "https://www.your-domain1.com": "pub.v2.7814286629520534.aHR0cHM6Ly93d3cueW91ci1kb21haW4xLmNvbQ.UEwIBmW9-c_uXo5wSEr2w8Hz8hVIpujXPHjpcEse3xI", 4 | "https://www.your-domain3.com": "pub.v2.7814286629520534.aHR0cHM6Ly93d3cueW91ci1kb21haW4zLmNvbQ.fUvflu-YIdZSsLEH8Qqmr7ksE4ag_NYiiMXK0s6aq_4", 5 | "https://www.your-domain2.com": "pub.v2.7814286629520534.aHR0cHM6Ly93d3cueW91ci1kb21haW4yLmNvbQ.EP6eXBJKk0t7-QIUl6e_b1qMuMHGepxG_SlUqxAYrfY" 6 | } 7 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/disputes/post-acceptDispute-accept-dispute-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "disputeServiceResult": { 3 | "success": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/disputes/post-defendDispute-defend-dispute-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "disputeServiceResult": { 3 | "success": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/disputes/post-deleteDisputeDefenseDocument-delete-dispute-defense-document-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "disputeServiceResult": { 3 | "success": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/disputes/post-downloadDisputeDefenseDocument-download-dispute-defense-document-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "disputeServiceResult": { 3 | "success": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/disputes/post-supplyDefenseDocument-supply-defense-document-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "disputeServiceResult": { 3 | "success": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/hmac-validation-webhook.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "acquirerCode": "TestPmmAcquirer", 4 | "acquirerReference": "J8DXDJ2PV6P", 5 | "authCode": "052095", 6 | "avsResult": "5 No AVS data provided", 7 | "avsResultRaw": "5", 8 | "cardSummary": "1111", 9 | "checkout.cardAddedBrand": "visa", 10 | "cvcResult": "1 Matches", 11 | "cvcResultRaw": "M", 12 | "expiryDate": "03/2030", 13 | "hmacSignature": "CZErGCNQaSsxbaQfZaJlakqo7KPP+mIa8a+wx3yNs9A=", 14 | "paymentMethod": "visa", 15 | "refusalReasonRaw": "AUTHORISED", 16 | "retry.attempt1.acquirer": "TestPmmAcquirer", 17 | "retry.attempt1.acquirerAccount": "TestPmmAcquirerAccount", 18 | "retry.attempt1.avsResultRaw": "5", 19 | "retry.attempt1.rawResponse": "AUTHORISED", 20 | "retry.attempt1.responseCode": "Approved", 21 | "retry.attempt1.scaExemptionRequested": "lowValue", 22 | "scaExemptionRequested": "lowValue" 23 | }, 24 | "amount": { 25 | "currency": "EUR", 26 | "value": 1000 27 | }, 28 | "eventCode": "AUTHORISATION", 29 | "eventDate": "2023-01-10T13:42:29+01:00", 30 | "merchantAccountCode": "AntoniStroinski", 31 | "merchantReference": "\\:/\\/slashes are fun", 32 | "operations": [ 33 | "CANCEL", 34 | "CAPTURE", 35 | "REFUND" 36 | ], 37 | "paymentMethod": "visa", 38 | "pspReference": "ZVWN7D3WSMK2WN82", 39 | "reason": "052095:1111:03/2030", 40 | "success": "true" 41 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/invalid-phone-afp-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "invalidFields": [ 3 | { 4 | "errorCode": 92, 5 | "errorDescription": "The fullPhoneNumber must be in the format of a beginning plus (+) followed by the country code and phone number. Only digits and the leading plus are permitted.", 6 | "fieldType": { 7 | "field": "AccountHolderDetails.PhoneNumber.fullPhoneNumber", 8 | "fieldName": "fullPhoneNumber" 9 | } 10 | } 11 | ], 12 | "pspReference": "123789" 13 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/Document.json: -------------------------------------------------------------------------------- 1 | { 2 | "attachment": { 3 | "content": "VGhpc2lzYW5iYXNlNjRlbmNvZGVkc3RyaW5n", 4 | "contentType": "string", 5 | "filename": "string", 6 | "pageName": "string", 7 | "pageType": "string" 8 | }, 9 | "attachments": [{ 10 | "content": "VGhpc2lzYW5iYXNlNjRlbmNvZGVkc3RyaW5n", 11 | "contentType": "string", 12 | "filename": "string", 13 | "pageName": "string", 14 | "pageType": "string" 15 | }], 16 | "description": "string", 17 | "expiryDate": "string", 18 | "fileName": "string", 19 | "id": "SE322KT223222D5FJ7TJN2986", 20 | "issuerCountry": "string", 21 | "issuerState": "string", 22 | "number": "string", 23 | "owner": { 24 | "id": "123456789", 25 | "type": "passport" 26 | }, 27 | "type": "driversLicense" 28 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/OnboardingLink.json: -------------------------------------------------------------------------------- 1 | { "url": "https://example.com" } 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/OnboardingTheme.json: -------------------------------------------------------------------------------- 1 | { 2 | "createdAt": "2022-10-31T01:30:00.000Z", 3 | "description": "string", 4 | "id": "SE322KT223222D5FJ7TJN2986", 5 | "properties": { "sample": "string" }, 6 | "updatedAt": "2022-10-31T01:30:00.000Z" 7 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/OnboardingThemes.json: -------------------------------------------------------------------------------- 1 | { 2 | "next": "string", 3 | "previous": "string", 4 | "themes": [{ 5 | "createdAt": "2022-10-31T01:30:00.000Z", 6 | "description": "string", 7 | "id": "SE322KT223222D5FJ7TJN2986", 8 | "properties": { "sample": "string" }, 9 | "updatedAt": "2022-10-31T01:30:00.000Z" 10 | }] 11 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/TransferInstrument.json: -------------------------------------------------------------------------------- 1 | { 2 | "bankAccount": { 3 | "countryCode": "NL", 4 | "currencyCode": "EUR", 5 | "iban": "NL62ABNA0000000123" 6 | }, 7 | "legalEntityId": "LE322KH223222D5GG4C9J83RN", 8 | "type": "bankAccount", 9 | "id": "SE576BH223222F5GJVKHH6BDT" 10 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/request/BusinessLineInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "industryCode": "string", 3 | "legalEntityId": "string", 4 | "salesChannels": [ 5 | "string" 6 | ], 7 | "service": "paymentProcessing", 8 | "sourceOfFunds": { 9 | "adyenProcessedFunds": true, 10 | "description": "string", 11 | "type": "business" 12 | }, 13 | "webData": [ 14 | { 15 | "webAddress": "string" 16 | } 17 | ], 18 | "webDataExemption": { 19 | "reason": "noOnlinePresence" 20 | } 21 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/request/BusinessLineInfoUpdate.json: -------------------------------------------------------------------------------- 1 | { 2 | "industryCode": "string", 3 | "legalEntityId": "string", 4 | "salesChannels": [ 5 | "string" 6 | ], 7 | "service": "paymentProcessing", 8 | "sourceOfFunds": { 9 | "adyenProcessedFunds": true, 10 | "description": "string", 11 | "type": "business" 12 | }, 13 | "webData": [ 14 | { 15 | "webAddress": "string" 16 | } 17 | ], 18 | "webDataExemption": { 19 | "reason": "noOnlinePresence" 20 | } 21 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/request/TransferInstrumentInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "bankAccount": { 3 | "accountIdentification": { 4 | "accountNumber": "string", 5 | "bsbCode": "string", 6 | "type": "auLocal" 7 | }, 8 | "countryCode": "string" 9 | }, 10 | "legalEntityId": "string", 11 | "type": "bankAccount" 12 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/legalentitymanagement/response/BusinessLine.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "string", 3 | "industryCode": "string", 4 | "legalEntityId": "string", 5 | "problems": [ 6 | { 7 | "entity": { 8 | "documents": [ 9 | "string" 10 | ], 11 | "id": "string", 12 | "owner": { 13 | "documents": [ 14 | "string" 15 | ], 16 | "id": "string", 17 | "type": "BankAccount" 18 | }, 19 | "type": "BankAccount" 20 | }, 21 | "verificationErrors": [ 22 | { 23 | "capabilities": [ 24 | "acceptExternalFunding" 25 | ], 26 | "code": "string", 27 | "message": "string", 28 | "remediatingActions": [ 29 | { 30 | "code": "string", 31 | "message": "string" 32 | } 33 | ], 34 | "subErrors": [ 35 | { 36 | "capabilities": [ 37 | "acceptExternalFunding" 38 | ], 39 | "code": "string", 40 | "message": "string", 41 | "type": "dataMissing", 42 | "remediatingActions": [ 43 | { 44 | "code": "string", 45 | "message": "string" 46 | } 47 | ] 48 | } 49 | ], 50 | "type": "dataMissing" 51 | } 52 | ] 53 | } 54 | ], 55 | "salesChannels": [ 56 | "string" 57 | ], 58 | "service": "paymentProcessing", 59 | "sourceOfFunds": { 60 | "adyenProcessedFunds": true, 61 | "description": "string", 62 | "type": "business" 63 | }, 64 | "webData": [ 65 | { 66 | "webAddress": "string", 67 | "webAddressId": "string" 68 | } 69 | ], 70 | "webDataExemption": { 71 | "reason": "noOnlinePresence" 72 | } 73 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/management/list-companies.json: -------------------------------------------------------------------------------- 1 | { 2 | "_links": { 3 | "first": { 4 | "href": "https://management-test.adyen.com/v1/companies?pageNumber=1&pageSize=10" 5 | }, 6 | "last": { 7 | "href": "https://management-test.adyen.com/v1/companies?pageNumber=1&pageSize=10" 8 | }, 9 | "self": { 10 | "href": "https://management-test.adyen.com/v1/companies?pageNumber=1&pageSize=10" 11 | } 12 | }, 13 | "itemsTotal": 1, 14 | "pagesTotal": 1, 15 | "data": [ 16 | { 17 | "id": "YOUR_COMPANY_ACCOUNT", 18 | "name": "YOUR_COMPANY_NAME", 19 | "status": "Active", 20 | "dataCenters": [ 21 | { 22 | "name": "default", 23 | "livePrefix": "" 24 | } 25 | ], 26 | "_links": { 27 | "self": { 28 | "href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT" 29 | }, 30 | "apiCredentials": { 31 | "href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT/apiCredentials" 32 | }, 33 | "users": { 34 | "href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT/users" 35 | }, 36 | "webhooks": { 37 | "href": "https://management-test.adyen.com/v1/companies/YOUR_COMPANY_ACCOUNT/webhooks" 38 | } 39 | } 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/management/store.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "YOUR_STORE_ID", 3 | "address": { 4 | "country": "US", 5 | "line1": "200 Main Street", 6 | "line2": "Building 5A", 7 | "line3": "Suite 3", 8 | "city": "Springfield", 9 | "stateOrProvince": "NY", 10 | "postalCode": "20250" 11 | }, 12 | "description": "City centre store", 13 | "merchantId": "YOUR_MERCHANT_ACCOUNT_ID", 14 | "shopperStatement": "Springfield Shop", 15 | "phoneNumber": "1813702551707653", 16 | "reference": "Spring_store_2", 17 | "status": "active", 18 | "_links": { 19 | "self": { 20 | "href": "https://management-test.adyen.com/v1/stores/YOUR_STORE_ID" 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/modification-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "881617892360409G", 3 | "response": "[refund-received]" 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/authorisation-true.json: -------------------------------------------------------------------------------- 1 | { 2 | "live": "false", 3 | "notificationItems": [{ 4 | "NotificationRequestItem": { 5 | "additionalData": { 6 | "expiryDate": "12\/2012", 7 | " NAME1 ": "VALUE1", 8 | "authCode": "1234", 9 | "cardSummary": "7777", 10 | "totalFraudScore": "10", 11 | "hmacSignature": "OzDjCMZIsdtDqrZ+cl\/FWC+WdESrorctXTzAzW33dXI=", 12 | "NAME2": " VALUE2 ", 13 | "fraudCheck-6-ShopperIpUsage": "10" 14 | }, 15 | "amount": { 16 | "currency": "EUR", 17 | "value": 10100 18 | }, 19 | "eventCode": "AUTHORISATION", 20 | "eventDate": "2017-01-19T16:42:03+01:00", 21 | "merchantAccountCode": "MagentoMerchantTest2", 22 | "merchantReference": "8313842560770001", 23 | "operations": ["CANCEL", "CAPTURE", "REFUND"], 24 | "paymentMethod": "visa", 25 | "pspReference": "123456789", 26 | "reason": "1234:7777:12\/2012", 27 | "success": "true" 28 | } 29 | }] 30 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/balancePlatform-transaction-created.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "id": "EVJN42272224222B5JB8BRC84N686ZEUR", 4 | "amount": { 5 | "value": 7000, 6 | "currency": "EUR" 7 | }, 8 | "status": "booked", 9 | "transfer": { 10 | "id": "JN4227222422265", 11 | "reference": "Split_item_1" 12 | }, 13 | "valueDate": "2023-03-01T00:00:00+02:00", 14 | "bookingDate": "2023-02-28T13:30:20+02:00", 15 | "creationDate": "2023-02-28T13:30:05+02:00", 16 | "accountHolder": { 17 | "id": "AH00000000000000000000001", 18 | "description": "Your description for the account holder", 19 | "reference": "Your reference for the account holder" 20 | }, 21 | "balanceAccount": { 22 | "id": "BA00000000000000000000001", 23 | "description": "Your description for the balance account", 24 | "reference": "Your reference for the balance account" 25 | }, 26 | "balancePlatform": "YOUR_BALANCE_PLATFORM" 27 | }, 28 | "type": "balancePlatform.transaction.created", 29 | "environment": "test" 30 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/cancellation-true.json: -------------------------------------------------------------------------------- 1 | { 2 | "live":"false", 3 | "notificationItems":[ 4 | { 5 | "NotificationRequestItem":{ 6 | "amount":{ 7 | "currency":"EUR", 8 | "value":500 9 | }, 10 | "eventCode":"CANCELLATION", 11 | "eventDate":"2018-03-05T09:08:05+01:00", 12 | "merchantAccountCode":"YOUR_MERCHANT_ACCOUNT", 13 | "originalReference":"8313547924770610", 14 | "paymentMethod":"mc", 15 | "pspReference":"8412534564722331", 16 | "reason":"", 17 | "success":"true" 18 | } 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/capture-false.json: -------------------------------------------------------------------------------- 1 | { 2 | "live": "false", 3 | "notificationItems": [{ 4 | "NotificationRequestItem": { 5 | "additionalData": { 6 | "hmacSignature": "KujHNqpyCAMdGefj7lfQ8AeD0Jke9Zs2bVAqScQDWi4=" 7 | }, 8 | "amount": { 9 | "currency": "USD", 10 | "value": 23623 11 | }, 12 | "eventCode": "CAPTURE", 13 | "eventDate": "2017-01-25T18:08:19+01:00", 14 | "merchantAccountCode": "MagentoMerchantTest2", 15 | "merchantReference": "00000001", 16 | "originalReference": "ORIGINAL_PSP", 17 | "paymentMethod": "visa", 18 | "pspReference": "PSP_REFERENCE", 19 | "reason": "Insufficient balance on payment", 20 | "success": "false" 21 | } 22 | }] 23 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/capture-true.json: -------------------------------------------------------------------------------- 1 | { 2 | "live": "false", 3 | "notificationItems": [{ 4 | "NotificationRequestItem": { 5 | "additionalData": { 6 | "hmacSignature": "qvS6I3Gdi1jx+jSh7IopAgcHtMoxvXlNL7DYQ+j1hd0=" 7 | }, 8 | "amount": { 9 | "currency": "USD", 10 | "value": 23623 11 | }, 12 | "eventCode": "CAPTURE", 13 | "eventDate": "2017-01-25T18:08:19+01:00", 14 | "merchantAccountCode": "MagentoMerchantTest2", 15 | "merchantReference": "00000001", 16 | "originalReference": "ORIGINAL_PSP", 17 | "paymentMethod": "visa", 18 | "pspReference": "PSP_REFERENCE", 19 | "reason": "", 20 | "success": "true" 21 | } 22 | }] 23 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/chargeback.json: -------------------------------------------------------------------------------- 1 | { 2 | "live":"true", 3 | "notificationItems":[ 4 | { 5 | "NotificationRequestItem":{ 6 | "additionalData":{ 7 | "chargebackReasonCode":"10.4", 8 | "modificationMerchantReferences":"", 9 | "chargebackSchemeCode":"visa" 10 | }, 11 | "amount":{ 12 | "currency":"EUR", 13 | "value":1000 14 | }, 15 | "eventCode":"CHARGEBACK", 16 | "eventDate":"2018-03-23T13:55:31+01:00", 17 | "merchantAccountCode":"TestMerchant", 18 | "merchantReference":"XXXXXXXXXX", 19 | "originalReference":"9913333333333333", 20 | "paymentMethod":"visa", 21 | "pspReference":"9915555555555555", 22 | "reason":"Other Fraud-Card Absent Environment", 23 | "success":"true" 24 | } 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/display-notification.json: -------------------------------------------------------------------------------- 1 | { 2 | "SaleToPOIRequest":{ 3 | "DisplayRequest":{ 4 | "DisplayOutput":[ 5 | { 6 | "Device": "CashierDisplay", 7 | "InfoQualify": "Status", 8 | "OutputContent": { 9 | "OutputFormat": "MessageRef", 10 | "PredefinedContent": { 11 | "ReferenceID": "TransactionID=oLkO001517998574000&TimeStamp=2018-02-07T10%3a16%3a14.000Z&event=TENDER_CREATED" 12 | } 13 | }, 14 | "ResponseRequiredFlag": false 15 | } 16 | ] 17 | }, 18 | "MessageHeader":{ 19 | "SaleID":"POSSystemID12345", 20 | "ProtocolVersion":"3.0", 21 | "MessageType":"Request", 22 | "POIID":"V400m-324688179", 23 | "ServiceID":"0207111617", 24 | "MessageClass":"Device", 25 | "MessageCategory":"Display", 26 | "DeviceID":"1517998562" 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/event-notification.json: -------------------------------------------------------------------------------- 1 | { 2 | "SaleToPOIRequest":{ 3 | "EventNotification":{ 4 | "EventDetails":"newstate=IDLE&oldstate=START", 5 | "EventToNotify":"Shutdown", 6 | "TimeStamp":"2019-08-07T10:16:10.000Z" 7 | }, 8 | "MessageHeader":{ 9 | "SaleID":"POSSystemID12345", 10 | "ProtocolVersion":"3.0", 11 | "MessageType":"Notification", 12 | "POIID":"V400m-324688179", 13 | "MessageClass":"Event", 14 | "MessageCategory":"Event", 15 | "DeviceID":"1517998561" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/offer-closed.json: -------------------------------------------------------------------------------- 1 | { 2 | "live" : "false", 3 | "notificationItems" : [ 4 | { 5 | "NotificationRequestItem" : { 6 | "amount" : { 7 | "currency" : "EUR", 8 | "value" : 27211 9 | }, 10 | "eventCode" : "OFFER_CLOSED", 11 | "eventDate" : "2019-04-29T14:17:30+02:12", 12 | "merchantAccountCode" : "TestMerchant", 13 | "merchantReference" : "000000275", 14 | "paymentMethod" : "ideal", 15 | "pspReference" : "8532565401975321", 16 | "reason" : "", 17 | "success" : "true" 18 | } 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/refund-false.json: -------------------------------------------------------------------------------- 1 | { 2 | "live": "false", 3 | "notificationItems": [{ 4 | "NotificationRequestItem": { 5 | "additionalData": { 6 | "hmacSignature": "HZXziBYopfDIzDhk49iC\/\/yCfxmy\/z0xWuvvTxFNUSA=" 7 | }, 8 | "amount": { 9 | "currency": "EUR", 10 | "value": 1500 11 | }, 12 | "eventCode": "REFUND", 13 | "eventDate": "2017-02-17T11:04:07+01:00", 14 | "merchantAccountCode": "MagentoMerchantTest2", 15 | "merchantReference": "payment-2017-1-17-11-refund", 16 | "originalReference": "ORIGINAL_PSP", 17 | "paymentMethod": "visa", 18 | "pspReference": "PSP_REFERENCE", 19 | "reason": "Insufficient balance on payment", 20 | "success": "false" 21 | } 22 | }] 23 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/notification/refund-true.json: -------------------------------------------------------------------------------- 1 | { 2 | "live": "false", 3 | "notificationItems": [{ 4 | "NotificationRequestItem": { 5 | "additionalData": { 6 | "hmacSignature": "KJFhURWP8Pv9m8k+7NGHNJAupBj6X6J\/VWAikFxeWhA=" 7 | }, 8 | "amount": { 9 | "currency": "EUR", 10 | "value": 1500 11 | }, 12 | "eventCode": "REFUND", 13 | "eventDate": "2017-02-17T11:11:44+01:00", 14 | "merchantAccountCode": "MagentoMerchantTest2", 15 | "merchantReference": "payment-2017-1-17-11-refund", 16 | "originalReference": "ORIGINAL_PSP", 17 | "paymentMethod": "visa", 18 | "pspReference": "PSP_REFERENCE", 19 | "reason": "", 20 | "success": "true" 21 | } 22 | }] 23 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/modifyResponse-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "8815131762537886", 3 | "response": "[payout-confirm-received]" 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/payout-error-403.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 403, 3 | "errorCode": "901", 4 | "message": "Invalid Merchant Account", 5 | "errorType": "security" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/payout-error-422.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "130", 4 | "message": "Reference Missing", 5 | "errorType": "validation" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/payout-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference":"8814689190961342", 3 | "resultCode":"Authorised", 4 | "authCode":"12345" 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/storeDetail-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "8515136787207087", 3 | "recurringDetailReference": "8415088571022720", 4 | "resultCode": "Success" 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/storeDetailAndSubmitThirdParty-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "fraudResultType": "GREEN", 4 | "fraudManualReview": "false" 5 | }, 6 | "pspReference": "8515131751004933", 7 | "resultCode": "[payout-submit-received]" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/payout/submitResponse-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "additionalData": { 3 | "fraudResultType": "GREEN", 4 | "fraudManualReview": "false" 5 | }, 6 | "pspReference": "8815131768219992", 7 | "resultCode": "[payout-submit-received]" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/pos/connectedTerminals-error-403.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 403, 3 | "errorCode": "901", 4 | "message": "Invalid Merchant Account", 5 | "errorType": "security" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/pos/connectedTerminals-error-500.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 500, 3 | "errorCode": "702", 4 | "message": "Required field 'merchantAccount' is null", 5 | "errorType": "validation" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/pos/connectedTerminals-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "uniqueTerminalIds": [ 3 | "P400Plus-123456789", 4 | "V400m-987654321" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/posterminalmanagement/assign-terminals-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "results": { 3 | "P400Plus-275479597": "RemoveConfigScheduled" 4 | } 5 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/posterminalmanagement/find-terminal-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "companyAccount": "DemoCompany", 3 | "merchantAccount": "TestMerchant", 4 | "merchantInventory": false, 5 | "store": "MyStore", 6 | "terminal": "P400Plus-375039202" 7 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/posterminalmanagement/get-stores-under-account-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "stores": [ 3 | { 4 | "store": "DemoStore", 5 | "description": "DemoStore", 6 | "address": { 7 | "city": "Amsterdam", 8 | "countryCode": "NL", 9 | "postalCode": "1011", 10 | "streetAddress": "test street" 11 | }, 12 | "status": "Active", 13 | "merchantAccountCode": "TestMerchant" 14 | }, 15 | { 16 | "store": "DemoStore1", 17 | "description": "DemoStore1", 18 | "address": { 19 | "city": "Amsterdam", 20 | "countryCode": "NL", 21 | "postalCode": "1011", 22 | "streetAddress": "test street" 23 | }, 24 | "status": "Active", 25 | "merchantAccountCode": "TestMerchant1" 26 | }, 27 | { 28 | "store": "DemoStore2", 29 | "description": "DemoStore2", 30 | "address": { 31 | "city": "Amsterdam", 32 | "countryCode": "NL", 33 | "postalCode": "1011", 34 | "streetAddress": "test street" 35 | }, 36 | "status": "Active", 37 | "merchantAccountCode": "TestMerchant2" 38 | }, 39 | { 40 | "store": "MyStore", 41 | "description": "MyStore", 42 | "address": { 43 | "city": "Amsterdam", 44 | "countryCode": "NL", 45 | "postalCode": "1011", 46 | "streetAddress": "test street" 47 | }, 48 | "status": "Active", 49 | "merchantAccountCode": "TestMerchant3" 50 | }, 51 | { 52 | "store": "MyStore", 53 | "description": "MyStore", 54 | "address": { 55 | "city": "Amsterdam", 56 | "countryCode": "NL", 57 | "postalCode": "1011", 58 | "streetAddress": "test street" 59 | }, 60 | "status": "Active", 61 | "merchantAccountCode": "TestMerchant4" 62 | } 63 | ] 64 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/posterminalmanagement/get-terminal-details-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "companyAccount": "DemoCompany", 3 | "merchantAccount": "TestMerchant", 4 | "merchantInventory": false, 5 | "store": "MyStore", 6 | "terminal": "P400Plus-375039202", 7 | "deviceModel": "P400Plus", 8 | "serialNumber": "375-039-202", 9 | "permanentTerminalId": "12345678", 10 | "terminalStatus": "OnlineLast1Day", 11 | "firmwareVersion": "Verifone_VOS 1.54.4", 12 | "country": "NETHERLANDS", 13 | "storeDetails": { 14 | "store": "MyStore", 15 | "description": "MyStore", 16 | "address": { 17 | "city": "Amsterdam", 18 | "countryCode": "NL", 19 | "postalCode": "1011", 20 | "streetAddress": "test street" 21 | } 22 | }, 23 | "lastTransactionDateTime": "2020-08-13T16:33:11+02:00", 24 | "lastActivityDateTime": "2020-08-13T16:33:17+02:00", 25 | "ethernetMac": "61:c7:98:a6:55:7a", 26 | "wifiMac": "a4:08:ea:cf:fc:3c", 27 | "wifiIp": "192.168.12.12", 28 | "dhcpEnabled": false 29 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/posterminalmanagement/get-terminals-under-account-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "companyAccount": "DemoCompany", 3 | "merchantAccounts": [ 4 | { 5 | "merchantAccount": "TestMerchant", 6 | "stores": [ 7 | { 8 | "store": "MyStore", 9 | "inStoreTerminals": [ 10 | "P400Plus-375039202" 11 | ] 12 | } 13 | ] 14 | }, 15 | { 16 | "merchantAccount": "TestMerchant2", 17 | "inStoreTerminals": [ 18 | "P400Plus-375039302" 19 | ], 20 | "stores": [ 21 | { 22 | "store": "MyStore", 23 | "inStoreTerminals": [ 24 | "V400m-446489245", 25 | "V400m-446489310" 26 | ] 27 | } 28 | ] 29 | }, 30 | { 31 | "merchantAccount": "TestMerchant3", 32 | "inStoreTerminals": [ 33 | "VX690-421415605" 34 | ] 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/createPermit-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "permitResultList": [ 3 | { 4 | "resultKey": "resultKey", 5 | "token": "token" 6 | } 7 | ], 8 | "pspReference": "1234qwer" 9 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/disable-error-803.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "803", 4 | "message": "PaymentDetail not found", 5 | "errorType": "validation" 6 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/disable-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "response": "[detail-successfully-disabled]" 3 | } 4 | -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/disablePermit-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "1234qwer", 3 | "status": "disabled" 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/listRecurringDetails-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "creationDate": "2017-03-01T11:53:11+01:00", 3 | "details": [ 4 | {"RecurringDetail": { 5 | "additionalData": { 6 | "cardBin": "411111" 7 | }, 8 | "alias": "cardAlias", 9 | "aliasType": "Default", 10 | "card": { 11 | "expiryMonth": "8", 12 | "expiryYear": "2018", 13 | "holderName": "Holder", 14 | "number": "1111" 15 | }, 16 | "contractTypes": [ 17 | "ONECLICK" 18 | ], 19 | "creationDate": "2017-03-07T09:43:33+01:00", 20 | "firstPspReference": "8524888762135795", 21 | "paymentMethodVariant": "visa", 22 | "recurringDetailReference": "recurringReference", 23 | "variant": "visa" 24 | }}, 25 | {"RecurringDetail": { 26 | "billingAddress": { 27 | "city": "City", 28 | "country": "NL", 29 | "houseNumberOrName": "1", 30 | "postalCode": "2312aa", 31 | "stateOrProvince": "NA", 32 | "street": "Street" 33 | }, 34 | "contractTypes": [ 35 | "RECURRING" 36 | ], 37 | "creationDate": "2017-10-10T08:50:02+02:00", 38 | "firstPspReference": "8515076181707110", 39 | "paymentMethodVariant": "paypal", 40 | "recurringDetailReference": "8315076181982020", 41 | "tokenDetails": { 42 | "tokenData": { 43 | "EmailId": "tedtest@test.nl", 44 | "PayPal.PayerId": "H95EPL8B2KFE6", 45 | "BillingAgreementId": "B-7MA42752FE774625C" 46 | }, 47 | "tokenDataType": "PayPal" 48 | }, 49 | "variant": "paypal" 50 | } 51 | } 52 | ], 53 | "shopperReference": "test-123" 54 | } 55 | -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/notifyShopper-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayedReference": "Example displayed reference", 3 | "message": "Request processed successfully", 4 | "pspReference": "8516167336214570", 5 | "reference": "Example reference", 6 | "resultCode": "Success", 7 | "shopperNotificationReference": "IA0F7500002462" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/scheduleAccountUpdater-error-130.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": 422, 3 | "errorCode": "130", 4 | "message": "Reference Missing", 5 | "errorType": "validation" 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/mocks/recurring/scheduleAccountUpdater-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "pspReference": "8815398995557524", 3 | "result": "Success" 4 | } 5 | -------------------------------------------------------------------------------- /src/test/resources/mocks/request-subject-erasure-not-found.json: -------------------------------------------------------------------------------- 1 | { 2 | "result": "PAYMENT_NOT_FOUND" 3 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/request-subject-erasure-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "result": "SUCCESS" 3 | } 4 | -------------------------------------------------------------------------------- /src/test/resources/mocks/response-validation-error-invalid-json.json: -------------------------------------------------------------------------------- 1 | { 2 | "status" : 422, 3 | "errorCode" : "130", 4 | "message" : "Required field 'reference' is not provided.", 5 | "errorType" : "validation", 6 | "pspReference" : "ABCDEFGHIJKLMNO", 7 | ... 8 | // testing invalid JSON 9 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/response-validation-error-rfc7807.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "https://docs.adyen.com/errors/validation", 3 | "title": "The request is missing required fields or contains invalid data.", 4 | "status": 422, 5 | "detail": "Invalid legal entity information provided", 6 | "requestId": "1234567890", 7 | "invalidFields": [ 8 | { 9 | "name": "type", 10 | "message": "Type was not provided, or was invalid. Possible values: [organization, individual, soleProprietorship, trust, unincorporatedPartnership]." 11 | } 12 | ], 13 | "errorCode": "30_102" 14 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/response-validation-error.json: -------------------------------------------------------------------------------- 1 | { 2 | "status" : 422, 3 | "errorCode" : "130", 4 | "message" : "Required field 'reference' is not provided.", 5 | "errorType" : "validation", 6 | "pspReference" : "ABCDEFGHIJKLMNO" 7 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/retrieve-result-success-3ds2.json: -------------------------------------------------------------------------------- 1 | { 2 | "threeDS2Result":{ 3 | "transStatus":"Y", 4 | "authenticationValue":"3q2+78r+ur7erb7vyv66vv8deha8=", 5 | "eci":"07", 6 | "threeDSServerTransID":"73aab3ce-eb39-49e8-8e9b-46fb77a472f1" 7 | } 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/sessionauthentication/response/SessionAuthenticationCreated.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "11a1e60a-18b0-4dda-9258-e0ae29e1e2a3", 3 | "token": "eyJraWQiOiJwbGF0Zm9ybWNvbGRlciI..." 4 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/smallendpoints/balance-control.json: -------------------------------------------------------------------------------- 1 | { 2 | "amount": { 3 | "value": 50000, 4 | "currency": "EUR" 5 | }, 6 | "createdAt": "2022-01-24T14:59:11+01:00", 7 | "description": "Your description for the transfer", 8 | "fromMerchant": "MerchantAccount_NL", 9 | "toMerchant": "MerchantAccount_DE", 10 | "type": "debit", 11 | "reference": "Unique reference for the transfer", 12 | "pspReference": "8816080397613514", 13 | "status": "transferred" 14 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/storedvalue/change-status-active-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "currentBalance": { 3 | "currency": "EUR", 4 | "value": 1000 5 | }, 6 | "pspReference": "851591629631298F", 7 | "resultCode": "Success", 8 | "authCode": "123456" 9 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/storedvalue/check-balance-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "currentBalance": { 3 | "currency": "EUR", 4 | "value": 999999 5 | }, 6 | "pspReference": "851591688783359H", 7 | "resultCode": "Success" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/storedvalue/issue-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "currentBalance": { 3 | "currency": "EUR", 4 | "value": 1000 5 | }, 6 | "pspReference": "851591622730873A", 7 | "resultCode": "Success", 8 | "authCode": "123456", 9 | "paymentMethod": { 10 | "number": "6036280000000000000", 11 | "type": "givex" 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/storedvalue/load-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "currentBalance": { 3 | "currency": "EUR", 4 | "value": 1001999 5 | }, 6 | "pspReference": "881591686892740H", 7 | "resultCode": "Success", 8 | "authCode": "123456" 9 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/storedvalue/merge-balance-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "currentBalance": { 3 | "currency": "EUR", 4 | "value": 5600 5 | }, 6 | "pspReference": "881564657480267D", 7 | "resultCode": "Success" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/storedvalue/void-transaction-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "currentBalance": { 3 | "currency": "EUR", 4 | "value": 999999 5 | }, 6 | "pspReference": "851591692895398C", 7 | "resultCode": "Success" 8 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/terminal-api/abort-sync-success: -------------------------------------------------------------------------------- 1 | ok -------------------------------------------------------------------------------- /src/test/resources/mocks/terminal-api/input-request-success.json: -------------------------------------------------------------------------------- 1 | { 2 | "SaleToPOIResponse": { 3 | "InputResponse": { 4 | "InputResult": { 5 | "Device": "CustomerInput", 6 | "InfoQualify": "Input", 7 | "Response": { 8 | "Result": "Success", 9 | "AdditionalResponse": "responseData=%7b%20%20%7d" 10 | }, 11 | "Input": { 12 | "MenuEntryNumber": [ 13 | 0, 14 | 1 15 | ], 16 | "InputCommand": "GetMenuEntry" 17 | } 18 | }, 19 | "OutputResult": { 20 | "Device": "CustomerDisplay", 21 | "InfoQualify": "Display", 22 | "Response": { 23 | "Result": "Success" 24 | } 25 | } 26 | }, 27 | "MessageHeader": { 28 | "ProtocolVersion": "3.0", 29 | "SaleID": "sanderr-4c32759faaa7", 30 | "MessageClass": "Device", 31 | "MessageCategory": "Input", 32 | "ServiceID": "04151914", 33 | "POIID": "V400m-346114957", 34 | "MessageType": "Response" 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/resources/mocks/terminal-api/payment-async-success: -------------------------------------------------------------------------------- 1 | ok -------------------------------------------------------------------------------- /src/test/resources/mocks/terminal-api/payment-sync-error-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "SaleToPOIRequest": { 3 | "MessageHeader": { 4 | "DeviceID": "286881016", 5 | "MessageCategory": "Event", 6 | "MessageClass": "Event", 7 | "MessageType": "Notification", 8 | "POIID": "N/A", 9 | "ProtocolVersion": "3.0", 10 | "SaleID": "N/A" 11 | }, 12 | "EventNotification": { 13 | "RejectedMessage": "", 14 | "EventToNotify": "Reject", 15 | "TimeStamp": "2019-05-17T14:12:39.323Z", 16 | "EventDetails": "message=Empty+input+which+would+have+resulted+in+a+null+result." 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/transfers/get-transactions-id-success-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "EVJN4227C224222B5JBDHPTD672M52EUR", 3 | "amount": { 4 | "value": -10000, 5 | "currency": "EUR" 6 | }, 7 | "status": "booked", 8 | "eventId": "EVJN4227C224222B5JBDHPTD672M52", 9 | "transfer": { 10 | "id": "48TYZO5ZVURJ2FCW", 11 | "reference": "Your internal reference for the transfer" 12 | }, 13 | "valueDate": "2023-08-11T16:19:35+02:00", 14 | "bookingDate": "2023-08-11T16:19:39+02:00", 15 | "creationDate": "2023-08-11T16:19:35+02:00", 16 | "accountHolder": { 17 | "id": "AH00000000000000000000001", 18 | "description": "Your description of the account holder" 19 | }, 20 | "balanceAccount": { 21 | "id": "BA00000000000000000000001", 22 | "description": "Your description of the balance account" 23 | }, 24 | "balancePlatform": "YOUR_BALANCE_PLATFORM" 25 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/transfers/post-transfers-payout-cross-border-200.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "1W1UG35U8A9J5ZLG", 3 | "accountHolder": { 4 | "description": "Your account holder description", 5 | "id": "AH3227C223222C5GXQXF658WB", 6 | "reference": "Your account holder reference" 7 | }, 8 | "amount": { 9 | "value": 110000, 10 | "currency": "EUR" 11 | }, 12 | "balanceAccount": { 13 | "description": "Your balance account description", 14 | "id": "BAB8B2C3D4E5F6G7H8D9J6GD4", 15 | "reference": "Your balance account reference" 16 | }, 17 | "category": "bank", 18 | "categoryData": { 19 | "priority": "crossBorder", 20 | "type": "bank" 21 | }, 22 | "counterparty": { 23 | "bankAccount": { 24 | "accountHolder": { 25 | "fullName": "A. Klaassen", 26 | "address": { 27 | "city": "San Francisco", 28 | "country": "US", 29 | "postalCode": "94678", 30 | "stateOrProvince": "CA", 31 | "line1": "274", 32 | "line2": "Brannan Street" 33 | } 34 | }, 35 | "accountIdentification": { 36 | "type": "numberAndBic", 37 | "accountNumber": "123456789", 38 | "bic": "BOFAUS3NXXX" 39 | } 40 | } 41 | }, 42 | "paymentInstrument": { 43 | "description": "Your payment instrument description", 44 | "id": "PI3222G223222G59347DAA265", 45 | "reference": "Your payment instrument reference" 46 | }, 47 | "referenceForBeneficiary": "Your-reference-sent-to-the-beneficiary", 48 | "reference": "Your internal reference for the transfer", 49 | "description": "Your description for the transfer", 50 | "direction": "outgoing", 51 | "reason": "approved", 52 | "status": "authorised" 53 | } -------------------------------------------------------------------------------- /src/test/resources/testStore.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Adyen/adyen-java-api-library/ae24225cdb374ad39a553111123ff867e0830982/src/test/resources/testStore.keystore -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/api_overload.mustache: -------------------------------------------------------------------------------- 1 | {{! Overload contains just required and body params }} 2 | {{#requiredParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#bodyParams}}{{^required}}{{#hasRequiredParams}}, {{/hasRequiredParams}}{{{dataType}}} {{paramName}}{{/required}}{{/bodyParams}} -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/api_overload_invoke.mustache: -------------------------------------------------------------------------------- 1 | {{! Overload contains just required and body params, null on the remaining }} 2 | {{#pathParams}}{{paramName}}, {{/pathParams}}{{#queryParams}}{{#required}}{{paramName}}, {{/required}}{{^required}}null, {{/required}} {{/queryParams}}{{#bodyParams}}{{paramName}}, {{/bodyParams}}null -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/api_parameters.mustache: -------------------------------------------------------------------------------- 1 | {{! Path and body are required, followed by optional query string and request options }} 2 | {{#pathParams}}{{{dataType}}} {{paramName}}, {{/pathParams}}{{#queryParams}}{{{dataType}}} {{paramName}}, {{/queryParams}}{{#bodyParams}}{{{dataType}}} {{paramName}}, {{/bodyParams}}RequestOptions requestOptions -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/api_summary.mustache: -------------------------------------------------------------------------------- 1 | /** 2 | * {{summary}} 3 | * 4 | {{#pathParams}} 5 | * @param {{paramName}} {@link {{dataType}} } {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}){{/isContainer}}{{/required}} 6 | {{/pathParams}} 7 | {{#bodyParams}} 8 | * @param {{paramName}} {@link {{dataType}} } {{description}} (required) 9 | {{/bodyParams}} 10 | {{#queryParams}} 11 | * @param {{paramName}} {@link {{dataType}} } Query: {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}){{/isContainer}}{{/required}} 12 | {{/queryParams}} 13 | * @param requestOptions {@link RequestOptions } Object to store additional data such as idempotency-keys (optional) 14 | {{#returnType}} 15 | * @return {@link {{.}} } 16 | {{/returnType}} 17 | * @throws ApiException if fails to make API call 18 | {{#isDeprecated}} 19 | * @deprecated {{#vendorExtensions.x-deprecatedInVersion}}since {{#appName}}{{{.}}}{{/appName}} v{{.}}{{/vendorExtensions.x-deprecatedInVersion}}{{#vendorExtensions.x-deprecatedMessage}} 20 | * {{{.}}}{{/vendorExtensions.x-deprecatedMessage}} 21 | {{/isDeprecated}} 22 | {{#externalDocs}} 23 | * {{description}} 24 | * @see {{summary}} Documentation 25 | {{/externalDocs}} 26 | */ -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/api_summary_overload.mustache: -------------------------------------------------------------------------------- 1 | /** 2 | * {{summary}} 3 | * 4 | {{#requiredParams}} 5 | * @param {{paramName}} {@link {{dataType}} } {{description}} (required) 6 | {{/requiredParams}} 7 | {{#bodyParams}} 8 | * @param {{paramName}} {@link {{dataType}} } {{description}} (required) 9 | {{/bodyParams}} 10 | {{#returnType}} 11 | * @return {@link {{.}} } 12 | {{/returnType}} 13 | * @throws ApiException if fails to make API call 14 | {{#isDeprecated}} 15 | * @deprecated {{#vendorExtensions.x-deprecatedInVersion}}since {{#appName}}{{{.}}}{{/appName}} v{{.}}{{/vendorExtensions.x-deprecatedInVersion}}{{#vendorExtensions.x-deprecatedMessage}} 16 | * {{{.}}}{{/vendorExtensions.x-deprecatedMessage}} 17 | {{/isDeprecated}} 18 | {{#externalDocs}} 19 | * {{description}} 20 | * @see {{summary}} Documentation 21 | {{/externalDocs}} 22 | */ -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/jackson_annotations.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | If this is map and items are nullable, make sure that nulls are included. 3 | To determine what JsonInclude.Include method to use, consider the following: 4 | * If the field is required, always include it, even if it is null. 5 | * Else use custom behaviour, IOW use whatever is defined on the object mapper 6 | }} 7 | @JsonProperty(JSON_PROPERTY_{{nameInSnakeCase}}) 8 | {{! 9 | // the original templates use JsonInclude.Include.ALWAYS for required fields, resulting for example in ` "amount" : null` 10 | // our custom templates use JsonInclude.Include.USE_DEFAULTS as we want to exclude fields with null 11 | }} 12 | @JsonInclude({{#isMap}}{{#items.isNullable}}content = JsonInclude.Include.ALWAYS, {{/items.isNullable}}{{/isMap}}value = JsonInclude.Include.USE_DEFAULTS){{#withXml}} 13 | @JacksonXmlProperty(localName = "{{items.xmlName}}{{^items.xmlName}}{{xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}{{/items.xmlName}}"{{#isXmlAttribute}}, isAttribute = true{{/isXmlAttribute}}{{#xmlNamespace}}, namespace = "{{.}}"{{/xmlNamespace}}) 14 | {{#isContainer}} 15 | @JacksonXmlElementWrapper({{#isXmlWrapped}}localName = "{{xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}", {{#xmlNamespace}}namespace = "{{.}}", {{/xmlNamespace}}{{/isXmlWrapped}}useWrapping = {{isXmlWrapped}}) 16 | {{/isContainer}} 17 | {{/withXml}} -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/licenseInfo.mustache: -------------------------------------------------------------------------------- 1 | /* 2 | * {{{appName}}} 3 | * 4 | * {{#version}}The version of the OpenAPI document: {{{.}}}{{/version}} 5 | * {{#infoEmail}}Contact: {{{.}}}{{/infoEmail}} 6 | * 7 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 8 | * https://openapi-generator.tech 9 | * Do not edit the class manually. 10 | */ 11 | -------------------------------------------------------------------------------- /templates-v7/libraries/jersey3/model.mustache: -------------------------------------------------------------------------------- 1 | {{>licenseInfo}} 2 | 3 | package {{package}}; 4 | 5 | {{#useReflectionEqualsHashCode}} 6 | import org.apache.commons.lang3.builder.EqualsBuilder; 7 | import org.apache.commons.lang3.builder.HashCodeBuilder; 8 | {{/useReflectionEqualsHashCode}} 9 | {{#models}} 10 | {{#model}} 11 | {{#additionalPropertiesType}} 12 | import java.util.Map; 13 | import java.util.HashMap; 14 | import com.fasterxml.jackson.annotation.JsonAnyGetter; 15 | import com.fasterxml.jackson.annotation.JsonAnySetter; 16 | {{/additionalPropertiesType}} 17 | {{/model}} 18 | {{/models}} 19 | import java.util.Objects; 20 | import java.util.Map; 21 | import java.util.HashMap; 22 | {{#imports}} 23 | import {{import}}; 24 | {{/imports}} 25 | {{#serializableModel}} 26 | import java.io.Serializable; 27 | {{/serializableModel}} 28 | {{#jackson}} 29 | import com.fasterxml.jackson.annotation.JsonPropertyOrder; 30 | import com.fasterxml.jackson.core.JsonProcessingException; 31 | {{#withXml}} 32 | import com.fasterxml.jackson.dataformat.xml.annotation.*; 33 | {{/withXml}} 34 | {{#vendorExtensions.x-has-readonly-properties}} 35 | import com.fasterxml.jackson.annotation.JsonCreator; 36 | {{/vendorExtensions.x-has-readonly-properties}} 37 | {{/jackson}} 38 | {{#withXml}} 39 | import {{javaxPackage}}.xml.bind.annotation.*; 40 | {{/withXml}} 41 | {{#parcelableModel}} 42 | import android.os.Parcelable; 43 | import android.os.Parcel; 44 | {{/parcelableModel}} 45 | {{#useBeanValidation}} 46 | import jakarta.validation.constraints.*; 47 | import jakarta.validation.Valid; 48 | {{/useBeanValidation}} 49 | {{#performBeanValidation}} 50 | import org.hibernate.validator.constraints.*; 51 | {{/performBeanValidation}} 52 | 53 | {{#models}} 54 | {{#model}} 55 | {{#oneOf}} 56 | {{#-first}} 57 | import com.fasterxml.jackson.core.type.TypeReference; 58 | {{/-first}} 59 | {{/oneOf}} 60 | 61 | {{#isEnum}}{{>modelEnum}}{{/isEnum}}{{^isEnum}}{{#oneOf}}{{#-first}}{{>oneof_model}}{{/-first}}{{/oneOf}}{{^oneOf}}{{#anyOf}}{{#-first}}{{>anyof_model}}{{/-first}}{{/anyOf}}{{^anyOf}}{{>pojo}}{{/anyOf}}{{/oneOf}}{{/isEnum}} 62 | {{/model}} 63 | {{/models}} -------------------------------------------------------------------------------- /tools/hmac/README.md: -------------------------------------------------------------------------------- 1 | ## HMAC Tools 2 | 3 | This folder contains the tools/scripts to calculate the HMAC signature of the webhook payload. 4 | They can be used to troubleshoot the HMAC signature calculation. 5 | 6 | Check tools/hmac/pom.xml to confirm the Adyen Java API library version 7 | 8 | Note: make sure you are using the HMAC key used to generate the signature associated with the payload in the JSON file 9 | 10 | ### Payments webhooks 11 | 12 | Copy the content of the webhook in the payload.json (or provide a different file), then run with: 13 | `mvn clean compile exec:java -Dexec.mainClass=CalculateHmacPayments -Dexec.args= "{hmacKey} {path_to_JSON_file}"` 14 | ``` 15 | cd tools/hmac 16 | 17 | mvn clean compile exec:java -Dexec.mainClass=CalculateHmacPayments -Dexec.args="11223344D785FBAE710E7F943F307971BB61B21281C98C9129B3D4018A57B2EB payload.json" 18 | ``` 19 | 20 | ### Platform webhooks (AfP, Management API, etc..) 21 | 22 | Copy the content of the webhook in the payload2.json (or provide a different file), then run with: 23 | `mvn clean compile exec:java -Dexec.mainClass=CalculateHmacPlatform -Dexec.args= "{hmacKey} {path_to_JSON_file}"` 24 | ``` 25 | cd tools/hmac 26 | 27 | mvn clean compile exec:java -Dexec.mainClass=CalculateHmacPlatform -Dexec.args="11223344D785FBAE710E7F943F307971BB61B21281C98C9129B3D4018A57B2EB payload2.json" 28 | ``` -------------------------------------------------------------------------------- /tools/hmac/payload2.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "balancePlatform": "YOUR_BALANCE_PLATFORM", 4 | "accountHolder": { 5 | "contactDetails": { 6 | "email": "test@adyen.com", 7 | "phone": { 8 | "number": "0612345678", 9 | "type": "mobile" 10 | }, 11 | "address": { 12 | "houseNumberOrName": "23", 13 | "city": "Amsterdam", 14 | "country": "NL", 15 | "postalCode": "12345", 16 | "street": "Main Street 1" 17 | } 18 | }, 19 | "description": "Shelly Eller", 20 | "legalEntityId": "LE00000000000000000001", 21 | "reference": "YOUR_REFERENCE-2412C", 22 | "capabilities": { 23 | "issueCard": { 24 | "enabled": true, 25 | "requested": true, 26 | "allowed": false, 27 | "verificationStatus": "pending" 28 | }, 29 | "receiveFromTransferInstrument": { 30 | "enabled": true, 31 | "requested": true, 32 | "allowed": false, 33 | "verificationStatus": "pending" 34 | }, 35 | "sendToTransferInstrument": { 36 | "enabled": true, 37 | "requested": true, 38 | "allowed": false, 39 | "verificationStatus": "pending" 40 | }, 41 | "sendToBalanceAccount": { 42 | "enabled": true, 43 | "requested": true, 44 | "allowed": false, 45 | "verificationStatus": "pending" 46 | }, 47 | "receiveFromBalanceAccount": { 48 | "enabled": true, 49 | "requested": true, 50 | "allowed": false, 51 | "verificationStatus": "pending" 52 | } 53 | }, 54 | "id": "AH00000000000000000001", 55 | "status": "active" 56 | } 57 | }, 58 | "environment": "test", 59 | "timestamp": "2024-12-15T15:42:03+01:00", 60 | "type": "balancePlatform.accountHolder.created" 61 | } -------------------------------------------------------------------------------- /tools/hmac/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.adyen 8 | hmac-troubleshooting 9 | 1.0.0-SNAPSHOT 10 | jar 11 | 12 | HMAC Troubleshooting - Adyen Java library 13 | Scripts to troubleshoot the HMAC validation 14 | 15 | 16 | 17 | com.adyen 18 | adyen-java-api-library 19 | 35.0.0 20 | 21 | 22 | 23 | 24 | . 25 | 26 | 27 | org.apache.maven.plugins 28 | maven-compiler-plugin 29 | 3.8.1 30 | 31 | 11 32 | 11 33 | 34 | 35 | 36 | 37 | org.codehaus.mojo 38 | exec-maven-plugin 39 | 3.5.0 40 | 41 | 42 | maven 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /upgrade_release_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function usage() { 4 | echo " -h help" 5 | echo " -o " 6 | echo " -n " 7 | } 8 | 9 | function replace() { 10 | 11 | declare -a fileList=("README.md" "pom.xml" "src/main/java/com/adyen/Client.java") 12 | for FILENAME in "${fileList[@]}" 13 | 14 | do 15 | XMLTMPFILE=$FILENAME.bak 16 | echo "Updating file - $FILENAME" 17 | cat $FILENAME > $XMLTMPFILE 18 | sed -i.bak s/${OLDVERSION}/${NEWVERSION}/g $FILENAME 19 | rm -f $XMLTMPFILE 20 | done 21 | } 22 | 23 | while getopts "ho:n:" o; do 24 | case $o in 25 | h) 26 | usage 27 | ;; 28 | o) 29 | OLDVERSION=${OPTARG};; 30 | 31 | n) 32 | NEWVERSION=${OPTARG};; 33 | esac 34 | done 35 | 36 | echo "Old release version is" $OLDVERSION 37 | echo "New release version is" $NEWVERSION 38 | 39 | if [ -z "${OLDVERSION}" ]; then 40 | echo "Please specify the 'oldversion' argument"; 41 | usage; 42 | exit 1; 43 | fi 44 | 45 | if [ -z $NEWVERSION ]; then 46 | echo "Please specify the 'newversion' argument"; 47 | usage; 48 | exit 1; 49 | fi 50 | 51 | replace 52 | 53 | echo "Finished ${FILENAME}" 54 | exit $RT 55 | --------------------------------------------------------------------------------