From ae81498b743e164abf52d7c6ede087589aec1e9a Mon Sep 17 00:00:00 2001 From: rebilly-machine-user Date: Fri, 20 Mar 2026 14:49:13 +0000 Subject: [PATCH] update SDK from api-definitions --- .changeset/afraid-trees-impress.md | 5 + .changeset/beige-pans-shout.md | 5 + .changeset/big-dragons-yell.md | 5 + .changeset/big-kids-turn.md | 5 + .changeset/bright-rules-lay.md | 5 + .changeset/brown-doors-grow.md | 5 + .changeset/calm-plums-kick.md | 5 + .changeset/chatty-pets-fix.md | 5 + .changeset/cuddly-geckos-wait.md | 5 + .changeset/dirty-shoes-attack.md | 5 + .changeset/eight-onions-decide.md | 5 + .changeset/eleven-forks-smile.md | 5 + .changeset/fair-pumas-wink.md | 5 + .changeset/few-tomatoes-reply.md | 5 + .changeset/fifty-owls-reflect.md | 5 + .changeset/five-pets-search.md | 5 + .changeset/flat-vans-attend.md | 5 + .changeset/fluffy-candles-attack.md | 5 + .changeset/fluffy-insects-warn.md | 5 + .changeset/forty-cougars-relate.md | 5 + .changeset/funny-meals-clean.md | 5 + .changeset/gentle-impalas-promise.md | 5 + .changeset/gentle-numbers-compete.md | 5 + .changeset/gentle-seas-tap.md | 5 + .changeset/gold-papayas-obey.md | 5 + .changeset/green-dolphins-refuse.md | 5 + .changeset/green-spoons-heal.md | 5 + .changeset/happy-houses-boil.md | 5 + .changeset/healthy-lions-call.md | 5 + .changeset/itchy-dingos-wait.md | 5 + .changeset/itchy-windows-joke.md | 5 + .changeset/khaki-cups-wash.md | 5 + .changeset/kind-pigs-doubt.md | 5 + .changeset/kind-tigers-eat.md | 5 + .changeset/lazy-coins-design.md | 5 + .changeset/light-olives-film.md | 5 + .changeset/many-bears-exist.md | 5 + .changeset/many-bikes-warn.md | 5 + .changeset/modern-worms-lay.md | 5 + .changeset/nasty-melons-fold.md | 5 + .changeset/new-dancers-learn.md | 5 + .changeset/ninety-colts-dress.md | 5 + .changeset/old-lamps-raise.md | 5 + .changeset/olive-ducks-talk.md | 5 + .changeset/olive-peas-film.md | 5 + .changeset/orange-zebras-carry.md | 5 + .changeset/plenty-buckets-retire.md | 5 + .changeset/plenty-lemons-return.md | 5 + .changeset/polite-cobras-prove.md | 5 + .changeset/popular-bears-fix.md | 5 + .changeset/pretty-insects-hug.md | 5 + .changeset/proud-cups-explode.md | 5 + .changeset/proud-kings-vanish.md | 5 + .changeset/purple-fishes-laugh.md | 5 + .changeset/purple-jobs-remember.md | 5 + .changeset/purple-ravens-bake.md | 5 + .changeset/quick-glasses-mix.md | 5 + .changeset/quiet-baboons-press.md | 5 + .changeset/rare-maps-cry.md | 5 + .changeset/rotten-roses-report.md | 5 + .changeset/selfish-dolls-punch.md | 5 + .changeset/selfish-forks-shave.md | 5 + .changeset/shaggy-plums-travel.md | 5 + .changeset/shaggy-squids-sell.md | 5 + .changeset/silent-moose-pretend.md | 5 + .changeset/six-hotels-look.md | 5 + .changeset/sixty-timers-sneeze.md | 5 + .changeset/slimy-dryers-share.md | 5 + .changeset/slimy-items-repair.md | 5 + .changeset/slow-pigs-sneeze.md | 5 + .changeset/soft-spiders-deny.md | 5 + .changeset/sour-bats-approve.md | 5 + .changeset/spotty-badgers-cover.md | 5 + .changeset/stale-cycles-admire.md | 5 + .changeset/strange-seahorses-watch.md | 5 + .changeset/strong-penguins-draw.md | 5 + .changeset/strong-poets-count.md | 5 + .changeset/stupid-doors-tell.md | 5 + .changeset/tall-nails-study.md | 5 + .changeset/tame-files-smoke.md | 5 + .changeset/tender-bobcats-joke.md | 5 + .changeset/tender-comics-teach.md | 5 + .changeset/thin-pianos-enjoy.md | 5 + .changeset/three-carpets-relate.md | 5 + .changeset/tidy-kids-camp.md | 5 + .changeset/tidy-maps-report.md | 5 + .changeset/tiny-timers-shake.md | 5 + .changeset/tricky-games-exercise.md | 5 + .changeset/two-days-doubt.md | 5 + .changeset/violet-cheetahs-taste.md | 5 + .changeset/violet-years-cross.md | 5 + .changeset/warm-suns-tell.md | 5 + .changeset/wet-scissors-drive.md | 5 + .changeset/wise-chefs-argue.md | 5 + .changeset/witty-waves-wait.md | 5 + .changeset/witty-zebras-drop.md | 5 + .changeset/yellow-foxes-hope.md | 5 + .changeset/young-cycles-enjoy.md | 5 + composer.json | 26 +- psalm.xml | 1 + src/Api/AllowlistsApi.php | 9 +- src/Api/AmlChecksApi.php | 13 +- src/Api/AmlSettingsApi.php | 4 +- src/Api/ApiKeysApi.php | 11 +- src/Api/ApplicationInstancesApi.php | 8 +- src/Api/ApplicationsApi.php | 16 +- src/Api/BalanceTransactionsApi.php | 7 +- src/Api/BillingPortalsApi.php | 11 +- src/Api/BlocklistsApi.php | 11 +- src/Api/BroadcastMessagesApi.php | 11 +- src/Api/CashiersApi.php | 4 +- src/Api/CheckoutFormsApi.php | 11 +- src/Api/CouponsApi.php | 22 +- src/Api/CreditMemosApi.php | 24 +- src/Api/CustomDomainsApi.php | 9 +- src/Api/CustomFieldsApi.php | 9 +- src/Api/CustomerAuthenticationApi.php | 35 +- src/Api/CustomersApi.php | 42 +- src/Api/DataExportsApi.php | 11 +- src/Api/DepositCustomPropertySetsApi.php | 11 +- src/Api/DepositRequestsApi.php | 9 +- src/Api/DepositStrategiesApi.php | 11 +- src/Api/DigitalWalletsApi.php | 4 +- src/Api/DisputesApi.php | 11 +- src/Api/EmailDeliverySettingsApi.php | 15 +- src/Api/EmailMessagesApi.php | 11 +- src/Api/EmailNotificationsApi.php | 5 +- src/Api/EventsApi.php | 40 +- src/Api/ExternalIdentifiersApi.php | 9 +- src/Api/ExternalServicesSettingsApi.php | 4 +- src/Api/FeesApi.php | 13 +- src/Api/FilesApi.php | 22 +- src/Api/GatewayAccountsApi.php | 49 +- src/Api/HistogramsApi.php | 4 +- src/Api/IntegrationsApi.php | 7 +- src/Api/InvoicesApi.php | 57 +- src/Api/JournalAccountsApi.php | 11 +- src/Api/JournalEntriesApi.php | 11 +- src/Api/JournalRecordsApi.php | 11 +- src/Api/KycDocumentsApi.php | 21 +- src/Api/KycRequestsApi.php | 11 +- src/Api/KycSettingsApi.php | 4 +- src/Api/ListsApi.php | 13 +- src/Api/MembershipsApi.php | 9 +- src/Api/OrderCancellationsApi.php | 13 +- src/Api/OrderPausesApi.php | 11 +- src/Api/OrderReactivationsApi.php | 9 +- src/Api/OrdersApi.php | 26 +- src/Api/OrganizationExportsApi.php | 9 +- src/Api/OrganizationsApi.php | 11 +- src/Api/PaymentCardsBankNamesApi.php | 2 +- src/Api/PaymentInstrumentsApi.php | 15 +- src/Api/PaymentMethodsApi.php | 7 +- src/Api/PaymentTokensApi.php | 9 +- src/Api/PayoutRequestAllocationsApi.php | 90 ++- src/Api/PayoutRequestBatchesApi.php | 192 +++++++ src/Api/PayoutRequestsApi.php | 50 +- src/Api/PayoutRequestsV2Api.php | 4 +- src/Api/PayoutsApi.php | 2 +- src/Api/PlansApi.php | 11 +- src/Api/PreviewsApi.php | 4 +- src/Api/ProductsApi.php | 11 +- src/Api/ProfileApi.php | 12 +- src/Api/PurchaseApi.php | 2 +- src/Api/QuotesApi.php | 41 +- src/Api/ReportsApi.php | 88 +-- src/Api/RiskScoreRulesApi.php | 8 +- src/Api/RolesApi.php | 11 +- src/Api/SearchApi.php | 5 +- src/Api/SegmentsApi.php | 11 +- src/Api/SendThroughAttributionApi.php | 2 +- src/Api/ServiceCredentialsApi.php | 16 +- src/Api/ShippingRatesApi.php | 11 +- src/Api/StatusApi.php | 2 +- src/Api/SubscriptionCancellationsApi.php | 13 +- src/Api/SubscriptionPausesApi.php | 11 +- src/Api/SubscriptionReactivationsApi.php | 9 +- src/Api/SubscriptionsApi.php | 38 +- src/Api/TagsApi.php | 11 +- src/Api/TagsRulesApi.php | 11 +- src/Api/TrackingApi.php | 26 +- src/Api/TransactionsApi.php | 26 +- src/Api/UsagesApi.php | 9 +- src/Api/UsersApi.php | 13 +- src/Api/WebhooksApi.php | 11 +- src/Api/WebsitesApi.php | 11 +- src/Collection.php | 6 + src/Middleware/BaseUri.php | 5 +- src/Model/A1Gateway.php | 13 +- src/Model/A1GatewayCredentials.php | 10 +- src/Model/ACI.php | 13 +- src/Model/ACICredentials.php | 10 +- src/Model/ACISettings.php | 10 +- src/Model/AML.php | 10 +- src/Model/AMLAddress.php | 10 +- src/Model/AMLAliases.php | 10 +- src/Model/AMLMatchDetails.php | 10 +- src/Model/AMLPassport.php | 10 +- src/Model/AchPlaidFeature.php | 10 +- src/Model/Acl.php | 10 +- src/Model/AdjustPaymentMethodFactory.php | 292 +++++----- src/Model/AdjustReadyToPayAch.php | 11 +- src/Model/AdjustReadyToPayGeneric.php | 15 +- src/Model/AdjustReadyToPayPaymentCard.php | 11 +- src/Model/AdjustReadyToPayPaypal.php | 11 +- src/Model/AdjustReadyToPayoutGeneric.php | 15 +- ...djustReadyToPayoutPaymentMethodFactory.php | 292 +++++----- src/Model/Adyen.php | 13 +- src/Model/AdyenCredentials.php | 10 +- src/Model/AdyenSettings.php | 10 +- src/Model/AdyenSettingsSplitPayments.php | 10 +- src/Model/Aera.php | 13 +- src/Model/AeraCredentials.php | 10 +- src/Model/Aircash.php | 13 +- src/Model/AircashCredentials.php | 10 +- src/Model/Airpay.php | 13 +- src/Model/AirpayCredentials.php | 10 +- src/Model/Airwallex.php | 13 +- src/Model/AirwallexCredentials.php | 10 +- src/Model/AirwallexSettings.php | 10 +- src/Model/Allowlist.php | 10 +- src/Model/AlternativeInstrument.php | 12 +- src/Model/AlternativeInstrumentEmbedded.php | 10 +- src/Model/AlternativePaymentInstrument.php | 21 +- src/Model/AlternativePaymentToken.php | 14 +- src/Model/AmazonPay.php | 13 +- src/Model/AmazonPayCredentials.php | 10 +- src/Model/AmexVPC.php | 13 +- src/Model/AmexVPCCredentials.php | 10 +- src/Model/AmexVPCSettings.php | 10 +- src/Model/AmlCheck.php | 80 ++- src/Model/AmlCheckCustomer.php | 10 +- src/Model/AmlCheckCustomerPrimaryAddress.php | 10 +- src/Model/AmlCheckProvenance.php | 134 +++++ src/Model/AmlCheckReview.php | 10 +- src/Model/AmlChecksDataExport.php | 18 +- src/Model/AmlChecksDataExportDateRange.php | 96 ++++ src/Model/AmlChecksDataExportEmbedded.php | 10 +- src/Model/AmlCompoundConfidence.php | 10 +- .../AmlCompoundConfidenceAddressMatch.php | 10 +- .../AmlCompoundConfidenceAddressMismatch.php | 10 +- src/Model/AmlCompoundConfidenceNoAddress.php | 10 +- src/Model/AmlSettings.php | 10 +- src/Model/AmlSettingsConfidence.php | 10 +- src/Model/AmlSettingsConfidenceDob.php | 10 +- src/Model/AmlSettingsConfidenceInexactYob.php | 10 +- src/Model/AmlSettingsConfidenceNoDob.php | 10 +- src/Model/AmlSettingsConfidenceYob.php | 10 +- src/Model/AmlSettingsPriority.php | 10 +- src/Model/AmlSettingsPriorityAdverseMedia.php | 10 +- src/Model/AmlSettingsPriorityEnforcements.php | 10 +- src/Model/AmlSettingsPriorityPep.php | 10 +- src/Model/AmlSettingsPrioritySanctions.php | 10 +- ...mlSettingsPriorityStateOwnedEnterprise.php | 10 +- src/Model/AmountAdjustmentInstructionNone.php | 11 +- .../AmountAdjustmentInstructionPartial.php | 11 +- ...ctionPartialAfterApprovalPolicyFactory.php | 6 +- ...ustmentPoliciesDiscountAmountRemaining.php | 11 +- src/Model/AmountAdjustmentPoliciesNone.php | 11 +- src/Model/Antom.php | 13 +- src/Model/AntomCredentials.php | 10 +- src/Model/ApcoPay.php | 13 +- src/Model/ApcoPayCredentials.php | 10 +- src/Model/ApcoPaySettings.php | 10 +- src/Model/ApiKey.php | 10 +- src/Model/ApiKeyScope.php | 10 +- src/Model/ApiLogSummary.php | 10 +- src/Model/ApiLogSummaryData.php | 10 +- src/Model/ApiTracking.php | 10 +- src/Model/ApiTrackingEmbedded.php | 10 +- src/Model/ApiTrackingUser.php | 10 +- src/Model/ApplePayFeature.php | 11 +- src/Model/ApplePayValidation.php | 13 +- .../ApplePayValidationValidationRequest.php | 10 +- src/Model/Application.php | 10 +- src/Model/ApplicationInstance.php | 10 +- .../ApplicationInstanceConfiguration.php | 10 +- src/Model/ArrayCustomField.php | 11 +- .../ArrayCustomFieldAdditionalSchema.php | 10 +- src/Model/AsiaPay.php | 13 +- src/Model/AsiaPayCredentials.php | 10 +- src/Model/AsiaPaySettings.php | 10 +- src/Model/AsiaPaymentGateway.php | 13 +- src/Model/AsiaPaymentGatewayCredentials.php | 10 +- src/Model/AsiaPaymentGatewaySettings.php | 10 +- src/Model/AstroPayCard.php | 13 +- src/Model/AstroPayCardCredentials.php | 10 +- src/Model/AstroPayCardSettings.php | 10 +- src/Model/Attachment.php | 10 +- src/Model/AttachmentEmbedded.php | 10 +- src/Model/AuthenticationOptions.php | 10 +- src/Model/AuthenticationTokenFactory.php | 6 +- src/Model/AuthenticationTokenPasswordMode.php | 10 +- .../AuthenticationTokenPasswordlessMode.php | 10 +- src/Model/AuthenticationTokenResponse.php | 10 +- src/Model/AuthorizeNet.php | 13 +- src/Model/AuthorizeNetCredentials.php | 10 +- src/Model/AvalaraCredential.php | 10 +- src/Model/Awepay.php | 13 +- src/Model/AwepayCredentials.php | 10 +- src/Model/AwepaySettings.php | 10 +- src/Model/BBANInstrument.php | 11 +- src/Model/BBANType.php | 28 +- src/Model/BVNK.php | 13 +- src/Model/BVNKCredentials.php | 10 +- src/Model/BVNKSettings.php | 10 +- src/Model/BalanceTransactionFactory.php | 16 +- src/Model/Bambora.php | 13 +- src/Model/BamboraCredentials.php | 10 +- src/Model/BankAccount.php | 10 +- src/Model/BankAccountCreatePlain.php | 90 ++- src/Model/BankAccountCreatePlainFactory.php | 29 + src/Model/BankAccountEmbedded.php | 10 +- src/Model/BankAccountInstrumentFactory.php | 6 +- src/Model/BankAccountToken.php | 10 +- src/Model/BankAccountUpdatePlain.php | 11 +- src/Model/BankSEND.php | 13 +- src/Model/BankSENDCredentials.php | 10 +- src/Model/BillingPortal.php | 10 +- src/Model/BillingPortalCustomization.php | 10 +- .../BillingPortalCustomizationColors.php | 10 +- src/Model/BillingPortalCustomizationLinks.php | 10 +- src/Model/BillingPortalFeatures.php | 10 +- src/Model/Bind.php | 10 +- src/Model/BitPay.php | 13 +- src/Model/BitPayCredentials.php | 10 +- src/Model/Blocklist.php | 10 +- src/Model/BlueSnap.php | 13 +- src/Model/BlueSnapCredentials.php | 10 +- src/Model/BlueSnapSettings.php | 10 +- src/Model/BooleanCustomField.php | 11 +- .../BooleanCustomFieldAdditionalSchema.php | 10 +- src/Model/BraintreePayments.php | 35 +- src/Model/BraintreePaymentsCredentials.php | 10 +- src/Model/BroadcastMessage.php | 10 +- src/Model/BroadcastMessageMessages.php | 10 +- .../BroadcastMessageMessagesTemplates.php | 10 +- src/Model/Buckaroo.php | 13 +- src/Model/BuckarooCredentials.php | 10 +- src/Model/BuckarooSettings.php | 10 +- src/Model/BuyFeeTransaction.php | 10 +- src/Model/BuyFeeTransactionFee.php | 10 +- src/Model/CASHlib.php | 13 +- src/Model/CASHlibCredentials.php | 10 +- src/Model/CCAvenue.php | 13 +- src/Model/CCAvenueCredentials.php | 10 +- src/Model/CCAvenueSettings.php | 10 +- src/Model/CODVoucher.php | 13 +- src/Model/CODVoucherCredentials.php | 10 +- src/Model/Cardknox.php | 13 +- src/Model/CardknoxCredentials.php | 10 +- src/Model/CashInstrument.php | 11 +- src/Model/CashToCode.php | 13 +- src/Model/CashToCodeCredentials.php | 10 +- src/Model/CashToCodeSettings.php | 10 +- src/Model/Cashflows.php | 13 +- src/Model/CashflowsCredentials.php | 10 +- src/Model/Cashier.php | 10 +- src/Model/Cashterminal.php | 13 +- src/Model/CashterminalCredentials.php | 10 +- src/Model/CauriPayment.php | 13 +- src/Model/CauriPaymentCredentials.php | 10 +- src/Model/Cayan.php | 13 +- src/Model/CayanCredentials.php | 10 +- src/Model/ChangeQuote.php | 10 +- .../ChangeQuoteAcceptanceFulfillment.php | 10 +- src/Model/ChangeQuoteEmbedded.php | 10 +- src/Model/ChangeQuoteInvoicePreview.php | 10 +- ...hangeQuoteInvoicePreviewInitialAmounts.php | 10 +- src/Model/ChangeQuoteInvoicePreviewItems.php | 10 +- ...ngeQuoteInvoicePreviewRecurringAmounts.php | 10 +- src/Model/ChangeQuoteOrder.php | 10 +- src/Model/ChangeQuoteOrderUsageSettings.php | 10 +- src/Model/ChangeQuoteSignature.php | 10 +- src/Model/ChargeTransaction.php | 10 +- src/Model/Chase.php | 13 +- src/Model/ChaseCredentials.php | 10 +- src/Model/CheckInstrument.php | 11 +- src/Model/CheckoutCom.php | 13 +- src/Model/CheckoutComCredentials.php | 10 +- src/Model/CheckoutComSettings.php | 10 +- src/Model/CheckoutForm.php | 20 +- src/Model/CheckoutFormCustomization.php | 10 +- src/Model/CheckoutFormCustomizationColors.php | 10 +- src/Model/CheckoutFormCustomizationLinks.php | 10 +- .../CheckoutFormCustomizationTracking.php | 10 +- src/Model/CheckoutFormFixedPlan.php | 11 +- src/Model/CheckoutFormPlanFactory.php | 6 +- src/Model/CheckoutFormVariablePlan.php | 11 +- src/Model/Chillstock.php | 13 +- src/Model/ChillstockCredentials.php | 10 +- src/Model/ChillstockSettings.php | 10 +- src/Model/Circle.php | 13 +- src/Model/CircleCredentials.php | 10 +- src/Model/Citadel.php | 13 +- src/Model/CitadelCredentials.php | 10 +- src/Model/Clearhaus.php | 13 +- src/Model/ClearhausCredentials.php | 10 +- src/Model/Cleo.php | 13 +- src/Model/CleoCredentials.php | 10 +- src/Model/CoinGate.php | 13 +- src/Model/CoinGateCredentials.php | 10 +- src/Model/CoinGateSettings.php | 10 +- src/Model/CoinPayments.php | 13 +- src/Model/CoinPaymentsCredentials.php | 10 +- src/Model/CoinPaymentsSettings.php | 10 +- src/Model/Coinbase.php | 13 +- src/Model/CoinbaseCredentials.php | 10 +- src/Model/CoinbaseSettings.php | 10 +- src/Model/Company.php | 10 +- src/Model/CompositeTokenFactory.php | 294 +++++----- src/Model/Conekta.php | 13 +- src/Model/ConektaCredentials.php | 10 +- src/Model/ConektaSettings.php | 10 +- src/Model/ConfigurablePlan.php | 2 +- src/Model/ConfigurablePlanFactory.php | 6 +- src/Model/ContactEmails.php | 10 +- src/Model/ContactObject.php | 10 +- src/Model/ContactPhoneNumbers.php | 10 +- src/Model/Coppr.php | 13 +- src/Model/CopprCredentials.php | 10 +- src/Model/CopprSettings.php | 10 +- src/Model/CountriesMetadataFactory.php | 8 +- src/Model/CountriesSubsetMetadata.php | 11 +- src/Model/CountriesUnrestrictedMetadata.php | 11 +- src/Model/Coupon.php | 10 +- src/Model/CouponExpiration.php | 10 +- src/Model/CouponRedemption.php | 10 +- ...CouponRestrictionDiscountPerRedemption.php | 11 +- .../CouponRestrictionExclusiveApplication.php | 11 +- src/Model/CouponRestrictionFactory.php | 31 +- .../CouponRestrictionMaximumOrderAmount.php | 88 +++ .../CouponRestrictionMinimumOrderAmount.php | 11 +- src/Model/CouponRestrictionPaidByTime.php | 10 +- ...ouponRestrictionRedemptionsPerCustomer.php | 11 +- src/Model/CouponRestrictionRestrictToBxgy.php | 11 +- .../CouponRestrictionRestrictToBxgyBuy.php | 10 +- .../CouponRestrictionRestrictToBxgyGet.php | 10 +- .../CouponRestrictionRestrictToCountries.php | 11 +- ...ouponRestrictionRestrictToCustomerTags.php | 11 +- .../CouponRestrictionRestrictToCustomers.php | 11 +- .../CouponRestrictionRestrictToInvoices.php | 11 +- .../CouponRestrictionRestrictToPlans.php | 11 +- .../CouponRestrictionRestrictToProducts.php | 11 +- ...uponRestrictionRestrictToSubscriptions.php | 11 +- .../CouponRestrictionTotalRedemptions.php | 11 +- src/Model/CreationQuote.php | 10 +- .../CreationQuoteAcceptanceFulfillment.php | 10 +- src/Model/CreationQuoteEmbedded.php | 10 +- src/Model/CreationQuoteInvoicePreview.php | 10 +- ...ationQuoteInvoicePreviewInitialAmounts.php | 10 +- .../CreationQuoteInvoicePreviewItems.php | 10 +- ...ionQuoteInvoicePreviewRecurringAmounts.php | 10 +- src/Model/CreationQuoteOrder.php | 52 +- src/Model/CreationQuoteSignature.php | 10 +- src/Model/CreditFileCommonDecisionData.php | 10 +- src/Model/CreditFileMatches.php | 10 +- src/Model/CreditFileMatchesReferenceData.php | 10 +- src/Model/CreditFileMatchesTrades.php | 10 +- src/Model/CreditMemo.php | 12 +- src/Model/CreditMemoAllocations.php | 10 +- .../CreditMemoAllocationsTransactions.php | 10 +- src/Model/CreditMemoEmbedded.php | 10 +- src/Model/CreditMemoInvoiceAllocation.php | 10 +- src/Model/CreditMemoItems.php | 10 +- src/Model/CreditMemoTaxItem.php | 10 +- src/Model/CreditMemoTaxItemJurisdictions.php | 10 +- src/Model/CreditMemoTimeline.php | 10 +- src/Model/Credorax.php | 13 +- src/Model/CredoraxCredentials.php | 10 +- src/Model/CryptocurrencyToken.php | 310 +++++++++++ src/Model/Cryptomus.php | 13 +- src/Model/CryptomusCredentials.php | 10 +- src/Model/CryptomusSettings.php | 10 +- src/Model/Cryptonator.php | 13 +- src/Model/CryptonatorCredentials.php | 10 +- src/Model/CumulativeSubscriptions.php | 10 +- src/Model/CumulativeSubscriptionsData.php | 10 +- src/Model/CurrenciesSubsetMetadata.php | 11 +- src/Model/CurrenciesUnrestrictedMetadata.php | 11 +- src/Model/CustomDomain.php | 10 +- src/Model/CustomFieldFactory.php | 18 +- src/Model/Customer.php | 34 +- src/Model/CustomerAverageValue.php | 10 +- src/Model/CustomerCredential.php | 10 +- ...ustomerDefaultPaymentInstrumentFactory.php | 392 +++++++------- src/Model/CustomerEmbedded.php | 10 +- src/Model/CustomerInformation.php | 10 +- src/Model/CustomerJWT.php | 16 +- src/Model/CustomerLifetimeRevenue.php | 10 +- src/Model/CustomerTimeline.php | 10 +- src/Model/CustomersDataExport.php | 18 +- src/Model/CustomersDataExportDateRange.php | 96 ++++ src/Model/CustomersDataExportEmbedded.php | 10 +- src/Model/CyberSource.php | 13 +- src/Model/CyberSourceCredentials.php | 10 +- src/Model/DLocal.php | 13 +- src/Model/DLocalCredentials.php | 10 +- src/Model/DLocalSettings.php | 10 +- src/Model/DashboardResponse.php | 14 +- src/Model/DashboardResponseSegments.php | 10 +- .../DashboardResponseSegmentsTimeseries.php | 10 +- src/Model/DataCash.php | 13 +- src/Model/DataCashCredentials.php | 10 +- src/Model/DataCashSettings.php | 10 +- src/Model/DataExport.php | 6 +- src/Model/DataExportArguments.php | 10 +- src/Model/DataExportFactory.php | 20 +- src/Model/DataExportRecurring.php | 10 +- src/Model/DateCustomField.php | 11 +- src/Model/DateCustomFieldAdditionalSchema.php | 10 +- src/Model/DateTimeCustomField.php | 11 +- .../DateTimeCustomFieldAdditionalSchema.php | 10 +- src/Model/DccMarkup.php | 10 +- src/Model/DccMarkupData.php | 10 +- .../DeleteTagAmlCheckCollectionRequest.php | 10 +- .../DeleteTagCustomerCollectionRequest.php | 10 +- .../DeleteTagKycDocumentCollectionRequest.php | 10 +- src/Model/Dengi.php | 13 +- src/Model/DengiCredentials.php | 10 +- src/Model/DepositCustomPropertySet.php | 10 +- src/Model/DepositRequest.php | 10 +- src/Model/DepositRequestCustomAmount.php | 10 +- src/Model/DepositRequestEmbedded.php | 10 +- src/Model/DepositStrategy.php | 10 +- src/Model/DepositStrategyAmounts.php | 10 +- src/Model/DepositStrategyCustomAmount.php | 10 +- src/Model/DigitalWalletOnboardingApplePay.php | 10 +- src/Model/DigitalWalletToken.php | 10 +- .../DigitalWalletTokenPaymentInstrument.php | 10 +- src/Model/DigitalWalletValidation.php | 10 +- src/Model/DigitalWallets.php | 10 +- src/Model/DigitalWalletsApplePay.php | 10 +- src/Model/DigitalWalletsGooglePay.php | 10 +- src/Model/Dimoco.php | 13 +- src/Model/DimocoCredentials.php | 10 +- src/Model/Directa24.php | 13 +- src/Model/Directa24Credentials.php | 10 +- src/Model/Directa24Settings.php | 10 +- src/Model/DiscountFactory.php | 6 +- src/Model/DiscountFixed.php | 11 +- src/Model/DiscountPercent.php | 11 +- src/Model/Dispute.php | 10 +- src/Model/DisputeEmbedded.php | 10 +- src/Model/DisputesDataExport.php | 18 +- ...ge.php => DisputesDataExportDateRange.php} | 12 +- src/Model/DisputesDataExportEmbedded.php | 10 +- src/Model/Dragonphoenix.php | 13 +- src/Model/DragonphoenixCredentials.php | 10 +- src/Model/Dropayment.php | 13 +- src/Model/DropaymentCredentials.php | 10 +- src/Model/EBANX.php | 13 +- src/Model/EBANXCredentials.php | 10 +- src/Model/EMS.php | 13 +- src/Model/EMSCredentials.php | 10 +- src/Model/EMSSettings.php | 10 +- src/Model/EMerchantPay.php | 13 +- src/Model/EMerchantPayCredentials.php | 10 +- src/Model/EMerchantPaySettings.php | 10 +- src/Model/EPG.php | 13 +- src/Model/EPGCredentials.php | 10 +- src/Model/EPay.php | 13 +- src/Model/EPayCredentials.php | 10 +- src/Model/EPro.php | 13 +- src/Model/EProCredentials.php | 10 +- src/Model/EZeeWallet.php | 13 +- src/Model/EZeeWalletCredentials.php | 10 +- src/Model/EasyPayDirect.php | 13 +- src/Model/EasyPayDirectCredentials.php | 10 +- src/Model/EcoPayz.php | 13 +- src/Model/EcoPayzCredentials.php | 10 +- src/Model/EcoPayzSettings.php | 10 +- src/Model/EcoPayzTurkey.php | 13 +- src/Model/EcoPayzTurkeyCredentials.php | 10 +- src/Model/EcoPayzTurkeySettings.php | 10 +- src/Model/EcorePay.php | 13 +- src/Model/EcorePayCredentials.php | 10 +- src/Model/Edd.php | 10 +- src/Model/EddParsedScore.php | 10 +- src/Model/EddScore.php | 10 +- src/Model/EddScoreDetails.php | 10 +- src/Model/EddSearchResult.php | 10 +- src/Model/EddTimeline.php | 10 +- src/Model/Elavon.php | 13 +- src/Model/ElavonCredentials.php | 10 +- src/Model/EmailDeliverySetting.php | 10 +- src/Model/EmailMessage.php | 10 +- src/Model/EmailMessageAttachments.php | 10 +- src/Model/EmailNotification.php | 10 +- src/Model/EmailNotificationNotifications.php | 10 +- src/Model/Euteller.php | 13 +- src/Model/EutellerCredentials.php | 10 +- src/Model/ExperianCredential.php | 10 +- src/Model/ExternalIdentifier.php | 10 +- src/Model/ExternalServiceSettings.php | 10 +- src/Model/Ezeebill.php | 13 +- src/Model/EzeebillCredentials.php | 10 +- src/Model/EzyEFT.php | 13 +- src/Model/EzyEFTCredentials.php | 10 +- src/Model/Fee.php | 10 +- src/Model/FeeFormulaFactory.php | 6 +- src/Model/File.php | 10 +- src/Model/FileCreateFromInline.php | 11 +- src/Model/FileCreateFromUrl.php | 11 +- src/Model/FinTecSystems.php | 13 +- src/Model/FinTecSystemsCredentials.php | 10 +- src/Model/FinTecSystemsSettings.php | 10 +- src/Model/Finrax.php | 13 +- src/Model/FinraxCredentials.php | 10 +- src/Model/FinraxSettings.php | 10 +- src/Model/FixedFeeFormula.php | 11 +- src/Model/Flexepin.php | 13 +- src/Model/FlexepinCredentials.php | 10 +- src/Model/FlexepinSettings.php | 10 +- src/Model/FlexiblePlan.php | 2 +- src/Model/FlexiblePlanFactory.php | 8 +- src/Model/ForgotPassword.php | 10 +- src/Model/Forte.php | 13 +- src/Model/ForteCredentials.php | 10 +- src/Model/FundSend.php | 13 +- src/Model/FundSendCredentials.php | 10 +- src/Model/FundsMatches.php | 10 +- src/Model/FutureRenewals.php | 10 +- src/Model/FutureRenewalsData.php | 10 +- src/Model/FutureRenewalsDataPlansCount.php | 10 +- src/Model/GET.php | 13 +- src/Model/GETCredentials.php | 10 +- src/Model/Gate2way.php | 13 +- src/Model/Gate2wayCredentials.php | 10 +- src/Model/GatewayAccount.php | 468 ++++++++-------- src/Model/GatewayAccountDowntimeSchedule.php | 10 +- src/Model/GatewayAccountFinancialSettings.php | 10 +- ...ntFinancialSettingsRiskReserveSettings.php | 10 +- src/Model/GatewayAccountLimit.php | 10 +- src/Model/GatewayAccountPickInstruction.php | 12 +- src/Model/GatewayAccountTimeline.php | 10 +- .../GetKycAcceptanceSummaryReportResponse.php | 10 +- ...KycAcceptanceSummaryReportResponseData.php | 10 +- ...eSummaryReportResponseDataDocumentType.php | 10 +- ...maryReportResponseDataStatusStatistics.php | 10 +- ...rtResponseDataStatusStatisticsAccepted.php | 10 +- ...rtResponseDataStatusStatisticsArchived.php | 10 +- ...ortResponseDataStatusStatisticsPending.php | 10 +- ...rtResponseDataStatusStatisticsRejected.php | 10 +- ...tPaymentCardBankNameCollectionResponse.php | 10 +- .../GetPayoutRequestBatchPreviewResponse.php | 112 ++++ ...chPreviewResponseTotalAmountByCurrency.php | 82 +++ ...ayoutRequestPaymentInstrumentsResponse.php | 12 +- ...outRequestV2PaymentInstrumentsResponse.php | 38 +- src/Model/Gigadat.php | 13 +- src/Model/GigadatCredentials.php | 10 +- src/Model/GigadatSettings.php | 10 +- src/Model/GlobalOne.php | 13 +- src/Model/GlobalOneCredentials.php | 10 +- src/Model/GlobalWebhook.php | 10 +- src/Model/GlobalWebhookHeaders.php | 10 +- src/Model/GoCardless.php | 13 +- src/Model/GoCardlessCredentials.php | 10 +- src/Model/GooglePayFeature.php | 11 +- src/Model/GoogleSpreadsheet.php | 10 +- src/Model/Gooney.php | 13 +- src/Model/GooneyCredentials.php | 10 +- src/Model/Gpaysafe.php | 13 +- src/Model/GpaysafeCredentials.php | 10 +- src/Model/Greenbox.php | 13 +- src/Model/GreenboxCredentials.php | 10 +- src/Model/GridSegment.php | 10 +- src/Model/GridSegmentData.php | 14 +- src/Model/GridSegmentOwner.php | 10 +- src/Model/GridSegmentUsers.php | 10 +- src/Model/HiPay.php | 13 +- src/Model/HiPayCredentials.php | 10 +- src/Model/HistogramData.php | 10 +- src/Model/HistogramDataData.php | 10 +- src/Model/IBANInstrument.php | 11 +- src/Model/IBANType.php | 28 +- src/Model/ICEPAY.php | 13 +- src/Model/ICEPAYCredentials.php | 10 +- src/Model/ICanPay.php | 13 +- src/Model/ICanPayCredentials.php | 10 +- src/Model/ICanPaySettings.php | 10 +- src/Model/ICashOne.php | 13 +- src/Model/ICashOneCredentials.php | 10 +- src/Model/ICashOneSettings.php | 10 +- src/Model/ICheque.php | 13 +- src/Model/IChequeCredentials.php | 10 +- src/Model/IDebit.php | 13 +- src/Model/IDebitCredentials.php | 10 +- src/Model/IDebitSettings.php | 10 +- src/Model/INOVAPAY.php | 13 +- src/Model/INOVAPAYCredentials.php | 10 +- src/Model/Ilixium.php | 13 +- src/Model/IlixiumCredentials.php | 10 +- src/Model/IlixiumSettings.php | 10 +- src/Model/IlixiumThreeDSecureServer.php | 10 +- src/Model/Ingenico.php | 13 +- src/Model/IngenicoCredentials.php | 10 +- src/Model/Inovio.php | 13 +- src/Model/InovioCredentials.php | 10 +- src/Model/InovioSettings.php | 10 +- src/Model/InstaDebit.php | 13 +- src/Model/InstaDebitCredentials.php | 10 +- src/Model/InstaDebitSettings.php | 10 +- src/Model/IntegerCustomField.php | 11 +- .../IntegerCustomFieldAdditionalSchema.php | 10 +- src/Model/Integration.php | 10 +- src/Model/IntegrationConfigurations.php | 10 +- src/Model/Intuit.php | 13 +- src/Model/IntuitCredentials.php | 10 +- src/Model/Invoice.php | 10 +- src/Model/InvoiceCustomerTaxIdNumber.php | 10 +- src/Model/InvoiceDiscounts.php | 10 +- src/Model/InvoiceEmbedded.php | 10 +- src/Model/InvoiceIssue.php | 10 +- src/Model/InvoiceItem.php | 10 +- src/Model/InvoiceItemEmbedded.php | 10 +- src/Model/InvoiceItemsDataExport.php | 18 +- src/Model/InvoiceItemsDataExportDateRange.php | 96 ++++ src/Model/InvoiceItemsDataExportEmbedded.php | 10 +- src/Model/InvoiceOrganizationTaxIdNumber.php | 10 +- src/Model/InvoiceReissue.php | 10 +- ...etryAmountAdjustmentInstructionFactory.php | 6 +- src/Model/InvoiceRetryInstruction.php | 10 +- src/Model/InvoiceRetryInstructionAttempts.php | 10 +- ...InvoiceRetryScheduleInstructionFactory.php | 12 +- src/Model/InvoiceTimeShift.php | 10 +- src/Model/InvoiceTimeShiftDueTimeShift.php | 10 +- src/Model/InvoiceTimeShiftIssueTimeShift.php | 10 +- src/Model/InvoiceTimeline.php | 10 +- src/Model/InvoiceTransaction.php | 10 +- src/Model/InvoiceTransactionAllocation.php | 10 +- src/Model/InvoicesDataExport.php | 18 +- src/Model/InvoicesDataExportDateRange.php | 96 ++++ src/Model/InvoicesDataExportEmbedded.php | 10 +- src/Model/IpayOptions.php | 13 +- src/Model/IpayOptionsCredentials.php | 10 +- src/Model/IpayOptionsSettings.php | 10 +- src/Model/JPMOrbital.php | 13 +- src/Model/JPMOrbitalCredentials.php | 10 +- src/Model/JetPay.php | 13 +- src/Model/JetPayCredentials.php | 10 +- src/Model/Jeton.php | 13 +- src/Model/JetonCredentials.php | 10 +- src/Model/JetonSettings.php | 10 +- src/Model/JournalAccount.php | 10 +- src/Model/JournalEntry.php | 10 +- src/Model/JournalEntryPeriod.php | 10 +- src/Model/JournalRecord.php | 10 +- src/Model/JournalRecordEmbedded.php | 10 +- src/Model/JournalRecordsDataExport.php | 18 +- .../JournalRecordsDataExportDateRange.php | 96 ++++ .../JournalRecordsDataExportEmbedded.php | 10 +- src/Model/JournalSummaryReport.php | 10 +- src/Model/JournalSummaryReportData.php | 10 +- .../JournalSummaryReportDataBreakdown.php | 10 +- src/Model/Khelocard.php | 13 +- src/Model/KhelocardCard.php | 10 +- src/Model/KhelocardCardEmbedded.php | 10 +- src/Model/KhelocardCardToken.php | 10 +- .../KhelocardCardTokenPaymentInstrument.php | 10 +- src/Model/KhelocardCredentials.php | 10 +- src/Model/Klarna.php | 13 +- src/Model/KlarnaCredentials.php | 10 +- src/Model/KlarnaFeature.php | 11 +- src/Model/KlarnaSettings.php | 10 +- src/Model/KlarnaToken.php | 10 +- src/Model/KlarnaTokenPaymentInstrument.php | 10 +- src/Model/Konnektive.php | 13 +- src/Model/KonnektiveCredentials.php | 10 +- src/Model/KonnektiveSettings.php | 10 +- src/Model/Kushki.php | 13 +- src/Model/KushkiCredentials.php | 10 +- src/Model/KushkiSettings.php | 10 +- src/Model/KycAddressMatches.php | 10 +- src/Model/KycDocumentCheck.php | 10 +- src/Model/KycDocumentFactory.php | 12 +- src/Model/KycDocumentRejection.php | 10 +- src/Model/KycIdentityMatches.php | 28 +- src/Model/KycRequest.php | 10 +- src/Model/KycRequestDocument.php | 10 +- src/Model/KycRequestEmbedded.php | 10 +- src/Model/KycSettings.php | 10 +- src/Model/KycSettingsAddress.php | 10 +- src/Model/KycSettingsAddressThresholds.php | 10 +- src/Model/KycSettingsAddressWeights.php | 10 +- src/Model/KycSettingsIdentity.php | 10 +- .../KycSettingsIdentityMinimumAgeSettings.php | 10 +- ...ityMinimumAgeSettingsLocationOverrides.php | 10 +- src/Model/KycSettingsIdentityThresholds.php | 10 +- src/Model/KycSettingsIdentityWeights.php | 28 +- src/Model/LPG.php | 13 +- src/Model/LPGCredentials.php | 10 +- src/Model/LaCore.php | 13 +- src/Model/LaCoreCredentials.php | 10 +- src/Model/LeadSource.php | 10 +- src/Model/LeadSourceData.php | 10 +- src/Model/Limepay.php | 13 +- src/Model/LimepayCredentials.php | 10 +- src/Model/LimepaySettings.php | 10 +- src/Model/ListTimelineTable.php | 13 +- src/Model/Loonie.php | 13 +- src/Model/LoonieCredentials.php | 10 +- src/Model/Loonio.php | 13 +- src/Model/LoonioCredentials.php | 10 +- src/Model/MailgunCredential.php | 10 +- src/Model/ManualShipping.php | 11 +- src/Model/ManualTax.php | 11 +- src/Model/MaxiCash.php | 13 +- src/Model/MaxiCashCredentials.php | 10 +- src/Model/Membership.php | 10 +- src/Model/MembershipEmbedded.php | 10 +- src/Model/MembershipOrganization.php | 10 +- src/Model/MembershipUser.php | 10 +- src/Model/MercadoPago.php | 13 +- src/Model/MercadoPagoCredentials.php | 10 +- src/Model/MercadoPagoSettings.php | 10 +- src/Model/MiFinity.php | 13 +- src/Model/MiFinityCredentials.php | 10 +- src/Model/MobilePay.php | 13 +- src/Model/MobilePayCredentials.php | 10 +- src/Model/MonRem.php | 13 +- src/Model/MonRemCredentials.php | 10 +- src/Model/Moneris.php | 13 +- src/Model/MonerisCredentials.php | 10 +- src/Model/MonetaryCustomField.php | 11 +- .../MonetaryCustomFieldAdditionalSchema.php | 10 +- ...taryCustomFieldAdditionalSchemaDefault.php | 10 +- src/Model/Money.php | 10 +- src/Model/Monolo.php | 13 +- src/Model/MonoloCredentials.php | 10 +- src/Model/MonoloSettings.php | 10 +- src/Model/MtaPay.php | 13 +- src/Model/MtaPayCredentials.php | 10 +- src/Model/MtaPaySettings.php | 10 +- src/Model/MuchBetter.php | 13 +- src/Model/MuchBetterCredentials.php | 10 +- src/Model/MuchBetterGateway.php | 13 +- src/Model/MuchBetterGatewayCredentials.php | 10 +- src/Model/MuchBetterGatewaySettings.php | 10 +- src/Model/MuchBetterSettings.php | 10 +- src/Model/MyFatoorah.php | 13 +- src/Model/MyFatoorahCredentials.php | 10 +- src/Model/NGenius.php | 13 +- src/Model/NGeniusCredentials.php | 10 +- src/Model/NMI.php | 13 +- src/Model/NMICredentials.php | 28 +- src/Model/NMISettings.php | 10 +- src/Model/NOWPayments.php | 13 +- src/Model/NOWPaymentsCredentials.php | 10 +- src/Model/NOWPaymentsSettings.php | 10 +- src/Model/Naewe.php | 13 +- src/Model/NaeweCredentials.php | 10 +- src/Model/NaeweSettings.php | 10 +- src/Model/Neosurf.php | 13 +- src/Model/NeosurfCredentials.php | 10 +- src/Model/Netbanking.php | 13 +- src/Model/NetbankingCredentials.php | 10 +- src/Model/Neteller.php | 13 +- src/Model/NetellerCredentials.php | 10 +- src/Model/NetellerSettings.php | 10 +- src/Model/NinjaWallet.php | 13 +- src/Model/NinjaWalletCredentials.php | 10 +- src/Model/NordikCoin.php | 13 +- src/Model/NordikCoinCredentials.php | 10 +- src/Model/NuaPay.php | 13 +- src/Model/NuaPayCredentials.php | 10 +- src/Model/NumberCustomField.php | 11 +- .../NumberCustomFieldAdditionalSchema.php | 10 +- src/Model/OAuth2Credential.php | 10 +- src/Model/OchaPay.php | 13 +- src/Model/OchaPayCredentials.php | 10 +- src/Model/OmniMatrix.php | 13 +- src/Model/OmniMatrixCredentials.php | 10 +- src/Model/OmniMatrixSettings.php | 10 +- src/Model/OnRamp.php | 13 +- src/Model/OnRampCredentials.php | 10 +- src/Model/OnRampSettings.php | 10 +- src/Model/OneColumnTimelineTable.php | 13 +- src/Model/OneColumnTimelineTableData.php | 10 +- src/Model/OneTimeOrder.php | 28 +- src/Model/OneTimeOrderEmbedded.php | 10 +- src/Model/OneTimeSale.php | 10 +- src/Model/OneTimeSaleEmbedded.php | 10 +- src/Model/OneTimeSaleItem.php | 10 +- src/Model/OneTimeSalePlan.php | 16 +- src/Model/Onlineueberweisen.php | 13 +- src/Model/OnlineueberweisenCredentials.php | 10 +- src/Model/OnlineueberweisenSettings.php | 10 +- src/Model/Orbital.php | 13 +- src/Model/OrbitalCredentials.php | 10 +- src/Model/OrbitalSettings.php | 10 +- src/Model/Order.php | 2 + src/Model/OrderCancellation.php | 10 +- .../OrderCancellationLineItemSubtotal.php | 10 +- src/Model/OrderCancellationLineItems.php | 10 +- src/Model/OrderChange.php | 10 +- src/Model/OrderChangeItems.php | 10 +- src/Model/OrderFactory.php | 6 +- src/Model/OrderItemUpdate.php | 38 +- src/Model/OrderItemUpdatePlan.php | 66 +++ src/Model/OrderPause.php | 10 +- src/Model/OrderPreview.php | 54 +- src/Model/OrderPreviewDiscounts.php | 10 +- src/Model/OrderPreviewInitialAmounts.php | 152 ++++++ src/Model/OrderPreviewItems.php | 10 +- src/Model/OrderPreviewLineItems.php | 10 +- src/Model/OrderPreviewRecurringAmounts.php | 152 ++++++ src/Model/OrderPreviewTaxes.php | 10 +- src/Model/OrderReactivation.php | 10 +- src/Model/OrderTimeline.php | 10 +- src/Model/OrderUpcomingInvoice.php | 10 +- src/Model/OrderUpcomingInvoiceDiscounts.php | 10 +- src/Model/OrderUpcomingInvoiceItem.php | 10 +- src/Model/Organization.php | 10 +- src/Model/OrganizationExport.php | 10 +- src/Model/OrganizationExportResources.php | 10 +- src/Model/OrganizationFeatures.php | 10 +- src/Model/OrganizationQuestionnaire.php | 10 +- src/Model/OrganizationSettings.php | 10 +- src/Model/OrganizationSettingsBilling.php | 10 +- ...ganizationSettingsDefaultTaxCalculator.php | 10 +- .../OrganizationSettingsNotifications.php | 10 +- .../OrganizationSettingsTaxLocations.php | 10 +- src/Model/OriginalPlan.php | 11 +- src/Model/OwnerApplicationInstance.php | 10 +- src/Model/PPRO.php | 13 +- src/Model/PPROCredentials.php | 10 +- src/Model/PSiGate.php | 13 +- src/Model/PSiGateCredentials.php | 10 +- src/Model/Pagadito.php | 13 +- src/Model/PagaditoCredentials.php | 10 +- src/Model/PagaditoSettings.php | 10 +- src/Model/Pagsmile.php | 13 +- src/Model/PagsmileCredentials.php | 10 +- src/Model/PagsmileSettings.php | 10 +- src/Model/Panamerican.php | 13 +- src/Model/PanamericanCredentials.php | 10 +- src/Model/PanamericanSettings.php | 10 +- src/Model/PandaGateway.php | 13 +- src/Model/PandaGatewayCredentials.php | 10 +- src/Model/ParamountCommerce.php | 13 +- src/Model/ParamountCommerceCredentials.php | 10 +- src/Model/ParamountCommerceSettings.php | 10 +- src/Model/ParamountEft.php | 13 +- src/Model/ParamountEftCredentials.php | 10 +- src/Model/ParamountInterac.php | 13 +- src/Model/ParamountInteracCredentials.php | 10 +- src/Model/ParamountInteracSettings.php | 10 +- src/Model/PatchCreditMemo.php | 10 +- src/Model/PatchCreditMemoAllocations.php | 10 +- .../PatchCreditMemoAllocationsInvoices.php | 10 +- ...PatchCreditMemoAllocationsTransactions.php | 10 +- src/Model/PatchCreditMemoItems.php | 10 +- src/Model/PatchEmailMessageRequest.php | 10 +- src/Model/PatchFee.php | 10 +- src/Model/PatchKycRequestRequest.php | 10 +- src/Model/PatchOrderCancellationRequest.php | 10 +- src/Model/PatchOrganizationRequest.php | 10 +- .../PatchPayoutRequestAllocationRequest.php | 10 +- src/Model/PatchPayoutRequestRequest.php | 52 +- src/Model/PatchPlaidCredential.php | 11 +- src/Model/PatchQuote.php | 10 +- src/Model/PatchServiceCredential.php | 11 +- .../PatchSubscriptionCancellationRequest.php | 10 +- src/Model/PatchTagRequest.php | 10 +- src/Model/PatchTaxJarCredential.php | 11 +- src/Model/PatchTransactionRequest.php | 10 +- src/Model/Pay4Fun.php | 13 +- src/Model/Pay4FunCredentials.php | 10 +- src/Model/PayCash.php | 13 +- src/Model/PayCashCredentials.php | 10 +- src/Model/PayClub.php | 13 +- src/Model/PayClubCredentials.php | 10 +- src/Model/PayClubSettings.php | 10 +- src/Model/PayCom.php | 13 +- src/Model/PayComCredentials.php | 10 +- src/Model/PayEcards.php | 13 +- src/Model/PayEcardsCredentials.php | 10 +- src/Model/PayPal.php | 13 +- src/Model/PayPalAccount.php | 10 +- src/Model/PayPalAccountEmbedded.php | 10 +- src/Model/PayPalBillingAgreementFeature.php | 10 +- src/Model/PayPalCredentials.php | 10 +- src/Model/PayPalSettings.php | 10 +- src/Model/PayPalToken.php | 10 +- src/Model/PayPalTokenPaymentInstrument.php | 10 +- src/Model/PayRedeem.php | 13 +- src/Model/PayRedeemCredentials.php | 10 +- src/Model/PayRetailers.php | 13 +- src/Model/PayRetailersCredentials.php | 10 +- src/Model/PayTabs.php | 13 +- src/Model/PayTabsCredentials.php | 10 +- src/Model/PayTabsSettings.php | 10 +- src/Model/PayU.php | 13 +- src/Model/PayUCredentials.php | 10 +- src/Model/PayULatam.php | 13 +- src/Model/PayULatamCredentials.php | 10 +- src/Model/Paybilt.php | 13 +- src/Model/PaybiltCredentials.php | 10 +- src/Model/PaybiltSettings.php | 10 +- src/Model/Paycly.php | 13 +- src/Model/PayclyCredentials.php | 10 +- src/Model/Payeezy.php | 13 +- src/Model/PayeezyCredentials.php | 10 +- src/Model/Payflow.php | 13 +- src/Model/PayflowCredentials.php | 10 +- src/Model/PaymenTechnologies.php | 13 +- src/Model/PaymenTechnologiesCredentials.php | 10 +- src/Model/PaymenTechnologiesSettings.php | 10 +- src/Model/PaymentAsia.php | 13 +- src/Model/PaymentAsiaCredentials.php | 10 +- src/Model/PaymentCard.php | 10 +- src/Model/PaymentCardCreatePlain.php | 11 +- src/Model/PaymentCardEmbedded.php | 10 +- src/Model/PaymentCardFeatureFactory.php | 8 +- src/Model/PaymentCardToken.php | 10 +- .../PaymentCardTokenPaymentInstrument.php | 10 +- src/Model/PaymentCardUpdatePlain.php | 11 +- src/Model/PaymentInstructionFactory.php | 12 +- src/Model/PaymentInstructionInstrument.php | 11 +- src/Model/PaymentInstructionMethods.php | 21 +- src/Model/PaymentInstructionToken.php | 11 +- src/Model/PaymentInstrumentCreateToken.php | 11 +- src/Model/PaymentInstrumentFactory.php | 290 +++++----- src/Model/PaymentInstrumentNameInquiry.php | 10 +- src/Model/PaymentInstrumentUpdateToken.php | 11 +- src/Model/PaymentMethodMetadata.php | 10 +- ...thodMetadataSupportedCurrenciesFactory.php | 8 +- src/Model/PaymentMethodMetadataUx.php | 10 +- src/Model/PaymentsOS.php | 13 +- src/Model/PaymentsOSCredentials.php | 10 +- src/Model/Paymero.php | 13 +- src/Model/PaymeroCredentials.php | 10 +- src/Model/PaymeroSettings.php | 10 +- src/Model/Paynote.php | 13 +- src/Model/PaynoteCredentials.php | 10 +- src/Model/PayoutRequest.php | 68 ++- src/Model/PayoutRequestAllocation.php | 512 +++++++++++++++++- src/Model/PayoutRequestAllocations.php | 24 +- .../PayoutRequestAllocationsDataExport.php | 428 +++++++++++++++ ...tRequestAllocationsDataExportDateRange.php | 96 ++++ ...utRequestAllocationsDataExportEmbedded.php | 86 +++ src/Model/PayoutRequestBatch.php | 308 +++++++++++ ...ayoutRequestBatchTotalAmountByCurrency.php | 82 +++ src/Model/PayoutRequestBlockReason.php | 40 ++ src/Model/PayoutRequestCancellation.php | 10 +- src/Model/PayoutRequestSplit.php | 71 +++ src/Model/PayoutRequestTimelineMessage.php | 14 +- src/Model/PayoutRequestV2.php | 92 +++- src/Model/PayoutRequestsDataExport.php | 428 +++++++++++++++ .../PayoutRequestsDataExportDateRange.php | 96 ++++ .../PayoutRequestsDataExportEmbedded.php | 86 +++ src/Model/Payper.php | 13 +- src/Model/PayperCredentials.php | 10 +- src/Model/PayperSettings.php | 10 +- src/Model/Payr.php | 13 +- src/Model/PayrCredentials.php | 10 +- src/Model/Paysafe.php | 13 +- src/Model/PaysafeCredentials.php | 10 +- src/Model/Paysafecard.php | 13 +- src/Model/PaysafecardCredentials.php | 10 +- src/Model/Paysafecash.php | 13 +- src/Model/PaysafecashCredentials.php | 10 +- src/Model/Payvision.php | 13 +- src/Model/PayvisionCredentials.php | 10 +- src/Model/PayvisionSettings.php | 10 +- src/Model/PercentageFeeFormula.php | 11 +- src/Model/PeriodAnchorFactory.php | 6 +- src/Model/PharosPayments.php | 13 +- src/Model/PharosPaymentsCredentials.php | 10 +- src/Model/Piastrix.php | 13 +- src/Model/PiastrixCredentials.php | 10 +- src/Model/PiastrixSettings.php | 10 +- .../PickInstructionGatewayAccountWeights.php | 13 +- ...ctionGatewayAccountWeightsWeightedList.php | 10 +- .../PickInstructionGatewayAcquirerWeights.php | 13 +- ...tionGatewayAcquirerWeightsWeightedList.php | 12 +- src/Model/Pin4Pay.php | 13 +- src/Model/Pin4PayCredentials.php | 10 +- src/Model/PlaidAccountToken.php | 10 +- .../PlaidAccountTokenPaymentInstrument.php | 10 +- src/Model/PlaidCredential.php | 10 +- src/Model/Plan.php | 2 +- src/Model/PlanFactory.php | 8 +- src/Model/PlanFormulaFixedFee.php | 11 +- src/Model/PlanFormulaFlatRate.php | 11 +- src/Model/PlanFormulaStairstep.php | 11 +- src/Model/PlanFormulaStairstepBrackets.php | 10 +- src/Model/PlanFormulaTiered.php | 11 +- src/Model/PlanFormulaTieredBrackets.php | 10 +- src/Model/PlanFormulaVolume.php | 11 +- src/Model/PlanFormulaVolumeBrackets.php | 10 +- src/Model/PlanPriceFormulaFactory.php | 12 +- src/Model/PlanSetup.php | 10 +- src/Model/PlanTrial.php | 10 +- src/Model/PlanTrialPeriod.php | 10 +- src/Model/Plugnpay.php | 13 +- src/Model/PlugnpayCredentials.php | 10 +- src/Model/PostCashier.php | 10 +- src/Model/PostCashierDepositLimits.php | 10 +- src/Model/PostDepositRequest.php | 10 +- src/Model/PostDepositRequestAmountLimits.php | 10 +- src/Model/PostDepositRequestCustomAmount.php | 10 +- src/Model/PostDisputeRequest.php | 40 +- src/Model/PostFileRequestFactory.php | 6 +- src/Model/PostFinance.php | 13 +- src/Model/PostFinanceCredentials.php | 10 +- src/Model/PostFinanceSettings.php | 10 +- src/Model/PostOrganizationExportRequest.php | 10 +- src/Model/PostOrganizationRequest.php | 10 +- src/Model/PostPaymentInstrumentRequest.php | 11 + .../PostPaymentInstrumentRequestFactory.php | 329 +++++------ src/Model/PostPayoutRequest.php | 10 +- .../PostPayoutRequestAllocationRequest.php | 10 +- ...PayoutRequestAllocationsProcessRequest.php | 66 +++ ...PostPayoutRequestAutoAllocationRequest.php | 10 +- .../PostPayoutRequestBatchBlockRequest.php | 94 ++++ src/Model/PostPayoutRequestBatchRequest.php | 24 + ...stPayoutRequestBatchRequestExplicitIDs.php | 83 +++ .../PostPayoutRequestBatchRequestFactory.php | 32 ++ ...stPayoutRequestBatchRequestFilterBased.php | 77 +++ src/Model/PostPermissionsEmulationRequest.php | 10 +- src/Model/PostReadyToPayFactory.php | 6 +- .../PostTagAmlCheckCollectionRequest.php | 10 +- .../PostTagCustomerCollectionRequest.php | 10 +- .../PostTagKycDocumentCollectionRequest.php | 10 +- src/Model/PostTransactionRequest.php | 10 +- src/Model/PostmarkCredential.php | 10 +- src/Model/Powertranz.php | 13 +- src/Model/PowertranzCredentials.php | 10 +- src/Model/Product.php | 10 +- src/Model/ProductRecognition.php | 10 +- src/Model/Profile.php | 10 +- src/Model/ProfileMfa.php | 10 +- src/Model/ProofOfAddressKycDocument.php | 10 +- ...oofOfAddressKycDocumentDocumentMatches.php | 10 +- .../ProofOfAddressKycDocumentEmbedded.php | 10 +- .../ProofOfAddressKycDocumentParsedData.php | 10 +- src/Model/ProofOfCreditFileKycDocument.php | 10 +- ...OfCreditFileKycDocumentDocumentMatches.php | 10 +- .../ProofOfCreditFileKycDocumentEmbedded.php | 10 +- src/Model/ProofOfFundsKycDocument.php | 10 +- ...ProofOfFundsKycDocumentDocumentMatches.php | 10 +- src/Model/ProofOfFundsKycDocumentEmbedded.php | 10 +- .../ProofOfFundsKycDocumentParsedData.php | 10 +- src/Model/ProofOfIdentityKycDocument.php | 10 +- ...ofOfIdentityKycDocumentDocumentMatches.php | 10 +- .../ProofOfIdentityKycDocumentEmbedded.php | 10 +- .../ProofOfIdentityKycDocumentParsedData.php | 10 +- src/Model/ProofOfPurchaseKycDocument.php | 10 +- ...ofOfPurchaseKycDocumentDocumentMatches.php | 10 +- .../ProofOfPurchaseKycDocumentEmbedded.php | 10 +- .../ProofOfPurchaseKycDocumentParsedData.php | 10 +- src/Model/Prosa.php | 13 +- src/Model/ProsaCredentials.php | 10 +- src/Model/PurchaseMatches.php | 10 +- ...sOnlineCustomerExternalServiceSettings.php | 10 +- ...uickBooksOnlineExternalServiceSettings.php | 10 +- ...ksOnlineInvoiceExternalServiceSettings.php | 10 +- ...ineJournalEntryExternalServiceSettings.php | 10 +- ...lineTransactionExternalServiceSettings.php | 10 +- src/Model/QuoteFactory.php | 8 +- src/Model/QuoteItemFactory.php | 6 +- src/Model/QuoteOneTimeSaleItem.php | 10 +- src/Model/QuoteSubscriptionItem.php | 10 +- src/Model/QuoteTimeline.php | 10 +- src/Model/RPN.php | 13 +- src/Model/RPNCredentials.php | 10 +- src/Model/Rapyd.php | 13 +- src/Model/RapydCredentials.php | 10 +- src/Model/RapydSettings.php | 10 +- src/Model/ReactivationQuote.php | 10 +- ...ReactivationQuoteAcceptanceFulfillment.php | 10 +- src/Model/ReactivationQuoteEmbedded.php | 10 +- src/Model/ReactivationQuoteInvoicePreview.php | 10 +- ...ationQuoteInvoicePreviewInitialAmounts.php | 10 +- .../ReactivationQuoteInvoicePreviewItems.php | 10 +- ...ionQuoteInvoicePreviewRecurringAmounts.php | 10 +- src/Model/ReactivationQuoteOrder.php | 10 +- src/Model/ReactivationQuoteSignature.php | 10 +- src/Model/ReadyToPayAchMethod.php | 11 +- .../ReadyToPayAchMethodFeatureFactory.php | 4 +- src/Model/ReadyToPayAmount.php | 11 +- src/Model/ReadyToPayGenericMethod.php | 15 +- src/Model/ReadyToPayItems.php | 11 +- src/Model/ReadyToPayItemsItems.php | 10 +- src/Model/ReadyToPayKlarnaMethod.php | 11 +- .../ReadyToPayKlarnaMethodFeatureFactory.php | 4 +- src/Model/ReadyToPayMethodsFactory.php | 292 +++++----- src/Model/ReadyToPayPayPalMethod.php | 11 +- .../ReadyToPayPayPalMethodFeatureFactory.php | 4 +- src/Model/ReadyToPayPaymentCardMethod.php | 11 +- src/Model/Realex.php | 13 +- src/Model/RealexCredentials.php | 10 +- src/Model/Realtime.php | 13 +- src/Model/RealtimeCredentials.php | 10 +- src/Model/RebillyAvalaraTax.php | 11 +- src/Model/RebillyShipping.php | 11 +- src/Model/RebillyTaxJarTax.php | 11 +- src/Model/RecurringOrder.php | 28 +- src/Model/RecurringOrderEmbedded.php | 10 +- src/Model/RecurringOrderItems.php | 2 + src/Model/RecurringOrderItemsFactory.php | 6 +- src/Model/RecurringOrderTrial.php | 10 +- src/Model/RedemptionCancelTimelineAction.php | 11 +- src/Model/RedemptionRestrictionFactory.php | 17 +- src/Model/Redsys.php | 13 +- src/Model/RedsysCredentials.php | 10 +- src/Model/RedsysSettings.php | 10 +- src/Model/RefundTransaction.php | 10 +- .../ReminderScheduleInstructionFactory.php | 8 +- src/Model/RenewalSales.php | 10 +- src/Model/RenewalSalesData.php | 10 +- src/Model/ReportAmlChecks.php | 114 ++++ src/Model/ReportAnnualRecurringRevenue.php | 10 +- .../ReportAnnualRecurringRevenueData.php | 10 +- ...ortAnnualRecurringRevenueDataBreakdown.php | 10 +- src/Model/ReportDeclinedTransactions.php | 10 +- src/Model/ReportDeclinedTransactionsData.php | 10 +- src/Model/ReportDeferredRevenue.php | 10 +- src/Model/ReportDeferredRevenueMonths.php | 10 +- src/Model/ReportDisputeDelays.php | 10 +- src/Model/ReportDisputeDelaysData.php | 10 +- src/Model/ReportDisputes.php | 10 +- src/Model/ReportDisputesData.php | 10 +- src/Model/ReportEventsTriggeredSummary.php | 10 +- .../ReportEventsTriggeredSummaryData.php | 10 +- src/Model/ReportJournal.php | 10 +- src/Model/ReportJournalData.php | 10 +- src/Model/ReportKycRejections.php | 10 +- src/Model/ReportKycRejectionsData.php | 10 +- ...eportKycRejectionsDataRejectionReasons.php | 10 +- src/Model/ReportKycRequests.php | 10 +- src/Model/ReportKycRequestsData.php | 10 +- src/Model/ReportMonthlyRecurringRevenue.php | 10 +- .../ReportMonthlyRecurringRevenueData.php | 10 +- ...rtMonthlyRecurringRevenueDataBreakdown.php | 10 +- src/Model/ReportRetentionPercentage.php | 10 +- src/Model/ReportRetentionPercentageData.php | 10 +- .../ReportRetentionPercentageDataPeriods.php | 10 +- src/Model/ReportRetentionValue.php | 10 +- src/Model/ReportRetentionValueData.php | 10 +- src/Model/ReportRetentionValueDataPeriods.php | 10 +- src/Model/ReportRevenueWaterfall.php | 10 +- src/Model/ReportRevenueWaterfallWaterfall.php | 10 +- src/Model/ReportRulesMatchedSummary.php | 10 +- src/Model/ReportRulesMatchedSummaryData.php | 10 +- src/Model/ReportTax.php | 10 +- src/Model/ReportTaxData.php | 10 +- src/Model/ReportTransactions.php | 10 +- src/Model/ReportTransactionsData.php | 10 +- src/Model/ResendEmailTimelineAction.php | 11 +- src/Model/ResetPasswordToken.php | 10 +- src/Model/ResourceLink.php | 10 +- src/Model/ReverseTransaction.php | 10 +- src/Model/RiskMetadata.php | 10 +- src/Model/RiskMetadataBrowserData.php | 10 +- src/Model/RiskMetadataExtraData.php | 10 +- src/Model/RiskReserveReleaseTransaction.php | 10 +- src/Model/RiskReserveTransaction.php | 10 +- .../RiskReserveTransactionRiskReserve.php | 10 +- src/Model/RiskScoreBlocklist.php | 230 +------- src/Model/RiskScoreBlocklistPermanentRule.php | 10 +- .../RiskScoreBlocklistPermanentRules.php | 10 +- src/Model/RiskScoreBlocklistTemporaryRule.php | 10 +- .../RiskScoreBlocklistTemporaryRules.php | 10 +- src/Model/RiskScoreBlocklistType.php | 74 --- src/Model/RiskScoreBoolean.php | 10 +- src/Model/RiskScoreBracket.php | 10 +- src/Model/RiskScoreBracketBrackets0.php | 11 +- src/Model/RiskScoreBracketBrackets1.php | 11 +- src/Model/RiskScoreBracketBracketsFactory.php | 4 +- src/Model/RiskScoreRules.php | 10 +- src/Model/Role.php | 10 +- src/Model/RoleEmbedded.php | 10 +- src/Model/Rotessa.php | 13 +- src/Model/RotessaCredentials.php | 10 +- src/Model/RotessaSettings.php | 10 +- src/Model/Rule.php | 10 +- src/Model/RuleAction.php | 60 +- .../RuleActionAbandonScheduledPayments.php | 13 +- src/Model/RuleActionAddBlockList.php | 13 +- src/Model/RuleActionAddRiskScore.php | 13 +- src/Model/RuleActionAdjustReadyToPay.php | 13 +- src/Model/RuleActionAdjustReadyToPayout.php | 13 +- .../RuleActionCancelScheduledPayments.php | 13 +- .../RuleActionCheckOntarioRestriction.php | 13 +- ...ntuitQuickbooksBalanceTransactionEntry.php | 13 +- ...uleActionCreateIntuitQuickbooksInvoice.php | 13 +- ...nCreateIntuitQuickbooksInvoiceTemplate.php | 10 +- ...uleActionCreateIntuitQuickbooksPayment.php | 13 +- ...ionCreateIntuitQuickbooksRefundReceipt.php | 13 +- ...ntuitQuickbooksRevenueRecognitionEntry.php | 13 +- src/Model/RuleActionDeclineTransaction.php | 13 +- src/Model/RuleActionDisplayOtherChoices.php | 13 +- .../RuleActionDisplayOtherChoicesChoices.php | 10 +- .../RuleActionGuessPaymentCardExpiration.php | 13 +- src/Model/RuleActionPerformExperianCheck.php | 13 +- src/Model/RuleActionPickGatewayAccount.php | 13 +- src/Model/RuleActionRequestKyc.php | 13 +- src/Model/RuleActionScheduleInvoiceRetry.php | 13 +- ...RuleActionScheduleInvoiceRetryAttempts.php | 10 +- src/Model/RuleActionSchedulePayment.php | 13 +- src/Model/RuleActionScheduleReminder.php | 13 +- .../RuleActionScheduleReminderSchedule.php | 10 +- src/Model/RuleActionSendEmail.php | 12 +- src/Model/RuleActionStopSubscriptions.php | 13 +- src/Model/RuleActionTagOrUntagCustomer.php | 13 +- ...uleActionUpdateIntuitQuickbooksInvoice.php | 13 +- ...nUpdateIntuitQuickbooksInvoiceTemplate.php | 10 +- .../RuleActionVoidIntuitQuickbooksInvoice.php | 13 +- src/Model/RuleSet.php | 10 +- src/Model/RuleSetDraft.php | 10 +- src/Model/RuleSetDraftAuthor.php | 10 +- src/Model/RuleSetHistoryItem.php | 10 +- src/Model/RuleSetVersion.php | 10 +- src/Model/RulesEmailNotification.php | 10 +- src/Model/RulesEmailNotificationTemplates.php | 10 +- ...sEmailNotificationTemplatesAttachments.php | 10 +- src/Model/RulesEngineTimeline.php | 10 +- src/Model/RulesetRestoreTimelineAction.php | 11 +- src/Model/SESCredential.php | 10 +- src/Model/SMSVoucher.php | 13 +- src/Model/SMSVoucherCredentials.php | 10 +- src/Model/STPMexico.php | 13 +- src/Model/STPMexicoCredentials.php | 10 +- src/Model/Safecharge.php | 13 +- src/Model/SafechargeCredentials.php | 10 +- src/Model/Sagepay.php | 13 +- src/Model/SagepayCredentials.php | 10 +- src/Model/SaltarPay.php | 13 +- src/Model/SaltarPayCredentials.php | 10 +- src/Model/SamsungPayFeature.php | 11 +- src/Model/ScheduleInstructionFactory.php | 16 +- src/Model/SchedulingMethodAuto.php | 11 +- src/Model/SchedulingMethodDateInterval.php | 11 +- .../SchedulingMethodDayAndMonthOfYear.php | 11 +- src/Model/SchedulingMethodDayOfMonth.php | 11 +- src/Model/SchedulingMethodDayOfWeek.php | 11 +- src/Model/SchedulingMethodImmediately.php | 11 +- src/Model/SchedulingMethodIntelligent.php | 11 +- src/Model/SeamlessChex.php | 13 +- src/Model/SeamlessChexCredentials.php | 10 +- src/Model/Search.php | 10 +- src/Model/SecureTrading.php | 13 +- src/Model/SecureTradingCredentials.php | 10 +- src/Model/SecureTradingSettings.php | 10 +- src/Model/SecurionPay.php | 13 +- src/Model/SecurionPayCredentials.php | 10 +- src/Model/SellFeeTransaction.php | 10 +- src/Model/SellFeeTransactionFee.php | 10 +- src/Model/SendGridCredential.php | 10 +- src/Model/SendThroughAttribution.php | 10 +- src/Model/ServiceCredentialFactory.php | 24 +- .../ServicePeriodAnchorInstructionFactory.php | 8 +- src/Model/Session.php | 10 +- src/Model/SettlementPeriodFactory.php | 6 +- src/Model/SettlementSettings.php | 10 +- .../SettlementSettingsAdvancedSettings.php | 10 +- src/Model/ShippingFactory.php | 6 +- src/Model/ShippingOption.php | 10 +- src/Model/ShippingRate.php | 10 +- src/Model/ShowEddSearchLogsTimelineAction.php | 11 +- src/Model/Skrill.php | 13 +- src/Model/SkrillCredentials.php | 28 +- src/Model/SkrillSettings.php | 28 +- src/Model/SmartInvoice.php | 13 +- src/Model/SmartInvoiceCredentials.php | 10 +- src/Model/SmtpAuthorizationCramMd5.php | 11 +- src/Model/SmtpAuthorizationFactory.php | 10 +- src/Model/SmtpAuthorizationLogin.php | 11 +- src/Model/SmtpAuthorizationNone.php | 11 +- src/Model/SmtpAuthorizationPlain.php | 11 +- src/Model/SmtpCredential.php | 10 +- src/Model/Sofort.php | 13 +- src/Model/SofortCredentials.php | 10 +- src/Model/SparkPay.php | 13 +- src/Model/SparkPayCredentials.php | 10 +- src/Model/Splitit.php | 13 +- src/Model/SplititCredentials.php | 10 +- src/Model/SplititSettings.php | 10 +- src/Model/StaticGateway.php | 13 +- src/Model/Status.php | 10 +- src/Model/StringCustomField.php | 11 +- .../StringCustomFieldAdditionalSchema.php | 10 +- src/Model/Stripe.php | 13 +- src/Model/StripeCredentials.php | 10 +- src/Model/StripeSettings.php | 28 +- src/Model/StripeThreeDSecureServer.php | 10 +- src/Model/Subscription.php | 10 +- src/Model/SubscriptionCancellation.php | 10 +- ...bscriptionCancellationLineItemSubtotal.php | 10 +- .../SubscriptionCancellationLineItems.php | 10 +- src/Model/SubscriptionCancellationReport.php | 10 +- .../SubscriptionCancellationReportData.php | 10 +- src/Model/SubscriptionChange.php | 10 +- src/Model/SubscriptionChangeItems.php | 10 +- src/Model/SubscriptionEmbedded.php | 10 +- src/Model/SubscriptionInvoice.php | 10 +- src/Model/SubscriptionItem.php | 28 +- .../SubscriptionItemRecurringInterval.php | 10 +- src/Model/SubscriptionLineItemSubtotal.php | 10 +- src/Model/SubscriptionLineItems.php | 10 +- .../SubscriptionOrOneTimeSaleFactory.php | 6 +- src/Model/SubscriptionOrOneTimeSaleItem.php | 10 +- .../SubscriptionOrOneTimeSaleItemEmbedded.php | 10 +- src/Model/SubscriptionPause.php | 10 +- src/Model/SubscriptionPlan.php | 38 +- src/Model/SubscriptionPlanMeteredBilling.php | 10 +- .../SubscriptionPlanRecurringInterval.php | 10 +- src/Model/SubscriptionReactivation.php | 10 +- src/Model/SubscriptionRecurringInterval.php | 10 +- src/Model/SubscriptionRenewal.php | 10 +- src/Model/SubscriptionRenewalData.php | 10 +- src/Model/SubscriptionSummaryMetrics.php | 10 +- src/Model/SubscriptionTrial.php | 10 +- src/Model/SubscriptionsDataExport.php | 18 +- .../SubscriptionsDataExportDateRange.php | 96 ++++ src/Model/SubscriptionsDataExportEmbedded.php | 10 +- src/Model/SystemEvent.php | 10 +- src/Model/TWINT.php | 13 +- src/Model/TWINTCredentials.php | 10 +- src/Model/TWINTSettings.php | 10 +- src/Model/Tabby.php | 13 +- src/Model/TabbyCredentials.php | 10 +- src/Model/TabbySettings.php | 10 +- src/Model/Tag.php | 10 +- src/Model/TagUntagRule.php | 10 +- src/Model/TaxItem.php | 10 +- src/Model/TaxItemJurisdictions.php | 10 +- src/Model/TaxJarCredential.php | 10 +- src/Model/TaxNumber.php | 10 +- src/Model/TaxTracking.php | 10 +- src/Model/TaxesFactory.php | 8 +- src/Model/Telr.php | 13 +- src/Model/TelrCredentials.php | 10 +- src/Model/TelrSettings.php | 10 +- src/Model/TestProcessor.php | 13 +- src/Model/ThreeColumnsTimelineTable.php | 13 +- src/Model/ThreeColumnsTimelineTableData.php | 10 +- src/Model/ThreeDSecureIO3dsServer.php | 10 +- src/Model/TimeSeriesTransaction.php | 10 +- src/Model/TimeSeriesTransactionData.php | 10 +- ...TimeSeriesTransactionDataSubaggregates.php | 10 +- src/Model/TimelineActionFactory.php | 10 +- src/Model/TimelineExtraData.php | 10 +- src/Model/TimelineExtraDataAuthor.php | 10 +- src/Model/TimelineExtraDataLinks.php | 10 +- src/Model/TimelineTable.php | 16 +- src/Model/ToditoCash.php | 13 +- src/Model/ToditoCashCredentials.php | 10 +- src/Model/Transaction.php | 42 +- src/Model/Transaction3ds.php | 10 +- src/Model/TransactionDcc.php | 14 +- src/Model/TransactionEmbedded.php | 10 +- src/Model/TransactionGateway.php | 10 +- src/Model/TransactionGatewayAvsResponse.php | 10 +- src/Model/TransactionGatewayCvvResponse.php | 10 +- src/Model/TransactionGatewayResponse.php | 10 +- src/Model/TransactionLimitAmount.php | 10 +- .../TransactionPaymentInstrumentFactory.php | 392 +++++++------- src/Model/TransactionQuery.php | 10 +- src/Model/TransactionRefund.php | 10 +- src/Model/TransactionTimeline.php | 10 +- src/Model/TransactionUpdate.php | 10 +- src/Model/TransactionsDataExport.php | 18 +- src/Model/TransactionsDataExportDateRange.php | 96 ++++ src/Model/TransactionsDataExportEmbedded.php | 10 +- src/Model/TrialOnlyPlan.php | 38 +- src/Model/Triple000.php | 13 +- src/Model/Triple000Credentials.php | 10 +- src/Model/Truevo.php | 13 +- src/Model/TruevoCredentials.php | 10 +- src/Model/Trustly.php | 13 +- src/Model/TrustlyCredentials.php | 10 +- src/Model/TrustsPay.php | 13 +- src/Model/TrustsPayCredentials.php | 10 +- src/Model/TwoColumnsTimelineTable.php | 13 +- src/Model/TwoColumnsTimelineTableData.php | 10 +- src/Model/UPayCard.php | 13 +- src/Model/UPayCardCredentials.php | 10 +- src/Model/UPayCardSettings.php | 10 +- src/Model/USAePay.php | 13 +- src/Model/USAePayCredentials.php | 10 +- src/Model/Unlimit.php | 13 +- src/Model/UnlimitCredentials.php | 10 +- src/Model/UpcomingInvoice.php | 10 +- src/Model/UpcomingInvoiceDiscounts.php | 10 +- src/Model/UpcomingInvoiceEmbedded.php | 10 +- src/Model/UpcomingInvoiceItem.php | 10 +- src/Model/UpcomingInvoiceItemEmbedded.php | 10 +- src/Model/Usage.php | 10 +- src/Model/UsageLimits.php | 10 +- src/Model/UsageLimitsHardLimit.php | 10 +- src/Model/UsageLimitsSoftLimit.php | 10 +- src/Model/UsageStatus.php | 10 +- src/Model/User.php | 10 +- src/Model/UserApplication.php | 10 +- src/Model/UserApplicationEmbedded.php | 10 +- src/Model/VCreditos.php | 13 +- src/Model/VCreditosCredentials.php | 10 +- src/Model/VCreditosSettings.php | 10 +- src/Model/ValueList.php | 10 +- src/Model/VantivLitle.php | 13 +- src/Model/VantivLitleCredentials.php | 10 +- src/Model/VaultedInstrument.php | 395 +------------- src/Model/VegaWallet.php | 13 +- src/Model/VegaWalletCredentials.php | 28 +- src/Model/VegaaH.php | 13 +- src/Model/VegaaHCredentials.php | 10 +- src/Model/Viva.php | 89 +++ src/Model/VivaCredentials.php | 114 ++++ src/Model/VivaSettings.php | 78 +++ src/Model/Wallet88.php | 13 +- src/Model/Wallet88Credentials.php | 10 +- src/Model/Wallet88Settings.php | 10 +- src/Model/Walpay.php | 13 +- src/Model/WalpayCredentials.php | 10 +- src/Model/WebhookAuthorizationBasic.php | 11 +- src/Model/WebhookAuthorizationDigest.php | 11 +- src/Model/WebhookAuthorizationFactory.php | 8 +- src/Model/WebhookAuthorizationNone.php | 11 +- src/Model/WebhookCredential.php | 10 +- src/Model/WebhookTracking.php | 10 +- src/Model/Website.php | 10 +- src/Model/WebsiteSettings.php | 10 +- src/Model/WebsiteSettingsAmplitude.php | 10 +- src/Model/WebsiteSettingsDepositForm.php | 10 +- src/Model/WebsiteSettingsDepositFormTheme.php | 10 +- src/Model/WebsiteSettingsPaymentForm.php | 10 +- .../WebsiteSettingsPaymentFormFeatures.php | 10 +- src/Model/WesternUnion.php | 13 +- src/Model/WesternUnionCredentials.php | 10 +- src/Model/Wirecard.php | 13 +- src/Model/WirecardCredentials.php | 10 +- src/Model/WorldlineAtosFrankfurt.php | 13 +- .../WorldlineAtosFrankfurtCredentials.php | 10 +- src/Model/WorldlineAtosFrankfurtSettings.php | 10 +- src/Model/Worldpay.php | 13 +- src/Model/WorldpayCredentials.php | 10 +- src/Model/WorldpaySettings.php | 10 +- src/Model/XPay.php | 13 +- src/Model/XPayCredentials.php | 10 +- src/Model/Zimpler.php | 13 +- src/Model/ZimplerCredentials.php | 10 +- src/Model/Zotapay.php | 13 +- src/Model/ZotapayCredentials.php | 10 +- src/Service.php | 8 + src/Trait/HasMetadata.php | 55 ++ 1549 files changed, 18465 insertions(+), 7145 deletions(-) create mode 100644 .changeset/afraid-trees-impress.md create mode 100644 .changeset/beige-pans-shout.md create mode 100644 .changeset/big-dragons-yell.md create mode 100644 .changeset/big-kids-turn.md create mode 100644 .changeset/bright-rules-lay.md create mode 100644 .changeset/brown-doors-grow.md create mode 100644 .changeset/calm-plums-kick.md create mode 100644 .changeset/chatty-pets-fix.md create mode 100644 .changeset/cuddly-geckos-wait.md create mode 100644 .changeset/dirty-shoes-attack.md create mode 100644 .changeset/eight-onions-decide.md create mode 100644 .changeset/eleven-forks-smile.md create mode 100644 .changeset/fair-pumas-wink.md create mode 100644 .changeset/few-tomatoes-reply.md create mode 100644 .changeset/fifty-owls-reflect.md create mode 100644 .changeset/five-pets-search.md create mode 100644 .changeset/flat-vans-attend.md create mode 100644 .changeset/fluffy-candles-attack.md create mode 100644 .changeset/fluffy-insects-warn.md create mode 100644 .changeset/forty-cougars-relate.md create mode 100644 .changeset/funny-meals-clean.md create mode 100644 .changeset/gentle-impalas-promise.md create mode 100644 .changeset/gentle-numbers-compete.md create mode 100644 .changeset/gentle-seas-tap.md create mode 100644 .changeset/gold-papayas-obey.md create mode 100644 .changeset/green-dolphins-refuse.md create mode 100644 .changeset/green-spoons-heal.md create mode 100644 .changeset/happy-houses-boil.md create mode 100644 .changeset/healthy-lions-call.md create mode 100644 .changeset/itchy-dingos-wait.md create mode 100644 .changeset/itchy-windows-joke.md create mode 100644 .changeset/khaki-cups-wash.md create mode 100644 .changeset/kind-pigs-doubt.md create mode 100644 .changeset/kind-tigers-eat.md create mode 100644 .changeset/lazy-coins-design.md create mode 100644 .changeset/light-olives-film.md create mode 100644 .changeset/many-bears-exist.md create mode 100644 .changeset/many-bikes-warn.md create mode 100644 .changeset/modern-worms-lay.md create mode 100644 .changeset/nasty-melons-fold.md create mode 100644 .changeset/new-dancers-learn.md create mode 100644 .changeset/ninety-colts-dress.md create mode 100644 .changeset/old-lamps-raise.md create mode 100644 .changeset/olive-ducks-talk.md create mode 100644 .changeset/olive-peas-film.md create mode 100644 .changeset/orange-zebras-carry.md create mode 100644 .changeset/plenty-buckets-retire.md create mode 100644 .changeset/plenty-lemons-return.md create mode 100644 .changeset/polite-cobras-prove.md create mode 100644 .changeset/popular-bears-fix.md create mode 100644 .changeset/pretty-insects-hug.md create mode 100644 .changeset/proud-cups-explode.md create mode 100644 .changeset/proud-kings-vanish.md create mode 100644 .changeset/purple-fishes-laugh.md create mode 100644 .changeset/purple-jobs-remember.md create mode 100644 .changeset/purple-ravens-bake.md create mode 100644 .changeset/quick-glasses-mix.md create mode 100644 .changeset/quiet-baboons-press.md create mode 100644 .changeset/rare-maps-cry.md create mode 100644 .changeset/rotten-roses-report.md create mode 100644 .changeset/selfish-dolls-punch.md create mode 100644 .changeset/selfish-forks-shave.md create mode 100644 .changeset/shaggy-plums-travel.md create mode 100644 .changeset/shaggy-squids-sell.md create mode 100644 .changeset/silent-moose-pretend.md create mode 100644 .changeset/six-hotels-look.md create mode 100644 .changeset/sixty-timers-sneeze.md create mode 100644 .changeset/slimy-dryers-share.md create mode 100644 .changeset/slimy-items-repair.md create mode 100644 .changeset/slow-pigs-sneeze.md create mode 100644 .changeset/soft-spiders-deny.md create mode 100644 .changeset/sour-bats-approve.md create mode 100644 .changeset/spotty-badgers-cover.md create mode 100644 .changeset/stale-cycles-admire.md create mode 100644 .changeset/strange-seahorses-watch.md create mode 100644 .changeset/strong-penguins-draw.md create mode 100644 .changeset/strong-poets-count.md create mode 100644 .changeset/stupid-doors-tell.md create mode 100644 .changeset/tall-nails-study.md create mode 100644 .changeset/tame-files-smoke.md create mode 100644 .changeset/tender-bobcats-joke.md create mode 100644 .changeset/tender-comics-teach.md create mode 100644 .changeset/thin-pianos-enjoy.md create mode 100644 .changeset/three-carpets-relate.md create mode 100644 .changeset/tidy-kids-camp.md create mode 100644 .changeset/tidy-maps-report.md create mode 100644 .changeset/tiny-timers-shake.md create mode 100644 .changeset/tricky-games-exercise.md create mode 100644 .changeset/two-days-doubt.md create mode 100644 .changeset/violet-cheetahs-taste.md create mode 100644 .changeset/violet-years-cross.md create mode 100644 .changeset/warm-suns-tell.md create mode 100644 .changeset/wet-scissors-drive.md create mode 100644 .changeset/wise-chefs-argue.md create mode 100644 .changeset/witty-waves-wait.md create mode 100644 .changeset/witty-zebras-drop.md create mode 100644 .changeset/yellow-foxes-hope.md create mode 100644 .changeset/young-cycles-enjoy.md create mode 100644 src/Api/PayoutRequestBatchesApi.php create mode 100644 src/Model/AmlCheckProvenance.php create mode 100644 src/Model/AmlChecksDataExportDateRange.php create mode 100644 src/Model/BankAccountCreatePlainFactory.php create mode 100644 src/Model/CouponRestrictionMaximumOrderAmount.php create mode 100644 src/Model/CryptocurrencyToken.php create mode 100644 src/Model/CustomersDataExportDateRange.php rename src/Model/{DataExportDateRange.php => DisputesDataExportDateRange.php} (83%) create mode 100644 src/Model/GetPayoutRequestBatchPreviewResponse.php create mode 100644 src/Model/GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency.php create mode 100644 src/Model/InvoiceItemsDataExportDateRange.php create mode 100644 src/Model/InvoicesDataExportDateRange.php create mode 100644 src/Model/JournalRecordsDataExportDateRange.php create mode 100644 src/Model/OrderItemUpdatePlan.php create mode 100644 src/Model/OrderPreviewInitialAmounts.php create mode 100644 src/Model/OrderPreviewRecurringAmounts.php create mode 100644 src/Model/PayoutRequestAllocationsDataExport.php create mode 100644 src/Model/PayoutRequestAllocationsDataExportDateRange.php create mode 100644 src/Model/PayoutRequestAllocationsDataExportEmbedded.php create mode 100644 src/Model/PayoutRequestBatch.php create mode 100644 src/Model/PayoutRequestBatchTotalAmountByCurrency.php create mode 100644 src/Model/PayoutRequestBlockReason.php create mode 100644 src/Model/PayoutRequestSplit.php create mode 100644 src/Model/PayoutRequestsDataExport.php create mode 100644 src/Model/PayoutRequestsDataExportDateRange.php create mode 100644 src/Model/PayoutRequestsDataExportEmbedded.php create mode 100644 src/Model/PostPayoutRequestAllocationsProcessRequest.php create mode 100644 src/Model/PostPayoutRequestBatchBlockRequest.php create mode 100644 src/Model/PostPayoutRequestBatchRequest.php create mode 100644 src/Model/PostPayoutRequestBatchRequestExplicitIDs.php create mode 100644 src/Model/PostPayoutRequestBatchRequestFactory.php create mode 100644 src/Model/PostPayoutRequestBatchRequestFilterBased.php create mode 100644 src/Model/ReportAmlChecks.php delete mode 100644 src/Model/RiskScoreBlocklistType.php create mode 100644 src/Model/SubscriptionsDataExportDateRange.php create mode 100644 src/Model/TransactionsDataExportDateRange.php create mode 100644 src/Model/Viva.php create mode 100644 src/Model/VivaCredentials.php create mode 100644 src/Model/VivaSettings.php create mode 100644 src/Trait/HasMetadata.php diff --git a/.changeset/afraid-trees-impress.md b/.changeset/afraid-trees-impress.md new file mode 100644 index 000000000..09d8513c5 --- /dev/null +++ b/.changeset/afraid-trees-impress.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, payment-gateways): Update Paybilt payout new flow Rebilly/rebilly#18734 diff --git a/.changeset/beige-pans-shout.md b/.changeset/beige-pans-shout.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/beige-pans-shout.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/big-dragons-yell.md b/.changeset/big-dragons-yell.md new file mode 100644 index 000000000..2a492ec63 --- /dev/null +++ b/.changeset/big-dragons-yell.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(fe): Bump fast-xml-parser to fix security issues Rebilly/rebilly#18899 diff --git a/.changeset/big-kids-turn.md b/.changeset/big-kids-turn.md new file mode 100644 index 000000000..32386ac1a --- /dev/null +++ b/.changeset/big-kids-turn.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): fix vaulted and alt payment instrument Rebilly/rebilly#15355 diff --git a/.changeset/bright-rules-lay.md b/.changeset/bright-rules-lay.md new file mode 100644 index 000000000..9c8e5777d --- /dev/null +++ b/.changeset/bright-rules-lay.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Change pdf response schema to binary string Rebilly/rebilly#19492 diff --git a/.changeset/brown-doors-grow.md b/.changeset/brown-doors-grow.md new file mode 100644 index 000000000..2bef857a3 --- /dev/null +++ b/.changeset/brown-doors-grow.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, api-definitions): Require at least 2 amounts and their sum equal to split payout request amount in split operation Rebilly/rebilly#19234 diff --git a/.changeset/calm-plums-kick.md b/.changeset/calm-plums-kick.md new file mode 100644 index 000000000..bd6089fcb --- /dev/null +++ b/.changeset/calm-plums-kick.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, recomm, api-definitions): Add MaximumOrderAmount coupon restriction Rebilly/rebilly#17757 diff --git a/.changeset/chatty-pets-fix.md b/.changeset/chatty-pets-fix.md new file mode 100644 index 000000000..2f52c68c4 --- /dev/null +++ b/.changeset/chatty-pets-fix.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, recomm, instruments, storefront): Add creating a credit memo on change quote invoice with negative value Rebilly/rebilly#16334 diff --git a/.changeset/cuddly-geckos-wait.md b/.changeset/cuddly-geckos-wait.md new file mode 100644 index 000000000..7cd968fd6 --- /dev/null +++ b/.changeset/cuddly-geckos-wait.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, api-definitions): update reports to use 400 response Rebilly/rebilly#19748 diff --git a/.changeset/dirty-shoes-attack.md b/.changeset/dirty-shoes-attack.md new file mode 100644 index 000000000..9828c1850 --- /dev/null +++ b/.changeset/dirty-shoes-attack.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, api-definitions): update reports to use 400 response Rebilly/rebilly#19699 diff --git a/.changeset/eight-onions-decide.md b/.changeset/eight-onions-decide.md new file mode 100644 index 000000000..80acb6aec --- /dev/null +++ b/.changeset/eight-onions-decide.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(docs): Add notificationEmails to Storefront account Rebilly/rebilly#19182 diff --git a/.changeset/eleven-forks-smile.md b/.changeset/eleven-forks-smile.md new file mode 100644 index 000000000..0af3ceec6 --- /dev/null +++ b/.changeset/eleven-forks-smile.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(deps): bump es-toolkit from 1.44.0 to 1.45.1 in /website/api-definitions Rebilly/rebilly#19405 diff --git a/.changeset/fair-pumas-wink.md b/.changeset/fair-pumas-wink.md new file mode 100644 index 000000000..b7f204666 --- /dev/null +++ b/.changeset/fair-pumas-wink.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, api-definitions): Add data export functionality for payout requests and allocations Rebilly/rebilly#18168 diff --git a/.changeset/few-tomatoes-reply.md b/.changeset/few-tomatoes-reply.md new file mode 100644 index 000000000..44a22096f --- /dev/null +++ b/.changeset/few-tomatoes-reply.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Fix api defs patch order item Rebilly/rebilly#18565 diff --git a/.changeset/fifty-owls-reflect.md b/.changeset/fifty-owls-reflect.md new file mode 100644 index 000000000..974d6da37 --- /dev/null +++ b/.changeset/fifty-owls-reflect.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(docs): Remove TransactionResult and TransactionStatus schemas Rebilly/rebilly#19804 diff --git a/.changeset/five-pets-search.md b/.changeset/five-pets-search.md new file mode 100644 index 000000000..7261b51cb --- /dev/null +++ b/.changeset/five-pets-search.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,metadata,api-definitions): Update NMI API key authentication Rebilly/rebilly#18559 diff --git a/.changeset/flat-vans-attend.md b/.changeset/flat-vans-attend.md new file mode 100644 index 000000000..d2b07cf80 --- /dev/null +++ b/.changeset/flat-vans-attend.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +docs(website, api-definitions ): Add more noun phrase guidance for API fields Rebilly/rebilly#18686 diff --git a/.changeset/fluffy-candles-attack.md b/.changeset/fluffy-candles-attack.md new file mode 100644 index 000000000..febc9f4dd --- /dev/null +++ b/.changeset/fluffy-candles-attack.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(deps): bump @redocly/cli from 2.14.4 to 2.14.5 in /website/api-definitions Rebilly/rebilly#18058 diff --git a/.changeset/fluffy-insects-warn.md b/.changeset/fluffy-insects-warn.md new file mode 100644 index 000000000..c3c1f4904 --- /dev/null +++ b/.changeset/fluffy-insects-warn.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be,api-definitions,recomm): Add missing Discover dispute reason codes Rebilly/rebilly#18032 diff --git a/.changeset/forty-cougars-relate.md b/.changeset/forty-cougars-relate.md new file mode 100644 index 000000000..1c4704071 --- /dev/null +++ b/.changeset/forty-cougars-relate.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): Introduce cryptocurrency token and store wallet details in reference data Rebilly/rebilly#18600 diff --git a/.changeset/funny-meals-clean.md b/.changeset/funny-meals-clean.md new file mode 100644 index 000000000..d12e8c8d6 --- /dev/null +++ b/.changeset/funny-meals-clean.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Add missing required method in schemas Rebilly/rebilly#18742 diff --git a/.changeset/gentle-impalas-promise.md b/.changeset/gentle-impalas-promise.md new file mode 100644 index 000000000..212feb1dd --- /dev/null +++ b/.changeset/gentle-impalas-promise.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Fix orders experimental API fields Rebilly/rebilly#18768 diff --git a/.changeset/gentle-numbers-compete.md b/.changeset/gentle-numbers-compete.md new file mode 100644 index 000000000..677b76915 --- /dev/null +++ b/.changeset/gentle-numbers-compete.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, api-definitions): preview orders enhancements Rebilly/rebilly#17844 diff --git a/.changeset/gentle-seas-tap.md b/.changeset/gentle-seas-tap.md new file mode 100644 index 000000000..c104238d3 --- /dev/null +++ b/.changeset/gentle-seas-tap.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definition, be, payment-gateways): Implement Paybilt payout Rebilly/rebilly#18651 diff --git a/.changeset/gold-papayas-obey.md b/.changeset/gold-papayas-obey.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/gold-papayas-obey.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/green-dolphins-refuse.md b/.changeset/green-dolphins-refuse.md new file mode 100644 index 000000000..f7a49852b --- /dev/null +++ b/.changeset/green-dolphins-refuse.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Add missing isNew field in API-defs Rebilly/rebilly#19712 diff --git a/.changeset/green-spoons-heal.md b/.changeset/green-spoons-heal.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/green-spoons-heal.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/happy-houses-boil.md b/.changeset/happy-houses-boil.md new file mode 100644 index 000000000..d1c3be73b --- /dev/null +++ b/.changeset/happy-houses-boil.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): Create payout request batch using filter parameters Rebilly/rebilly#18767 diff --git a/.changeset/healthy-lions-call.md b/.changeset/healthy-lions-call.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/healthy-lions-call.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/itchy-dingos-wait.md b/.changeset/itchy-dingos-wait.md new file mode 100644 index 000000000..51a3087e3 --- /dev/null +++ b/.changeset/itchy-dingos-wait.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(docs): Fix format of URL properties Rebilly/rebilly#19268 diff --git a/.changeset/itchy-windows-joke.md b/.changeset/itchy-windows-joke.md new file mode 100644 index 000000000..b3159f568 --- /dev/null +++ b/.changeset/itchy-windows-joke.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): add transferId to transaction schema Rebilly/rebilly#18563 diff --git a/.changeset/khaki-cups-wash.md b/.changeset/khaki-cups-wash.md new file mode 100644 index 000000000..33b38c21f --- /dev/null +++ b/.changeset/khaki-cups-wash.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, recomm, api-definitions): Add blocked and blockReason fields to payout request filters and exports Rebilly/rebilly#19217 diff --git a/.changeset/kind-pigs-doubt.md b/.changeset/kind-pigs-doubt.md new file mode 100644 index 000000000..2b66efcfa --- /dev/null +++ b/.changeset/kind-pigs-doubt.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,recomm,api-definitions): Limit payout request batch size Rebilly/rebilly#19287 diff --git a/.changeset/kind-tigers-eat.md b/.changeset/kind-tigers-eat.md new file mode 100644 index 000000000..e47716480 --- /dev/null +++ b/.changeset/kind-tigers-eat.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Mark invoiceTimeShift field as deprecated and readOnly Rebilly/rebilly#18532 diff --git a/.changeset/lazy-coins-design.md b/.changeset/lazy-coins-design.md new file mode 100644 index 000000000..447113784 --- /dev/null +++ b/.changeset/lazy-coins-design.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Fix startTime field Rebilly/rebilly#19553 diff --git a/.changeset/light-olives-film.md b/.changeset/light-olives-film.md new file mode 100644 index 000000000..7ae785e9b --- /dev/null +++ b/.changeset/light-olives-film.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(docs,be): Add paymentMethod, transactionResult, transactionStatus to allocation response Rebilly/rebilly#19548 diff --git a/.changeset/many-bears-exist.md b/.changeset/many-bears-exist.md new file mode 100644 index 000000000..b6e8632f2 --- /dev/null +++ b/.changeset/many-bears-exist.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api,be): Add batchId to payout request allocation Rebilly/rebilly#18380 diff --git a/.changeset/many-bikes-warn.md b/.changeset/many-bikes-warn.md new file mode 100644 index 000000000..56221cdaa --- /dev/null +++ b/.changeset/many-bikes-warn.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(docs,be): Add radarSessionCustomField setting to Stripe adapter Rebilly/rebilly#19758 diff --git a/.changeset/modern-worms-lay.md b/.changeset/modern-worms-lay.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/modern-worms-lay.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/nasty-melons-fold.md b/.changeset/nasty-melons-fold.md new file mode 100644 index 000000000..5c7db01b2 --- /dev/null +++ b/.changeset/nasty-melons-fold.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(backend,recomm,api-definitions): Permanently block above and Temporary block above use the independent pool of attributes - remove backward compatibility Rebilly/rebilly#18099 diff --git a/.changeset/new-dancers-learn.md b/.changeset/new-dancers-learn.md new file mode 100644 index 000000000..376d2bf29 --- /dev/null +++ b/.changeset/new-dancers-learn.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, api-definitions): Add legacy property for creation quotes Rebilly/rebilly#18930 diff --git a/.changeset/ninety-colts-dress.md b/.changeset/ninety-colts-dress.md new file mode 100644 index 000000000..2deaf8c57 --- /dev/null +++ b/.changeset/ninety-colts-dress.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, api-definitions): Add AML report endpoint Rebilly/rebilly#18271 diff --git a/.changeset/old-lamps-raise.md b/.changeset/old-lamps-raise.md new file mode 100644 index 000000000..006314bb8 --- /dev/null +++ b/.changeset/old-lamps-raise.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +revert(api-definitions): Fix orders experimental API fields Rebilly/rebilly#18789 diff --git a/.changeset/olive-ducks-talk.md b/.changeset/olive-ducks-talk.md new file mode 100644 index 000000000..8ad19f6d6 --- /dev/null +++ b/.changeset/olive-ducks-talk.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(website): Fine-tune API descriptions review in Gemini Rebilly/rebilly#18723 diff --git a/.changeset/olive-peas-film.md b/.changeset/olive-peas-film.md new file mode 100644 index 000000000..8f341ba08 --- /dev/null +++ b/.changeset/olive-peas-film.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +build(deps): merge passing FE dependabot PRs Rebilly/rebilly#18118 diff --git a/.changeset/orange-zebras-carry.md b/.changeset/orange-zebras-carry.md new file mode 100644 index 000000000..0759dc886 --- /dev/null +++ b/.changeset/orange-zebras-carry.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(deps): merge passing FE dependabot PRs Rebilly/rebilly#18528 diff --git a/.changeset/plenty-buckets-retire.md b/.changeset/plenty-buckets-retire.md new file mode 100644 index 000000000..42b3aa002 --- /dev/null +++ b/.changeset/plenty-buckets-retire.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Implement AmlProvenance Rebilly/rebilly#17982 diff --git a/.changeset/plenty-lemons-return.md b/.changeset/plenty-lemons-return.md new file mode 100644 index 000000000..dd7fd2027 --- /dev/null +++ b/.changeset/plenty-lemons-return.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +build(deps): merge passing FE dependabot PRs Rebilly/rebilly#18191 diff --git a/.changeset/polite-cobras-prove.md b/.changeset/polite-cobras-prove.md new file mode 100644 index 000000000..beeb4ad29 --- /dev/null +++ b/.changeset/polite-cobras-prove.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-defs): Add payout request batch operations Rebilly/rebilly#17873 diff --git a/.changeset/popular-bears-fix.md b/.changeset/popular-bears-fix.md new file mode 100644 index 000000000..ba11a9264 --- /dev/null +++ b/.changeset/popular-bears-fix.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Fix orders experimental API fields Rebilly/rebilly#18883 diff --git a/.changeset/pretty-insects-hug.md b/.changeset/pretty-insects-hug.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/pretty-insects-hug.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/proud-cups-explode.md b/.changeset/proud-cups-explode.md new file mode 100644 index 000000000..91377c59e --- /dev/null +++ b/.changeset/proud-cups-explode.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add block reason fields to payout request related schema and body Rebilly/rebilly#18898 diff --git a/.changeset/proud-kings-vanish.md b/.changeset/proud-kings-vanish.md new file mode 100644 index 000000000..85aa08a9c --- /dev/null +++ b/.changeset/proud-kings-vanish.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(docs): Fix BankAccountCreatePlain discriminator Rebilly/rebilly#19271 diff --git a/.changeset/purple-fishes-laugh.md b/.changeset/purple-fishes-laugh.md new file mode 100644 index 000000000..9370e5c79 --- /dev/null +++ b/.changeset/purple-fishes-laugh.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(deps): bump @redocly/cli from 2.20.4 to 2.21.1 in /website/api-definitions Rebilly/rebilly#19619 diff --git a/.changeset/purple-jobs-remember.md b/.changeset/purple-jobs-remember.md new file mode 100644 index 000000000..58ca776bc --- /dev/null +++ b/.changeset/purple-jobs-remember.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add currency exchange rate to Storefront DCC response Rebilly/rebilly#19056 diff --git a/.changeset/purple-ravens-bake.md b/.changeset/purple-ravens-bake.md new file mode 100644 index 000000000..dfd279507 --- /dev/null +++ b/.changeset/purple-ravens-bake.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): Add payout request batches data table Rebilly/rebilly#18278 diff --git a/.changeset/quick-glasses-mix.md b/.changeset/quick-glasses-mix.md new file mode 100644 index 000000000..07150897a --- /dev/null +++ b/.changeset/quick-glasses-mix.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): Add payout request allocations data table Rebilly/rebilly#18273 diff --git a/.changeset/quiet-baboons-press.md b/.changeset/quiet-baboons-press.md new file mode 100644 index 000000000..edbd6d7b2 --- /dev/null +++ b/.changeset/quiet-baboons-press.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Include gatewayPayoutInstruction in payout request payment instruments data Rebilly/rebilly#18507 diff --git a/.changeset/rare-maps-cry.md b/.changeset/rare-maps-cry.md new file mode 100644 index 000000000..94e5fc99e --- /dev/null +++ b/.changeset/rare-maps-cry.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(backend): implements option to add additional emails to customers Rebilly/rebilly#18543 diff --git a/.changeset/rotten-roses-report.md b/.changeset/rotten-roses-report.md new file mode 100644 index 000000000..73e667b43 --- /dev/null +++ b/.changeset/rotten-roses-report.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(docs,be): Add optional step to verify if customer account exists before Skrill payout Rebilly/rebilly#19844 diff --git a/.changeset/selfish-dolls-punch.md b/.changeset/selfish-dolls-punch.md new file mode 100644 index 000000000..8bb569d4e --- /dev/null +++ b/.changeset/selfish-dolls-punch.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, api-definitions): Add startTime to creation quotes Rebilly/rebilly#18022 diff --git a/.changeset/selfish-forks-shave.md b/.changeset/selfish-forks-shave.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/selfish-forks-shave.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/shaggy-plums-travel.md b/.changeset/shaggy-plums-travel.md new file mode 100644 index 000000000..74f66e522 --- /dev/null +++ b/.changeset/shaggy-plums-travel.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Update Transaction transferId description and remove transferId from storefrontTransaction Rebilly/rebilly#19153 diff --git a/.changeset/shaggy-squids-sell.md b/.changeset/shaggy-squids-sell.md new file mode 100644 index 000000000..c1ce3aa49 --- /dev/null +++ b/.changeset/shaggy-squids-sell.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +docs(api-definitions): Remove Trigger from summaries Rebilly/rebilly#18212 diff --git a/.changeset/silent-moose-pretend.md b/.changeset/silent-moose-pretend.md new file mode 100644 index 000000000..5ed187b4e --- /dev/null +++ b/.changeset/silent-moose-pretend.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +build(deps): merge passing FE dependabot PRs Rebilly/rebilly#18806 diff --git a/.changeset/six-hotels-look.md b/.changeset/six-hotels-look.md new file mode 100644 index 000000000..dec823861 --- /dev/null +++ b/.changeset/six-hotels-look.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +refactor(be,api-definitions): Refactor remaining reports to Symfony validation Rebilly/rebilly#19252 diff --git a/.changeset/sixty-timers-sneeze.md b/.changeset/sixty-timers-sneeze.md new file mode 100644 index 000000000..f04fdfa0e --- /dev/null +++ b/.changeset/sixty-timers-sneeze.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, payment-gateways): Add payout password for VegaWallet Rebilly/rebilly#19833 diff --git a/.changeset/slimy-dryers-share.md b/.changeset/slimy-dryers-share.md new file mode 100644 index 000000000..232a4a851 --- /dev/null +++ b/.changeset/slimy-dryers-share.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definition, be, payment-gateways): Implement Viva gateway adapter Rebilly/rebilly#19329 diff --git a/.changeset/slimy-items-repair.md b/.changeset/slimy-items-repair.md new file mode 100644 index 000000000..86d14ad39 --- /dev/null +++ b/.changeset/slimy-items-repair.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add noMatchReason to AmlCheck Rebilly/rebilly#18727 diff --git a/.changeset/slow-pigs-sneeze.md b/.changeset/slow-pigs-sneeze.md new file mode 100644 index 000000000..65a5ac891 --- /dev/null +++ b/.changeset/slow-pigs-sneeze.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,recomm,api-definitions): remove redundant payoutRequestIds field from PayoutRequestBatch response Rebilly/rebilly#19393 diff --git a/.changeset/soft-spiders-deny.md b/.changeset/soft-spiders-deny.md new file mode 100644 index 000000000..e4adf17b1 --- /dev/null +++ b/.changeset/soft-spiders-deny.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add AML checks report path Rebilly/rebilly#18613 diff --git a/.changeset/sour-bats-approve.md b/.changeset/sour-bats-approve.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/sour-bats-approve.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/spotty-badgers-cover.md b/.changeset/spotty-badgers-cover.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/spotty-badgers-cover.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/stale-cycles-admire.md b/.changeset/stale-cycles-admire.md new file mode 100644 index 000000000..53d7f5260 --- /dev/null +++ b/.changeset/stale-cycles-admire.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(deps): bump @redocly/cli from 2.18.1 to 2.20.4 in /website/api-definitions Rebilly/rebilly#19406 diff --git a/.changeset/strange-seahorses-watch.md b/.changeset/strange-seahorses-watch.md new file mode 100644 index 000000000..117c4c3e7 --- /dev/null +++ b/.changeset/strange-seahorses-watch.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +docs: Add other missing KYC tile type Rebilly/rebilly#18368 diff --git a/.changeset/strong-penguins-draw.md b/.changeset/strong-penguins-draw.md new file mode 100644 index 000000000..7bbc357d3 --- /dev/null +++ b/.changeset/strong-penguins-draw.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +revert(backend): Permanently block above and Temporary block above use the independent pool of attributes - remove backward compatibility Rebilly/rebilly#17885 diff --git a/.changeset/strong-poets-count.md b/.changeset/strong-poets-count.md new file mode 100644 index 000000000..b929b8ef9 --- /dev/null +++ b/.changeset/strong-poets-count.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(backend,api-definitions): expose tax number updates to storefront Rebilly/rebilly#18625 diff --git a/.changeset/stupid-doors-tell.md b/.changeset/stupid-doors-tell.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/stupid-doors-tell.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/tall-nails-study.md b/.changeset/tall-nails-study.md new file mode 100644 index 000000000..3fbb825b1 --- /dev/null +++ b/.changeset/tall-nails-study.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, website): Restrict invoice address change Rebilly/rebilly#18836 diff --git a/.changeset/tame-files-smoke.md b/.changeset/tame-files-smoke.md new file mode 100644 index 000000000..a0d0c87ea --- /dev/null +++ b/.changeset/tame-files-smoke.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +chore(builds): Bump fast-xml-parser to resolve security issues Rebilly/rebilly#18581 diff --git a/.changeset/tender-bobcats-joke.md b/.changeset/tender-bobcats-joke.md new file mode 100644 index 000000000..06b55edff --- /dev/null +++ b/.changeset/tender-bobcats-joke.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api-definitions): Fix api defs plan id required Rebilly/rebilly#18580 diff --git a/.changeset/tender-comics-teach.md b/.changeset/tender-comics-teach.md new file mode 100644 index 000000000..81d74ee65 --- /dev/null +++ b/.changeset/tender-comics-teach.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): Implement Storefront endpoints for transactions DCC offer Rebilly/rebilly#18749 diff --git a/.changeset/thin-pianos-enjoy.md b/.changeset/thin-pianos-enjoy.md new file mode 100644 index 000000000..b28708529 --- /dev/null +++ b/.changeset/thin-pianos-enjoy.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(be, api-definitions): refactor kyc acceptance report to use 400 response Rebilly/rebilly#19445 diff --git a/.changeset/three-carpets-relate.md b/.changeset/three-carpets-relate.md new file mode 100644 index 000000000..34990f403 --- /dev/null +++ b/.changeset/three-carpets-relate.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(backend): KYC - detect photocopies Rebilly/rebilly#18256 diff --git a/.changeset/tidy-kids-camp.md b/.changeset/tidy-kids-camp.md new file mode 100644 index 000000000..7be572a02 --- /dev/null +++ b/.changeset/tidy-kids-camp.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): remove filter field from batch preview response Rebilly/rebilly#19422 diff --git a/.changeset/tidy-maps-report.md b/.changeset/tidy-maps-report.md new file mode 100644 index 000000000..abdbba75e --- /dev/null +++ b/.changeset/tidy-maps-report.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions, docs): Add split and merge operations to payout request resource Rebilly/rebilly#17834 diff --git a/.changeset/tiny-timers-shake.md b/.changeset/tiny-timers-shake.md new file mode 100644 index 000000000..e96d76eb2 --- /dev/null +++ b/.changeset/tiny-timers-shake.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add payout request allocation status declined and queued Rebilly/rebilly#19064 diff --git a/.changeset/tricky-games-exercise.md b/.changeset/tricky-games-exercise.md new file mode 100644 index 000000000..b21a8285d --- /dev/null +++ b/.changeset/tricky-games-exercise.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add blockReason field to PayoutRequestV2 schema Rebilly/rebilly#19061 diff --git a/.changeset/two-days-doubt.md b/.changeset/two-days-doubt.md new file mode 100644 index 000000000..0d56eb95b --- /dev/null +++ b/.changeset/two-days-doubt.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add new metrics for AML check histogram report Rebilly/rebilly#18012 diff --git a/.changeset/violet-cheetahs-taste.md b/.changeset/violet-cheetahs-taste.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/violet-cheetahs-taste.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/violet-years-cross.md b/.changeset/violet-years-cross.md new file mode 100644 index 000000000..53722b540 --- /dev/null +++ b/.changeset/violet-years-cross.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(backend): Permanently block above and Temporary block above use the independent pool of attributes - remove backward compatibility Rebilly/rebilly#17885 diff --git a/.changeset/warm-suns-tell.md b/.changeset/warm-suns-tell.md new file mode 100644 index 000000000..2b4db739e --- /dev/null +++ b/.changeset/warm-suns-tell.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be,api-definitions): Calculate payout request batch totals Rebilly/rebilly#19338 diff --git a/.changeset/wet-scissors-drive.md b/.changeset/wet-scissors-drive.md new file mode 100644 index 000000000..a29f9362d --- /dev/null +++ b/.changeset/wet-scissors-drive.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add productOptions to PatchOrderItem Rebilly/rebilly#18533 diff --git a/.changeset/wise-chefs-argue.md b/.changeset/wise-chefs-argue.md new file mode 100644 index 000000000..ea6bb6cd4 --- /dev/null +++ b/.changeset/wise-chefs-argue.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add Credit memo quotation status Rebilly/rebilly#17168 diff --git a/.changeset/witty-waves-wait.md b/.changeset/witty-waves-wait.md new file mode 100644 index 000000000..4d0998a5a --- /dev/null +++ b/.changeset/witty-waves-wait.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/witty-zebras-drop.md b/.changeset/witty-zebras-drop.md new file mode 100644 index 000000000..b53e79202 --- /dev/null +++ b/.changeset/witty-zebras-drop.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +build(deps): merge passing FE dependabot PRs Rebilly/rebilly#18610 diff --git a/.changeset/yellow-foxes-hope.md b/.changeset/yellow-foxes-hope.md new file mode 100644 index 000000000..9922ec92e --- /dev/null +++ b/.changeset/yellow-foxes-hope.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +docs: Add missing KYC tile type Rebilly/rebilly#18362 diff --git a/.changeset/young-cycles-enjoy.md b/.changeset/young-cycles-enjoy.md new file mode 100644 index 000000000..f91653c4d --- /dev/null +++ b/.changeset/young-cycles-enjoy.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be, payment-gateways): Add gateway account setting to Viva Rebilly/rebilly#19762 diff --git a/composer.json b/composer.json index 783902b31..42a864bcf 100644 --- a/composer.json +++ b/composer.json @@ -2,20 +2,7 @@ "name": "rebilly/client-php", "description": "Rebilly PHP Client", "type": "library", - "keywords": [ - "payment processing", - "api", - "transactions", - "subscriptions" - ], - "homepage": "http://rebilly.com/", "license": "MIT", - "authors": [ - { - "name": "Rebilly", - "homepage": "https://github.com/rebilly" - } - ], "minimum-stability": "stable", "require": { "php": "^8.0", @@ -52,6 +39,19 @@ "cs-changes": "composer cs -- \"$(composer diff-files HEAD)\"", "cs-fix-changes": "composer cs-fix -- \"$(composer diff-files HEAD)\"" }, + "keywords": [ + "payment processing", + "api", + "transactions", + "subscriptions" + ], + "homepage": "http://rebilly.com/", + "authors": [ + { + "name": "Rebilly", + "homepage": "https://github.com/rebilly" + } + ], "extra": { "branch-alias": { "dev-main": "3.x-dev", diff --git a/psalm.xml b/psalm.xml index f69515f45..654b71a81 100644 --- a/psalm.xml +++ b/psalm.xml @@ -24,6 +24,7 @@ + diff --git a/src/Api/AllowlistsApi.php b/src/Api/AllowlistsApi.php index 175c185a7..9c3f92311 100644 --- a/src/Api/AllowlistsApi.php +++ b/src/Api/AllowlistsApi.php @@ -55,7 +55,7 @@ public function getAllowlist( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Allowlist::from($data); + return Allowlist::from($data, ['headers' => $response->getHeaders()]); } /** @@ -82,10 +82,13 @@ public function getAllowlistCollection( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Allowlist => Allowlist::from($item), $data), + array_map(fn (array $item): Allowlist => Allowlist::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -122,6 +125,6 @@ public function storeAllowlist( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Allowlist::from($data); + return Allowlist::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/AmlChecksApi.php b/src/Api/AmlChecksApi.php index b70991b59..30de24b76 100644 --- a/src/Api/AmlChecksApi.php +++ b/src/Api/AmlChecksApi.php @@ -43,7 +43,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AmlCheck::from($data); + return AmlCheck::from($data, ['headers' => $response->getHeaders()]); } /** @@ -72,10 +72,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): AmlCheck => AmlCheck::from($item), $data), + array_map(fn (array $item): AmlCheck => AmlCheck::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -119,7 +122,7 @@ public function review( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AmlCheck::from($data); + return AmlCheck::from($data, ['headers' => $response->getHeaders()]); } public function startReview( @@ -137,7 +140,7 @@ public function startReview( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AmlCheck::from($data); + return AmlCheck::from($data, ['headers' => $response->getHeaders()]); } public function stopReview( @@ -155,6 +158,6 @@ public function stopReview( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AmlCheck::from($data); + return AmlCheck::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/AmlSettingsApi.php b/src/Api/AmlSettingsApi.php index 7ac2c2a6a..8233e8b81 100644 --- a/src/Api/AmlSettingsApi.php +++ b/src/Api/AmlSettingsApi.php @@ -35,7 +35,7 @@ public function getAmlSettings(): AmlSettings $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AmlSettings::from($data); + return AmlSettings::from($data, ['headers' => $response->getHeaders()]); } public function putAmlSettings( @@ -49,6 +49,6 @@ public function putAmlSettings( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AmlSettings::from($data); + return AmlSettings::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ApiKeysApi.php b/src/Api/ApiKeysApi.php index 502215c6a..a66872438 100644 --- a/src/Api/ApiKeysApi.php +++ b/src/Api/ApiKeysApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApiKey::from($data); + return ApiKey::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApiKey::from($data); + return ApiKey::from($data, ['headers' => $response->getHeaders()]); } /** @@ -96,10 +96,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ApiKey => ApiKey::from($item), $data), + array_map(fn (array $item): ApiKey => ApiKey::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -141,6 +144,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApiKey::from($data); + return ApiKey::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ApplicationInstancesApi.php b/src/Api/ApplicationInstancesApi.php index 538f93390..ca2dc20d1 100644 --- a/src/Api/ApplicationInstancesApi.php +++ b/src/Api/ApplicationInstancesApi.php @@ -54,7 +54,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApplicationInstance::from($data); + return ApplicationInstance::from($data, ['headers' => $response->getHeaders()]); } public function getConfiguration( @@ -72,7 +72,7 @@ public function getConfiguration( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApplicationInstanceConfiguration::from($data); + return ApplicationInstanceConfiguration::from($data, ['headers' => $response->getHeaders()]); } public function upsert( @@ -91,7 +91,7 @@ public function upsert( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApplicationInstance::from($data); + return ApplicationInstance::from($data, ['headers' => $response->getHeaders()]); } public function upsertConfiguration( @@ -110,6 +110,6 @@ public function upsertConfiguration( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApplicationInstanceConfiguration::from($data); + return ApplicationInstanceConfiguration::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ApplicationsApi.php b/src/Api/ApplicationsApi.php index 707268a6a..ea9986f20 100644 --- a/src/Api/ApplicationsApi.php +++ b/src/Api/ApplicationsApi.php @@ -40,7 +40,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Application::from($data); + return Application::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -58,7 +58,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return UserApplication::from($data); + return UserApplication::from($data, ['headers' => $response->getHeaders()]); } /** @@ -91,10 +91,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): UserApplication => UserApplication::from($item), $data), + array_map(fn (array $item): UserApplication => UserApplication::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -143,7 +146,7 @@ public function getInstance( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OwnerApplicationInstance::from($data); + return OwnerApplicationInstance::from($data, ['headers' => $response->getHeaders()]); } /** @@ -171,10 +174,13 @@ public function getInstances( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): OwnerApplicationInstance => OwnerApplicationInstance::from($item), $data), + array_map(fn (array $item): OwnerApplicationInstance => OwnerApplicationInstance::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/BalanceTransactionsApi.php b/src/Api/BalanceTransactionsApi.php index edeaaa442..783089a14 100644 --- a/src/Api/BalanceTransactionsApi.php +++ b/src/Api/BalanceTransactionsApi.php @@ -43,7 +43,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BalanceTransactionFactory::from($data); + return BalanceTransactionFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -70,10 +70,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): BalanceTransaction => BalanceTransactionFactory::from($item), $data), + array_map(fn (array $item): BalanceTransaction => BalanceTransactionFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/BillingPortalsApi.php b/src/Api/BillingPortalsApi.php index fc799c01d..5f430684f 100644 --- a/src/Api/BillingPortalsApi.php +++ b/src/Api/BillingPortalsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BillingPortal::from($data); + return BillingPortal::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BillingPortal::from($data); + return BillingPortal::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): BillingPortal => BillingPortal::from($item), $data), + array_map(fn (array $item): BillingPortal => BillingPortal::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BillingPortal::from($data); + return BillingPortal::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/BlocklistsApi.php b/src/Api/BlocklistsApi.php index 759887e12..4edcc29ff 100644 --- a/src/Api/BlocklistsApi.php +++ b/src/Api/BlocklistsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Blocklist::from($data); + return Blocklist::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Blocklist::from($data); + return Blocklist::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Blocklist => Blocklist::from($item), $data), + array_map(fn (array $item): Blocklist => Blocklist::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Blocklist::from($data); + return Blocklist::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/BroadcastMessagesApi.php b/src/Api/BroadcastMessagesApi.php index 3c8edcc95..a230fb7f2 100644 --- a/src/Api/BroadcastMessagesApi.php +++ b/src/Api/BroadcastMessagesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BroadcastMessage::from($data); + return BroadcastMessage::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BroadcastMessage::from($data); + return BroadcastMessage::from($data, ['headers' => $response->getHeaders()]); } /** @@ -96,10 +96,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): BroadcastMessage => BroadcastMessage::from($item), $data), + array_map(fn (array $item): BroadcastMessage => BroadcastMessage::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -141,6 +144,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return BroadcastMessage::from($data); + return BroadcastMessage::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/CashiersApi.php b/src/Api/CashiersApi.php index 9684b545d..60b60aa74 100644 --- a/src/Api/CashiersApi.php +++ b/src/Api/CashiersApi.php @@ -37,7 +37,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Cashier::from($data); + return Cashier::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -55,6 +55,6 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Cashier::from($data); + return Cashier::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/CheckoutFormsApi.php b/src/Api/CheckoutFormsApi.php index ab105cd9b..fbca6c454 100644 --- a/src/Api/CheckoutFormsApi.php +++ b/src/Api/CheckoutFormsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CheckoutForm::from($data); + return CheckoutForm::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CheckoutForm::from($data); + return CheckoutForm::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CheckoutForm => CheckoutForm::from($item), $data), + array_map(fn (array $item): CheckoutForm => CheckoutForm::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CheckoutForm::from($data); + return CheckoutForm::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/CouponsApi.php b/src/Api/CouponsApi.php index 67b9ef9aa..6a7b00a48 100644 --- a/src/Api/CouponsApi.php +++ b/src/Api/CouponsApi.php @@ -53,7 +53,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Coupon::from($data); + return Coupon::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -71,7 +71,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Coupon::from($data); + return Coupon::from($data, ['headers' => $response->getHeaders()]); } /** @@ -100,10 +100,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Coupon => Coupon::from($item), $data), + array_map(fn (array $item): Coupon => Coupon::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -157,10 +160,13 @@ public function getAllRedemptions( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CouponRedemption => CouponRedemption::from($item), $data), + array_map(fn (array $item): CouponRedemption => CouponRedemption::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -203,7 +209,7 @@ public function getRedemption( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CouponRedemption::from($data); + return CouponRedemption::from($data, ['headers' => $response->getHeaders()]); } public function redeem( @@ -217,7 +223,7 @@ public function redeem( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CouponRedemption::from($data); + return CouponRedemption::from($data, ['headers' => $response->getHeaders()]); } public function setExpiration( @@ -236,7 +242,7 @@ public function setExpiration( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Coupon::from($data); + return Coupon::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -255,6 +261,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Coupon::from($data); + return Coupon::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/CreditMemosApi.php b/src/Api/CreditMemosApi.php index 3d3b9bad5..c6d8b33ee 100644 --- a/src/Api/CreditMemosApi.php +++ b/src/Api/CreditMemosApi.php @@ -40,7 +40,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemo::from($data); + return CreditMemo::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -59,7 +59,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemoTimeline::from($data); + return CreditMemoTimeline::from($data, ['headers' => $response->getHeaders()]); } public function deleteTimelineMessage( @@ -92,7 +92,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemo::from($data); + return CreditMemo::from($data, ['headers' => $response->getHeaders()]); } /** @@ -123,10 +123,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CreditMemo => CreditMemo::from($item), $data), + array_map(fn (array $item): CreditMemo => CreditMemo::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -187,10 +190,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CreditMemoTimeline => CreditMemoTimeline::from($item), $data), + array_map(fn (array $item): CreditMemoTimeline => CreditMemoTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -237,7 +243,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemoTimeline::from($data); + return CreditMemoTimeline::from($data, ['headers' => $response->getHeaders()]); } public function patch( @@ -256,7 +262,7 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemo::from($data); + return CreditMemo::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -275,7 +281,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemo::from($data); + return CreditMemo::from($data, ['headers' => $response->getHeaders()]); } public function void( @@ -293,6 +299,6 @@ public function void( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CreditMemo::from($data); + return CreditMemo::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/CustomDomainsApi.php b/src/Api/CustomDomainsApi.php index 28d6ffdaa..da6234bc7 100644 --- a/src/Api/CustomDomainsApi.php +++ b/src/Api/CustomDomainsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomDomain::from($data); + return CustomDomain::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomDomain::from($data); + return CustomDomain::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CustomDomain => CustomDomain::from($item), $data), + array_map(fn (array $item): CustomDomain => CustomDomain::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/CustomFieldsApi.php b/src/Api/CustomFieldsApi.php index 7e2ced964..4cec14926 100644 --- a/src/Api/CustomFieldsApi.php +++ b/src/Api/CustomFieldsApi.php @@ -46,7 +46,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomFieldFactory::from($data); + return CustomFieldFactory::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -66,7 +66,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomFieldFactory::from($data); + return CustomFieldFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -94,10 +94,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CustomField => CustomFieldFactory::from($item), $data), + array_map(fn (array $item): CustomField => CustomFieldFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/CustomerAuthenticationApi.php b/src/Api/CustomerAuthenticationApi.php index b0d36d445..5b13ce11e 100644 --- a/src/Api/CustomerAuthenticationApi.php +++ b/src/Api/CustomerAuthenticationApi.php @@ -43,7 +43,7 @@ public function createCredential( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerCredential::from($data); + return CustomerCredential::from($data, ['headers' => $response->getHeaders()]); } public function createResetPasswordToken( @@ -57,7 +57,7 @@ public function createResetPasswordToken( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ResetPasswordToken::from($data); + return ResetPasswordToken::from($data, ['headers' => $response->getHeaders()]); } public function deleteCredential( @@ -102,7 +102,7 @@ public function exchangeToken( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerJWT::from($data); + return CustomerJWT::from($data, ['headers' => $response->getHeaders()]); } /** @@ -125,10 +125,13 @@ public function getAllAuthTokens( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): AuthenticationTokenResponse => AuthenticationTokenResponse::from($item), $data), + array_map(fn (array $item): AuthenticationTokenResponse => AuthenticationTokenResponse::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -170,10 +173,13 @@ public function getAllCredentials( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CustomerCredential => CustomerCredential::from($item), $data), + array_map(fn (array $item): CustomerCredential => CustomerCredential::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -215,10 +221,13 @@ public function getAllResetPasswordTokens( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ResetPasswordToken => ResetPasswordToken::from($item), $data), + array_map(fn (array $item): ResetPasswordToken => ResetPasswordToken::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -250,7 +259,7 @@ public function getAuthOptions(): AuthenticationOptions $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AuthenticationOptions::from($data); + return AuthenticationOptions::from($data, ['headers' => $response->getHeaders()]); } public function getCredential( @@ -268,7 +277,7 @@ public function getCredential( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerCredential::from($data); + return CustomerCredential::from($data, ['headers' => $response->getHeaders()]); } public function getResetPasswordToken( @@ -286,7 +295,7 @@ public function getResetPasswordToken( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ResetPasswordToken::from($data); + return ResetPasswordToken::from($data, ['headers' => $response->getHeaders()]); } public function login( @@ -300,7 +309,7 @@ public function login( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AuthenticationTokenResponse::from($data); + return AuthenticationTokenResponse::from($data, ['headers' => $response->getHeaders()]); } public function logout( @@ -327,7 +336,7 @@ public function updateAuthOptions( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AuthenticationOptions::from($data); + return AuthenticationOptions::from($data, ['headers' => $response->getHeaders()]); } public function updateCredential( @@ -346,7 +355,7 @@ public function updateCredential( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerCredential::from($data); + return CustomerCredential::from($data, ['headers' => $response->getHeaders()]); } public function verify( @@ -364,6 +373,6 @@ public function verify( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return AuthenticationTokenResponse::from($data); + return AuthenticationTokenResponse::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/CustomersApi.php b/src/Api/CustomersApi.php index 923593de9..0e7be575e 100644 --- a/src/Api/CustomersApi.php +++ b/src/Api/CustomersApi.php @@ -44,7 +44,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Customer::from($data); + return Customer::from($data, ['headers' => $response->getHeaders()]); } public function createLeadSource( @@ -63,7 +63,7 @@ public function createLeadSource( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return LeadSource::from($data); + return LeadSource::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -82,7 +82,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerTimeline::from($data); + return CustomerTimeline::from($data, ['headers' => $response->getHeaders()]); } public function deleteLeadSource( @@ -134,7 +134,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Customer::from($data); + return Customer::from($data, ['headers' => $response->getHeaders()]); } /** @@ -167,10 +167,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Customer => Customer::from($item), $data), + array_map(fn (array $item): Customer => Customer::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -227,10 +230,13 @@ public function getAllEddSearchResults( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): EddSearchResult => EddSearchResult::from($item), $data), + array_map(fn (array $item): EddSearchResult => EddSearchResult::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -285,10 +291,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CustomerTimeline => CustomerTimeline::from($item), $data), + array_map(fn (array $item): CustomerTimeline => CustomerTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -333,7 +342,7 @@ public function getCustomerEddScore( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Edd::from($data); + return Edd::from($data, ['headers' => $response->getHeaders()]); } public function getCustomerLifetimeSummaryMetrics( @@ -351,7 +360,7 @@ public function getCustomerLifetimeSummaryMetrics( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerInformation::from($data); + return CustomerInformation::from($data, ['headers' => $response->getHeaders()]); } public function getEddSearchResult( @@ -371,7 +380,7 @@ public function getEddSearchResult( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EddSearchResult::from($data); + return EddSearchResult::from($data, ['headers' => $response->getHeaders()]); } /** @@ -405,10 +414,13 @@ public function getEddTimelineCollection( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): EddTimeline => EddTimeline::from($item), $data), + array_map(fn (array $item): EddTimeline => EddTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -455,7 +467,7 @@ public function getEddTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EddTimeline::from($data); + return EddTimeline::from($data, ['headers' => $response->getHeaders()]); } public function getLeadSource( @@ -473,7 +485,7 @@ public function getLeadSource( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return LeadSource::from($data); + return LeadSource::from($data, ['headers' => $response->getHeaders()]); } public function getTimelineMessage( @@ -493,7 +505,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CustomerTimeline::from($data); + return CustomerTimeline::from($data, ['headers' => $response->getHeaders()]); } public function merge( @@ -529,6 +541,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Customer::from($data); + return Customer::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/DataExportsApi.php b/src/Api/DataExportsApi.php index 557068749..9828a658b 100644 --- a/src/Api/DataExportsApi.php +++ b/src/Api/DataExportsApi.php @@ -60,7 +60,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DataExportFactory::from($data); + return DataExportFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -93,10 +93,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): DataExport => DataExportFactory::from($item), $data), + array_map(fn (array $item): DataExport => DataExportFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -143,7 +146,7 @@ public function queue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DataExportFactory::from($data); + return DataExportFactory::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -166,6 +169,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DataExportFactory::from($data); + return DataExportFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/DepositCustomPropertySetsApi.php b/src/Api/DepositCustomPropertySetsApi.php index 71cf67100..49d0219a6 100644 --- a/src/Api/DepositCustomPropertySetsApi.php +++ b/src/Api/DepositCustomPropertySetsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositCustomPropertySet::from($data); + return DepositCustomPropertySet::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositCustomPropertySet::from($data); + return DepositCustomPropertySet::from($data, ['headers' => $response->getHeaders()]); } /** @@ -96,10 +96,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): DepositCustomPropertySet => DepositCustomPropertySet::from($item), $data), + array_map(fn (array $item): DepositCustomPropertySet => DepositCustomPropertySet::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -141,6 +144,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositCustomPropertySet::from($data); + return DepositCustomPropertySet::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/DepositRequestsApi.php b/src/Api/DepositRequestsApi.php index 32cc96271..3437eb51c 100644 --- a/src/Api/DepositRequestsApi.php +++ b/src/Api/DepositRequestsApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositRequest::from($data); + return DepositRequest::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -61,7 +61,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositRequest::from($data); + return DepositRequest::from($data, ['headers' => $response->getHeaders()]); } /** @@ -90,10 +90,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): DepositRequest => DepositRequest::from($item), $data), + array_map(fn (array $item): DepositRequest => DepositRequest::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/DepositStrategiesApi.php b/src/Api/DepositStrategiesApi.php index f485f00d8..76526005a 100644 --- a/src/Api/DepositStrategiesApi.php +++ b/src/Api/DepositStrategiesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositStrategy::from($data); + return DepositStrategy::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositStrategy::from($data); + return DepositStrategy::from($data, ['headers' => $response->getHeaders()]); } /** @@ -96,10 +96,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): DepositStrategy => DepositStrategy::from($item), $data), + array_map(fn (array $item): DepositStrategy => DepositStrategy::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -141,6 +144,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DepositStrategy::from($data); + return DepositStrategy::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/DigitalWalletsApi.php b/src/Api/DigitalWalletsApi.php index 80920afc3..20b35ebee 100644 --- a/src/Api/DigitalWalletsApi.php +++ b/src/Api/DigitalWalletsApi.php @@ -37,7 +37,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DigitalWalletOnboardingApplePay::from($data); + return DigitalWalletOnboardingApplePay::from($data, ['headers' => $response->getHeaders()]); } public function validate( @@ -51,6 +51,6 @@ public function validate( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DigitalWalletValidation::from($data); + return DigitalWalletValidation::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/DisputesApi.php b/src/Api/DisputesApi.php index 8e610e6f7..e1275711d 100644 --- a/src/Api/DisputesApi.php +++ b/src/Api/DisputesApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Dispute::from($data); + return Dispute::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -57,7 +57,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Dispute::from($data); + return Dispute::from($data, ['headers' => $response->getHeaders()]); } /** @@ -88,10 +88,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Dispute => Dispute::from($item), $data), + array_map(fn (array $item): Dispute => Dispute::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -137,6 +140,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Dispute::from($data); + return Dispute::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/EmailDeliverySettingsApi.php b/src/Api/EmailDeliverySettingsApi.php index b8b210f5b..0119676e0 100644 --- a/src/Api/EmailDeliverySettingsApi.php +++ b/src/Api/EmailDeliverySettingsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailDeliverySetting::from($data); + return EmailDeliverySetting::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailDeliverySetting::from($data); + return EmailDeliverySetting::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): EmailDeliverySetting => EmailDeliverySetting::from($item), $data), + array_map(fn (array $item): EmailDeliverySetting => EmailDeliverySetting::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -144,7 +147,7 @@ public function resendVerification( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailDeliverySetting::from($data); + return EmailDeliverySetting::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -163,7 +166,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailDeliverySetting::from($data); + return EmailDeliverySetting::from($data, ['headers' => $response->getHeaders()]); } public function verify( @@ -181,6 +184,6 @@ public function verify( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailDeliverySetting::from($data); + return EmailDeliverySetting::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/EmailMessagesApi.php b/src/Api/EmailMessagesApi.php index 6af984dd0..b54887850 100644 --- a/src/Api/EmailMessagesApi.php +++ b/src/Api/EmailMessagesApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailMessage::from($data); + return EmailMessage::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -70,7 +70,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailMessage::from($data); + return EmailMessage::from($data, ['headers' => $response->getHeaders()]); } /** @@ -99,10 +99,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): EmailMessage => EmailMessage::from($item), $data), + array_map(fn (array $item): EmailMessage => EmailMessage::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -146,6 +149,6 @@ public function send( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return EmailMessage::from($data); + return EmailMessage::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/EmailNotificationsApi.php b/src/Api/EmailNotificationsApi.php index 7b3cbe793..cef309060 100644 --- a/src/Api/EmailNotificationsApi.php +++ b/src/Api/EmailNotificationsApi.php @@ -47,10 +47,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): EmailNotification => EmailNotification::from($item), $data), + array_map(fn (array $item): EmailNotification => EmailNotification::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/EventsApi.php b/src/Api/EventsApi.php index 2098660cb..fe532f6d2 100644 --- a/src/Api/EventsApi.php +++ b/src/Api/EventsApi.php @@ -48,7 +48,7 @@ public function createDraftRuleset( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSetDraft::from($data); + return RuleSetDraft::from($data, ['headers' => $response->getHeaders()]); } public function createRules( @@ -67,7 +67,7 @@ public function createRules( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSet::from($data); + return RuleSet::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -86,7 +86,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RulesEngineTimeline::from($data); + return RulesEngineTimeline::from($data, ['headers' => $response->getHeaders()]); } public function deleteDraftRuleset( @@ -134,7 +134,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SystemEvent::from($data); + return SystemEvent::from($data, ['headers' => $response->getHeaders()]); } /** @@ -161,10 +161,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): SystemEvent => SystemEvent::from($item), $data), + array_map(fn (array $item): SystemEvent => SystemEvent::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -223,10 +226,13 @@ public function getAllDraftRulesets( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): RuleSetDraft => RuleSetDraft::from($item), $data), + array_map(fn (array $item): RuleSetDraft => RuleSetDraft::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -289,10 +295,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): RulesEngineTimeline => RulesEngineTimeline::from($item), $data), + array_map(fn (array $item): RulesEngineTimeline => RulesEngineTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -343,7 +352,7 @@ public function getDraftRuleset( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSetDraft::from($data); + return RuleSetDraft::from($data, ['headers' => $response->getHeaders()]); } public function getRules( @@ -361,7 +370,7 @@ public function getRules( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSet::from($data); + return RuleSet::from($data, ['headers' => $response->getHeaders()]); } /** @@ -397,10 +406,13 @@ public function getRulesHistory( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): RuleSetHistoryItem => RuleSetHistoryItem::from($item), $data), + array_map(fn (array $item): RuleSetHistoryItem => RuleSetHistoryItem::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -453,7 +465,7 @@ public function getRulesVersionDetail( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSetVersion::from($data); + return RuleSetVersion::from($data, ['headers' => $response->getHeaders()]); } public function getRulesVersionNumber( @@ -477,7 +489,7 @@ public function getRulesVersionNumber( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSetHistoryItem::from($data); + return RuleSetHistoryItem::from($data, ['headers' => $response->getHeaders()]); } public function getTimelineMessage( @@ -497,7 +509,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RulesEngineTimeline::from($data); + return RulesEngineTimeline::from($data, ['headers' => $response->getHeaders()]); } public function updateDraftRuleset( @@ -518,6 +530,6 @@ public function updateDraftRuleset( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RuleSetDraft::from($data); + return RuleSetDraft::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ExternalIdentifiersApi.php b/src/Api/ExternalIdentifiersApi.php index 971dccd56..fec2ab8b0 100644 --- a/src/Api/ExternalIdentifiersApi.php +++ b/src/Api/ExternalIdentifiersApi.php @@ -63,7 +63,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ExternalIdentifier::from($data); + return ExternalIdentifier::from($data, ['headers' => $response->getHeaders()]); } /** @@ -90,10 +90,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ExternalIdentifier => ExternalIdentifier::from($item), $data), + array_map(fn (array $item): ExternalIdentifier => ExternalIdentifier::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -156,6 +159,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ExternalIdentifier::from($data); + return ExternalIdentifier::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ExternalServicesSettingsApi.php b/src/Api/ExternalServicesSettingsApi.php index e346fb92f..72ca2310c 100644 --- a/src/Api/ExternalServicesSettingsApi.php +++ b/src/Api/ExternalServicesSettingsApi.php @@ -35,7 +35,7 @@ public function getExternalServiceSettings(): ExternalServiceSettings $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ExternalServiceSettings::from($data); + return ExternalServiceSettings::from($data, ['headers' => $response->getHeaders()]); } public function updateExternalServiceSettings( @@ -49,6 +49,6 @@ public function updateExternalServiceSettings( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ExternalServiceSettings::from($data); + return ExternalServiceSettings::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/FeesApi.php b/src/Api/FeesApi.php index cf8078a44..523faf375 100644 --- a/src/Api/FeesApi.php +++ b/src/Api/FeesApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Fee::from($data); + return Fee::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -70,7 +70,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Fee::from($data); + return Fee::from($data, ['headers' => $response->getHeaders()]); } /** @@ -97,10 +97,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Fee => Fee::from($item), $data), + array_map(fn (array $item): Fee => Fee::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -142,7 +145,7 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Fee::from($data); + return Fee::from($data, ['headers' => $response->getHeaders()]); } public function upsert( @@ -161,6 +164,6 @@ public function upsert( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Fee::from($data); + return Fee::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/FilesApi.php b/src/Api/FilesApi.php index df4ee41ed..b8ad95990 100644 --- a/src/Api/FilesApi.php +++ b/src/Api/FilesApi.php @@ -41,7 +41,7 @@ public function attach( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Attachment::from($data); + return Attachment::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -125,7 +125,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return File::from($data); + return File::from($data, ['headers' => $response->getHeaders()]); } /** @@ -156,10 +156,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): File => File::from($item), $data), + array_map(fn (array $item): File => File::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -219,10 +222,13 @@ public function getAllAttachments( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Attachment => Attachment::from($item), $data), + array_map(fn (array $item): Attachment => Attachment::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -269,7 +275,7 @@ public function getAttachment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Attachment::from($data); + return Attachment::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -288,7 +294,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return File::from($data); + return File::from($data, ['headers' => $response->getHeaders()]); } public function updateAttachment( @@ -307,7 +313,7 @@ public function updateAttachment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Attachment::from($data); + return Attachment::from($data, ['headers' => $response->getHeaders()]); } public function upload( @@ -321,6 +327,6 @@ public function upload( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return File::from($data); + return File::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/GatewayAccountsApi.php b/src/Api/GatewayAccountsApi.php index 1c58cf259..8bf189b2d 100644 --- a/src/Api/GatewayAccountsApi.php +++ b/src/Api/GatewayAccountsApi.php @@ -59,7 +59,7 @@ public function close( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -73,7 +73,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } public function createDowntimeSchedule( @@ -92,7 +92,7 @@ public function createDowntimeSchedule( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountDowntimeSchedule::from($data); + return GatewayAccountDowntimeSchedule::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -111,7 +111,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountTimeline::from($data); + return GatewayAccountTimeline::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -187,7 +187,7 @@ public function disable( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } public function enable( @@ -205,7 +205,7 @@ public function enable( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -223,7 +223,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } /** @@ -254,10 +254,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): GatewayAccount => GatewayAccount::from($item), $data), + array_map(fn (array $item): GatewayAccount => GatewayAccount::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -316,10 +319,13 @@ public function getAllDowntimeSchedules( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): GatewayAccountDowntimeSchedule => GatewayAccountDowntimeSchedule::from($item), $data), + array_map(fn (array $item): GatewayAccountDowntimeSchedule => GatewayAccountDowntimeSchedule::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -378,10 +384,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): GatewayAccountTimeline => GatewayAccountTimeline::from($item), $data), + array_map(fn (array $item): GatewayAccountTimeline => GatewayAccountTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -429,7 +438,7 @@ public function getAllVolumeLimits( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): GatewayAccountLimit => GatewayAccountLimit::from($item), $data); + return array_map(fn (array $item): GatewayAccountLimit => GatewayAccountLimit::from($item, ['headers' => $response->getHeaders()]), $data); } public function getDowntimeSchedule( @@ -449,7 +458,7 @@ public function getDowntimeSchedule( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountDowntimeSchedule::from($data); + return GatewayAccountDowntimeSchedule::from($data, ['headers' => $response->getHeaders()]); } public function getFinancialSettings( @@ -467,7 +476,7 @@ public function getFinancialSettings( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountFinancialSettings::from($data); + return GatewayAccountFinancialSettings::from($data, ['headers' => $response->getHeaders()]); } public function getTimelineMessage( @@ -487,7 +496,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountTimeline::from($data); + return GatewayAccountTimeline::from($data, ['headers' => $response->getHeaders()]); } public function getVolumeLimit( @@ -507,7 +516,7 @@ public function getVolumeLimit( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountLimit::from($data); + return GatewayAccountLimit::from($data, ['headers' => $response->getHeaders()]); } public function setFinancialSettings( @@ -526,7 +535,7 @@ public function setFinancialSettings( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountFinancialSettings::from($data); + return GatewayAccountFinancialSettings::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -545,7 +554,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } public function updateDowntimeSchedule( @@ -566,7 +575,7 @@ public function updateDowntimeSchedule( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountDowntimeSchedule::from($data); + return GatewayAccountDowntimeSchedule::from($data, ['headers' => $response->getHeaders()]); } public function updateVolumeLimit( @@ -587,7 +596,7 @@ public function updateVolumeLimit( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccountLimit::from($data); + return GatewayAccountLimit::from($data, ['headers' => $response->getHeaders()]); } public function upsert( @@ -606,6 +615,6 @@ public function upsert( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GatewayAccount::from($data); + return GatewayAccount::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/HistogramsApi.php b/src/Api/HistogramsApi.php index 47601f342..aeee90edf 100644 --- a/src/Api/HistogramsApi.php +++ b/src/Api/HistogramsApi.php @@ -50,7 +50,7 @@ public function getAmlCheckHistogramReport( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return HistogramData::from($data); + return HistogramData::from($data, ['headers' => $response->getHeaders()]); } public function getTransactionHistogramReport( @@ -75,6 +75,6 @@ public function getTransactionHistogramReport( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return HistogramData::from($data); + return HistogramData::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/IntegrationsApi.php b/src/Api/IntegrationsApi.php index a4f804055..58e1418b9 100644 --- a/src/Api/IntegrationsApi.php +++ b/src/Api/IntegrationsApi.php @@ -42,7 +42,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Integration::from($data); + return Integration::from($data, ['headers' => $response->getHeaders()]); } /** @@ -65,10 +65,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Integration => Integration::from($item), $data), + array_map(fn (array $item): Integration => Integration::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/InvoicesApi.php b/src/Api/InvoicesApi.php index 7dc8aec7e..d7e79f93d 100644 --- a/src/Api/InvoicesApi.php +++ b/src/Api/InvoicesApi.php @@ -49,7 +49,7 @@ public function abandon( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function applyTransaction( @@ -68,7 +68,7 @@ public function applyTransaction( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -82,7 +82,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function createInvoiceItem( @@ -101,7 +101,7 @@ public function createInvoiceItem( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return InvoiceItem::from($data); + return InvoiceItem::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -120,7 +120,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return InvoiceTimeline::from($data); + return InvoiceTimeline::from($data, ['headers' => $response->getHeaders()]); } public function deleteInvoiceItem( @@ -156,7 +156,7 @@ public function deleteTimelineMessage( public function get( string $id, ?string $expand = null, - ): Invoice { + ): StreamInterface { $pathParams = [ '{id}' => $id, ]; @@ -166,13 +166,10 @@ public function get( ]; $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/invoices/{id}?') . http_build_query($queryParams); - $request = new Request('GET', $uri, headers: [ - 'Accept' => 'application/json', - ]); - $response = $this->client->send($request); - $data = Utils::jsonDecode((string) $response->getBody(), true); + $request = new Request('GET', $uri); + $response = $this->client->send($request, ['allow_redirects' => ['refer' => true]]); - return Invoice::from($data); + return $response->getBody(); } public function getPdf( @@ -224,10 +221,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Invoice => Invoice::from($item), $data), + array_map(fn (array $item): Invoice => Invoice::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -284,10 +284,13 @@ public function getAllInvoiceItems( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): InvoiceItem => InvoiceItem::from($item), $data), + array_map(fn (array $item): InvoiceItem => InvoiceItem::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -344,10 +347,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): InvoiceTimeline => InvoiceTimeline::from($item), $data), + array_map(fn (array $item): InvoiceTimeline => InvoiceTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -402,10 +408,13 @@ public function getAllTransactionAllocations( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): InvoiceTransactionAllocation => InvoiceTransactionAllocation::from($item), $data), + array_map(fn (array $item): InvoiceTransactionAllocation => InvoiceTransactionAllocation::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -446,7 +455,7 @@ public function getInvoiceItem( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return InvoiceItem::from($data); + return InvoiceItem::from($data, ['headers' => $response->getHeaders()]); } public function getTimelineMessage( @@ -466,7 +475,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return InvoiceTimeline::from($data); + return InvoiceTimeline::from($data, ['headers' => $response->getHeaders()]); } public function issue( @@ -485,7 +494,7 @@ public function issue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function recalculate( @@ -503,7 +512,7 @@ public function recalculate( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function reissue( @@ -522,7 +531,7 @@ public function reissue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -541,7 +550,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function updateInvoiceItem( @@ -562,7 +571,7 @@ public function updateInvoiceItem( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return InvoiceItem::from($data); + return InvoiceItem::from($data, ['headers' => $response->getHeaders()]); } public function void( @@ -580,6 +589,6 @@ public function void( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/JournalAccountsApi.php b/src/Api/JournalAccountsApi.php index 46ad1da7b..d2de02ebe 100644 --- a/src/Api/JournalAccountsApi.php +++ b/src/Api/JournalAccountsApi.php @@ -38,7 +38,7 @@ public function createAccount( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalAccount::from($data); + return JournalAccount::from($data, ['headers' => $response->getHeaders()]); } public function getAccount( @@ -56,7 +56,7 @@ public function getAccount( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalAccount::from($data); + return JournalAccount::from($data, ['headers' => $response->getHeaders()]); } /** @@ -83,10 +83,13 @@ public function getAllAccounts( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): JournalAccount => JournalAccount::from($item), $data), + array_map(fn (array $item): JournalAccount => JournalAccount::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -128,6 +131,6 @@ public function updateAccount( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalAccount::from($data); + return JournalAccount::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/JournalEntriesApi.php b/src/Api/JournalEntriesApi.php index 4fa1c32ae..b0b6a8bda 100644 --- a/src/Api/JournalEntriesApi.php +++ b/src/Api/JournalEntriesApi.php @@ -38,7 +38,7 @@ public function createEntry( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalEntry::from($data); + return JournalEntry::from($data, ['headers' => $response->getHeaders()]); } /** @@ -65,10 +65,13 @@ public function getAllEntries( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): JournalEntry => JournalEntry::from($item), $data), + array_map(fn (array $item): JournalEntry => JournalEntry::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -109,7 +112,7 @@ public function getEntry( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalEntry::from($data); + return JournalEntry::from($data, ['headers' => $response->getHeaders()]); } public function updateEntry( @@ -128,6 +131,6 @@ public function updateEntry( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalEntry::from($data); + return JournalEntry::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/JournalRecordsApi.php b/src/Api/JournalRecordsApi.php index 06fe9adc8..25064ed84 100644 --- a/src/Api/JournalRecordsApi.php +++ b/src/Api/JournalRecordsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalRecord::from($data); + return JournalRecord::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalRecord::from($data); + return JournalRecord::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): JournalRecord => JournalRecord::from($item), $data), + array_map(fn (array $item): JournalRecord => JournalRecord::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalRecord::from($data); + return JournalRecord::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/KycDocumentsApi.php b/src/Api/KycDocumentsApi.php index 5aad6df4b..3ed432b30 100644 --- a/src/Api/KycDocumentsApi.php +++ b/src/Api/KycDocumentsApi.php @@ -45,7 +45,7 @@ public function accept( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -59,7 +59,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -77,7 +77,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -106,10 +106,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): KycDocument => KycDocumentFactory::from($item), $data), + array_map(fn (array $item): KycDocument => KycDocumentFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -167,7 +170,7 @@ public function reject( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function review( @@ -185,7 +188,7 @@ public function review( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function startReview( @@ -203,7 +206,7 @@ public function startReview( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function stopReview( @@ -221,7 +224,7 @@ public function stopReview( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -240,6 +243,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycDocumentFactory::from($data); + return KycDocumentFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/KycRequestsApi.php b/src/Api/KycRequestsApi.php index 2829722c8..31440eec5 100644 --- a/src/Api/KycRequestsApi.php +++ b/src/Api/KycRequestsApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycRequest::from($data); + return KycRequest::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -70,7 +70,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycRequest::from($data); + return KycRequest::from($data, ['headers' => $response->getHeaders()]); } /** @@ -99,10 +99,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): KycRequest => KycRequest::from($item), $data), + array_map(fn (array $item): KycRequest => KycRequest::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -146,6 +149,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycRequest::from($data); + return KycRequest::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/KycSettingsApi.php b/src/Api/KycSettingsApi.php index b5c52209b..4c92acd69 100644 --- a/src/Api/KycSettingsApi.php +++ b/src/Api/KycSettingsApi.php @@ -35,7 +35,7 @@ public function getKycSettings(): KycSettings $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycSettings::from($data); + return KycSettings::from($data, ['headers' => $response->getHeaders()]); } public function updateKycSettings( @@ -49,6 +49,6 @@ public function updateKycSettings( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return KycSettings::from($data); + return KycSettings::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ListsApi.php b/src/Api/ListsApi.php index 2af315295..8a552ac43 100644 --- a/src/Api/ListsApi.php +++ b/src/Api/ListsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ValueList::from($data); + return ValueList::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -82,10 +82,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ValueList => ValueList::from($item), $data), + array_map(fn (array $item): ValueList => ValueList::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -132,7 +135,7 @@ public function getByVersion( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ValueList::from($data); + return ValueList::from($data, ['headers' => $response->getHeaders()]); } public function getLatestVersion( @@ -150,7 +153,7 @@ public function getLatestVersion( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ValueList::from($data); + return ValueList::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -169,6 +172,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ValueList::from($data); + return ValueList::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/MembershipsApi.php b/src/Api/MembershipsApi.php index 750125578..d9a4c6ffe 100644 --- a/src/Api/MembershipsApi.php +++ b/src/Api/MembershipsApi.php @@ -59,7 +59,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Membership::from($data); + return Membership::from($data, ['headers' => $response->getHeaders()]); } /** @@ -86,10 +86,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Membership => Membership::from($item), $data), + array_map(fn (array $item): Membership => Membership::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -133,6 +136,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Membership::from($data); + return Membership::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/OrderCancellationsApi.php b/src/Api/OrderCancellationsApi.php index 62578d0d3..19619d4f8 100644 --- a/src/Api/OrderCancellationsApi.php +++ b/src/Api/OrderCancellationsApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderCancellation::from($data); + return OrderCancellation::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -70,7 +70,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderCancellation::from($data); + return OrderCancellation::from($data, ['headers' => $response->getHeaders()]); } /** @@ -97,10 +97,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): OrderCancellation => OrderCancellation::from($item), $data), + array_map(fn (array $item): OrderCancellation => OrderCancellation::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -142,7 +145,7 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderCancellation::from($data); + return OrderCancellation::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -161,6 +164,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderCancellation::from($data); + return OrderCancellation::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/OrderPausesApi.php b/src/Api/OrderPausesApi.php index 378e7ec51..f264d7f87 100644 --- a/src/Api/OrderPausesApi.php +++ b/src/Api/OrderPausesApi.php @@ -55,7 +55,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderPause::from($data); + return OrderPause::from($data, ['headers' => $response->getHeaders()]); } /** @@ -82,10 +82,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): OrderPause => OrderPause::from($item), $data), + array_map(fn (array $item): OrderPause => OrderPause::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -122,7 +125,7 @@ public function pause( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderPause::from($data); + return OrderPause::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -141,6 +144,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderPause::from($data); + return OrderPause::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/OrderReactivationsApi.php b/src/Api/OrderReactivationsApi.php index 2d97a9727..46440e108 100644 --- a/src/Api/OrderReactivationsApi.php +++ b/src/Api/OrderReactivationsApi.php @@ -42,7 +42,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderReactivation::from($data); + return OrderReactivation::from($data, ['headers' => $response->getHeaders()]); } /** @@ -69,10 +69,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): OrderReactivation => OrderReactivation::from($item), $data), + array_map(fn (array $item): OrderReactivation => OrderReactivation::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -109,6 +112,6 @@ public function reactivate( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderReactivation::from($data); + return OrderReactivation::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/OrdersApi.php b/src/Api/OrdersApi.php index 0cf131c56..2472df9bd 100644 --- a/src/Api/OrdersApi.php +++ b/src/Api/OrdersApi.php @@ -26,6 +26,7 @@ use Rebilly\Sdk\Model\OrderItemUpdate; use Rebilly\Sdk\Model\OrderUpcomingInvoice; use Rebilly\Sdk\Model\SubscriptionInvoice; +use Rebilly\Sdk\Model\SubscriptionOrOneTimeSaleItem; use Rebilly\Sdk\Model\UpcomingInvoice; use Rebilly\Sdk\Paginator; @@ -55,7 +56,7 @@ public function changeItems( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderFactory::from($data); + return OrderFactory::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -73,7 +74,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderFactory::from($data); + return OrderFactory::from($data, ['headers' => $response->getHeaders()]); } public function createInterimInvoice( @@ -92,7 +93,7 @@ public function createInterimInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -114,7 +115,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderFactory::from($data); + return OrderFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -143,10 +144,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Order => OrderFactory::from($item), $data), + array_map(fn (array $item): Order => OrderFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -193,7 +197,7 @@ public function getUpcomingInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderUpcomingInvoice::from($data); + return OrderUpcomingInvoice::from($data, ['headers' => $response->getHeaders()]); } public function issueEarlyUpcomingInvoice( @@ -212,7 +216,7 @@ public function issueEarlyUpcomingInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return UpcomingInvoice::from($data); + return UpcomingInvoice::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -235,14 +239,14 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderFactory::from($data); + return OrderFactory::from($data, ['headers' => $response->getHeaders()]); } public function updateItem( string $id, string $itemId, OrderItemUpdate $orderItemUpdate, - ): Order { + ): SubscriptionOrOneTimeSaleItem { $pathParams = [ '{id}' => $id, '{itemId}' => $itemId, @@ -256,7 +260,7 @@ public function updateItem( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderFactory::from($data); + return SubscriptionOrOneTimeSaleItem::from($data, ['headers' => $response->getHeaders()]); } public function void( @@ -274,6 +278,6 @@ public function void( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderFactory::from($data); + return OrderFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/OrganizationExportsApi.php b/src/Api/OrganizationExportsApi.php index b08022c47..4ec51995f 100644 --- a/src/Api/OrganizationExportsApi.php +++ b/src/Api/OrganizationExportsApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrganizationExport::from($data); + return OrganizationExport::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -57,7 +57,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrganizationExport::from($data); + return OrganizationExport::from($data, ['headers' => $response->getHeaders()]); } /** @@ -86,10 +86,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): OrganizationExport => OrganizationExport::from($item), $data), + array_map(fn (array $item): OrganizationExport => OrganizationExport::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/OrganizationsApi.php b/src/Api/OrganizationsApi.php index 4b0242431..fe073e5c4 100644 --- a/src/Api/OrganizationsApi.php +++ b/src/Api/OrganizationsApi.php @@ -40,7 +40,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Organization::from($data); + return Organization::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -58,7 +58,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Organization::from($data); + return Organization::from($data, ['headers' => $response->getHeaders()]); } /** @@ -87,10 +87,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Organization => Organization::from($item), $data), + array_map(fn (array $item): Organization => Organization::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -134,6 +137,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Organization::from($data); + return Organization::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PaymentCardsBankNamesApi.php b/src/Api/PaymentCardsBankNamesApi.php index d5e3b0ab4..6ba468926 100644 --- a/src/Api/PaymentCardsBankNamesApi.php +++ b/src/Api/PaymentCardsBankNamesApi.php @@ -44,6 +44,6 @@ public function getAll( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): GetPaymentCardBankNameCollectionResponse => GetPaymentCardBankNameCollectionResponse::from($item), $data); + return array_map(fn (array $item): GetPaymentCardBankNameCollectionResponse => GetPaymentCardBankNameCollectionResponse::from($item, ['headers' => $response->getHeaders()]), $data); } } diff --git a/src/Api/PaymentInstrumentsApi.php b/src/Api/PaymentInstrumentsApi.php index b588097cb..8dcafda15 100644 --- a/src/Api/PaymentInstrumentsApi.php +++ b/src/Api/PaymentInstrumentsApi.php @@ -42,7 +42,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PaymentInstrumentFactory::from($data); + return PaymentInstrumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function deactivate( @@ -60,7 +60,7 @@ public function deactivate( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PaymentInstrumentFactory::from($data); + return PaymentInstrumentFactory::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -78,7 +78,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PaymentInstrumentFactory::from($data); + return PaymentInstrumentFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -109,10 +109,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): PaymentInstrument => PaymentInstrumentFactory::from($item), $data), + array_map(fn (array $item): PaymentInstrument => PaymentInstrumentFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -158,7 +161,7 @@ public function nameInquiry( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PaymentInstrumentNameInquiry::from($data); + return PaymentInstrumentNameInquiry::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -177,6 +180,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PaymentInstrumentFactory::from($data); + return PaymentInstrumentFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PaymentMethodsApi.php b/src/Api/PaymentMethodsApi.php index f903b4024..4ef5ba3fb 100644 --- a/src/Api/PaymentMethodsApi.php +++ b/src/Api/PaymentMethodsApi.php @@ -42,7 +42,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PaymentMethodMetadata::from($data); + return PaymentMethodMetadata::from($data, ['headers' => $response->getHeaders()]); } /** @@ -65,10 +65,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): PaymentMethodMetadata => PaymentMethodMetadata::from($item), $data), + array_map(fn (array $item): PaymentMethodMetadata => PaymentMethodMetadata::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/PaymentTokensApi.php b/src/Api/PaymentTokensApi.php index ece6d6fa4..e11fbea15 100644 --- a/src/Api/PaymentTokensApi.php +++ b/src/Api/PaymentTokensApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CompositeTokenFactory::from($data); + return CompositeTokenFactory::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -57,7 +57,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CompositeTokenFactory::from($data); + return CompositeTokenFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -80,10 +80,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): CompositeToken => CompositeTokenFactory::from($item), $data), + array_map(fn (array $item): CompositeToken => CompositeTokenFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/PayoutRequestAllocationsApi.php b/src/Api/PayoutRequestAllocationsApi.php index 73e75833e..0fe53b3bf 100644 --- a/src/Api/PayoutRequestAllocationsApi.php +++ b/src/Api/PayoutRequestAllocationsApi.php @@ -17,10 +17,13 @@ use GuzzleHttp\ClientInterface; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Utils; +use Rebilly\Sdk\Collection; use Rebilly\Sdk\Model\PatchPayoutRequestAllocationRequest; use Rebilly\Sdk\Model\PayoutRequestAllocation; use Rebilly\Sdk\Model\PostPayoutRequestAllocationRequest; +use Rebilly\Sdk\Model\PostPayoutRequestAllocationsProcessRequest; use Rebilly\Sdk\Model\PostPayoutRequestAutoAllocationRequest; +use Rebilly\Sdk\Paginator; class PayoutRequestAllocationsApi { @@ -48,7 +51,90 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequestAllocation::from($data); + return PayoutRequestAllocation::from($data, ['headers' => $response->getHeaders()]); + } + + public function get( + string $id, + ): PayoutRequestAllocation { + $pathParams = [ + '{id}' => $id, + ]; + + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/payout-request-allocations/{id}'); + + $request = new Request('GET', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return PayoutRequestAllocation::from($data, ['headers' => $response->getHeaders()]); + } + + /** + * @return Collection + */ + public function getAll( + ?int $limit = null, + ?int $offset = null, + ?string $filter = null, + ?array $sort = null, + ): Collection { + $queryParams = [ + 'limit' => $limit, + 'offset' => $offset, + 'filter' => $filter, + 'sort' => $sort ? implode(',', $sort) : null, + ]; + $uri = '/payout-request-allocations?' . http_build_query($queryParams); + + $request = new Request('GET', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return new Collection( + array_map(fn (array $item): PayoutRequestAllocation => PayoutRequestAllocation::from($item, ['headers' => $response->getHeaders()]), $data), + (int) $response->getHeaderLine(Collection::HEADER_LIMIT), + (int) $response->getHeaderLine(Collection::HEADER_OFFSET), + (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] + ); + } + + /** + * @return Paginator + */ + public function getAllPaginator( + ?int $limit = null, + ?int $offset = null, + ?string $filter = null, + ?array $sort = null, + ): Paginator { + $closure = fn (?int $limit, ?int $offset): Collection => $this->getAll( + limit: $limit, + offset: $offset, + filter: $filter, + sort: $sort, + ); + + return new Paginator( + $limit !== null || $offset !== null ? $closure(limit: $limit, offset: $offset) : null, + $closure, + ); + } + + public function process( + PostPayoutRequestAllocationsProcessRequest $postPayoutRequestAllocationsProcessRequest, + ): void { + $uri = '/payout-request-allocations/process'; + + $request = new Request('POST', $uri, body: Utils::jsonEncode($postPayoutRequestAllocationsProcessRequest)); + $this->client->send($request); } public function update( @@ -67,6 +153,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequestAllocation::from($data); + return PayoutRequestAllocation::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PayoutRequestBatchesApi.php b/src/Api/PayoutRequestBatchesApi.php new file mode 100644 index 000000000..51d59e519 --- /dev/null +++ b/src/Api/PayoutRequestBatchesApi.php @@ -0,0 +1,192 @@ + $id, + ]; + + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/payout-request-batches/{id}/approve'); + + $request = new Request('POST', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return PayoutRequestBatch::from($data, ['headers' => $response->getHeaders()]); + } + + public function autoAllocate( + string $id, + ): PayoutRequestBatch { + $pathParams = [ + '{id}' => $id, + ]; + + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/payout-request-batches/{id}/auto-allocate'); + + $request = new Request('POST', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return PayoutRequestBatch::from($data, ['headers' => $response->getHeaders()]); + } + + public function block( + string $id, + PostPayoutRequestBatchBlockRequest $postPayoutRequestBatchBlockRequest, + ): PayoutRequestBatch { + $pathParams = [ + '{id}' => $id, + ]; + + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/payout-request-batches/{id}/block'); + + $request = new Request('POST', $uri, headers: [ + 'Accept' => 'application/json', + ], body: Utils::jsonEncode($postPayoutRequestBatchBlockRequest)); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return PayoutRequestBatch::from($data, ['headers' => $response->getHeaders()]); + } + + public function create( + PostPayoutRequestBatchRequest $postPayoutRequestBatchRequest, + ): PayoutRequestBatch { + $uri = '/payout-request-batches'; + + $request = new Request('POST', $uri, headers: [ + 'Accept' => 'application/json', + ], body: Utils::jsonEncode($postPayoutRequestBatchRequest)); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return PayoutRequestBatch::from($data, ['headers' => $response->getHeaders()]); + } + + public function get( + string $id, + ): PayoutRequestBatch { + $pathParams = [ + '{id}' => $id, + ]; + + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/payout-request-batches/{id}'); + + $request = new Request('GET', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return PayoutRequestBatch::from($data, ['headers' => $response->getHeaders()]); + } + + /** + * @return Collection + */ + public function getAll( + ?int $limit = null, + ?int $offset = null, + ?string $filter = null, + ?array $sort = null, + ): Collection { + $queryParams = [ + 'limit' => $limit, + 'offset' => $offset, + 'filter' => $filter, + 'sort' => $sort ? implode(',', $sort) : null, + ]; + $uri = '/payout-request-batches?' . http_build_query($queryParams); + + $request = new Request('GET', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return new Collection( + array_map(fn (array $item): PayoutRequestBatch => PayoutRequestBatch::from($item, ['headers' => $response->getHeaders()]), $data), + (int) $response->getHeaderLine(Collection::HEADER_LIMIT), + (int) $response->getHeaderLine(Collection::HEADER_OFFSET), + (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] + ); + } + + /** + * @return Paginator + */ + public function getAllPaginator( + ?int $limit = null, + ?int $offset = null, + ?string $filter = null, + ?array $sort = null, + ): Paginator { + $closure = fn (?int $limit, ?int $offset): Collection => $this->getAll( + limit: $limit, + offset: $offset, + filter: $filter, + sort: $sort, + ); + + return new Paginator( + $limit !== null || $offset !== null ? $closure(limit: $limit, offset: $offset) : null, + $closure, + ); + } + + public function preview( + ?string $filter = null, + ): GetPayoutRequestBatchPreviewResponse { + $queryParams = [ + 'filter' => $filter, + ]; + $uri = '/payout-request-batches/preview?' . http_build_query($queryParams); + + $request = new Request('GET', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return GetPayoutRequestBatchPreviewResponse::from($data, ['headers' => $response->getHeaders()]); + } +} diff --git a/src/Api/PayoutRequestsApi.php b/src/Api/PayoutRequestsApi.php index 422bed6cc..e13987859 100644 --- a/src/Api/PayoutRequestsApi.php +++ b/src/Api/PayoutRequestsApi.php @@ -22,7 +22,9 @@ use Rebilly\Sdk\Model\PatchPayoutRequestRequest; use Rebilly\Sdk\Model\PayoutRequest; use Rebilly\Sdk\Model\PayoutRequestCancellation; +use Rebilly\Sdk\Model\PayoutRequestSplit; use Rebilly\Sdk\Model\PayoutRequestTimelineMessage; +use Rebilly\Sdk\Model\PayoutRequestV2; use Rebilly\Sdk\Paginator; class PayoutRequestsApi @@ -47,7 +49,7 @@ public function cancel( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequest::from($data); + return PayoutRequest::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -61,7 +63,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequest::from($data); + return PayoutRequest::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -80,7 +82,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequestTimelineMessage::from($data); + return PayoutRequestTimelineMessage::from($data, ['headers' => $response->getHeaders()]); } public function deleteTimelineMessage( @@ -113,7 +115,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequest::from($data); + return PayoutRequest::from($data, ['headers' => $response->getHeaders()]); } /** @@ -140,10 +142,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): PayoutRequest => PayoutRequest::from($item), $data), + array_map(fn (array $item): PayoutRequest => PayoutRequest::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -200,10 +205,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): PayoutRequestTimelineMessage => PayoutRequestTimelineMessage::from($item), $data), + array_map(fn (array $item): PayoutRequestTimelineMessage => PayoutRequestTimelineMessage::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -251,7 +259,7 @@ public function getPaymentInstruments( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): GetPayoutRequestPaymentInstrumentsResponse => GetPayoutRequestPaymentInstrumentsResponse::from($item), $data); + return array_map(fn (array $item): GetPayoutRequestPaymentInstrumentsResponse => GetPayoutRequestPaymentInstrumentsResponse::from($item, ['headers' => $response->getHeaders()]), $data); } public function getTimelineMessage( @@ -271,7 +279,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequestTimelineMessage::from($data); + return PayoutRequestTimelineMessage::from($data, ['headers' => $response->getHeaders()]); } public function patch( @@ -290,7 +298,29 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequest::from($data); + return PayoutRequest::from($data, ['headers' => $response->getHeaders()]); + } + + /** + * @return PayoutRequestV2[] + */ + public function split( + string $id, + PayoutRequestSplit $payoutRequestSplit, + ): array { + $pathParams = [ + '{id}' => $id, + ]; + + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/payout-requests/{id}/split'); + + $request = new Request('POST', $uri, headers: [ + 'Accept' => 'application/json', + ], body: Utils::jsonEncode($payoutRequestSplit)); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return array_map(fn (array $item): PayoutRequestV2 => PayoutRequestV2::from($item, ['headers' => $response->getHeaders()]), $data); } public function update( @@ -309,6 +339,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequest::from($data); + return PayoutRequest::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PayoutRequestsV2Api.php b/src/Api/PayoutRequestsV2Api.php index ce905dd52..6f70e0436 100644 --- a/src/Api/PayoutRequestsV2Api.php +++ b/src/Api/PayoutRequestsV2Api.php @@ -44,7 +44,7 @@ public function getPaymentInstrumentsV2( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): GetPayoutRequestV2PaymentInstrumentsResponse => GetPayoutRequestV2PaymentInstrumentsResponse::from($item), $data); + return array_map(fn (array $item): GetPayoutRequestV2PaymentInstrumentsResponse => GetPayoutRequestV2PaymentInstrumentsResponse::from($item, ['headers' => $response->getHeaders()]), $data); } public function getV2( @@ -62,6 +62,6 @@ public function getV2( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PayoutRequestV2::from($data); + return PayoutRequestV2::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PayoutsApi.php b/src/Api/PayoutsApi.php index a901aa7b9..087a45047 100644 --- a/src/Api/PayoutsApi.php +++ b/src/Api/PayoutsApi.php @@ -37,6 +37,6 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Transaction::from($data); + return Transaction::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PlansApi.php b/src/Api/PlansApi.php index 8f16b0cd4..7bf80cfc5 100644 --- a/src/Api/PlansApi.php +++ b/src/Api/PlansApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PlanFactory::from($data); + return PlanFactory::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -70,7 +70,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PlanFactory::from($data); + return PlanFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -99,10 +99,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Plan => PlanFactory::from($item), $data), + array_map(fn (array $item): Plan => PlanFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -146,6 +149,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return PlanFactory::from($data); + return PlanFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PreviewsApi.php b/src/Api/PreviewsApi.php index e36e69dd5..039573895 100644 --- a/src/Api/PreviewsApi.php +++ b/src/Api/PreviewsApi.php @@ -38,7 +38,7 @@ public function order( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderPreview::from($data); + return OrderPreview::from($data, ['headers' => $response->getHeaders()]); } public function sendEmailRuleAction( @@ -52,7 +52,7 @@ public function sendEmailRuleAction( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RulesEmailNotification::from($data); + return RulesEmailNotification::from($data, ['headers' => $response->getHeaders()]); } public function webhook( diff --git a/src/Api/ProductsApi.php b/src/Api/ProductsApi.php index ea3a70124..2752f2a36 100644 --- a/src/Api/ProductsApi.php +++ b/src/Api/ProductsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Product::from($data); + return Product::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Product::from($data); + return Product::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Product => Product::from($item), $data), + array_map(fn (array $item): Product => Product::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Product::from($data); + return Product::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ProfileApi.php b/src/Api/ProfileApi.php index 6e74faa6d..00689a09e 100644 --- a/src/Api/ProfileApi.php +++ b/src/Api/ProfileApi.php @@ -46,7 +46,7 @@ public function get(): Profile $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Profile::from($data); + return Profile::from($data, ['headers' => $response->getHeaders()]); } public function getMfa(): ProfileMfa @@ -59,7 +59,7 @@ public function getMfa(): ProfileMfa $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ProfileMfa::from($data); + return ProfileMfa::from($data, ['headers' => $response->getHeaders()]); } public function startPermissionsEmulation( @@ -73,7 +73,7 @@ public function startPermissionsEmulation( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Session::from($data); + return Session::from($data, ['headers' => $response->getHeaders()]); } public function stopPermissionsEmulation(): Session @@ -86,7 +86,7 @@ public function stopPermissionsEmulation(): Session $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Session::from($data); + return Session::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -100,7 +100,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Profile::from($data); + return Profile::from($data, ['headers' => $response->getHeaders()]); } public function updateMfa(): ProfileMfa @@ -113,6 +113,6 @@ public function updateMfa(): ProfileMfa $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ProfileMfa::from($data); + return ProfileMfa::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/PurchaseApi.php b/src/Api/PurchaseApi.php index 4da3ee055..04adcc53b 100644 --- a/src/Api/PurchaseApi.php +++ b/src/Api/PurchaseApi.php @@ -41,6 +41,6 @@ public function readyToPay( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): ReadyToPayMethods => ReadyToPayMethodsFactory::from($item), $data); + return array_map(fn (array $item): ReadyToPayMethods => ReadyToPayMethodsFactory::from($item, ['headers' => $response->getHeaders()]), $data); } } diff --git a/src/Api/QuotesApi.php b/src/Api/QuotesApi.php index 6cb368635..28992abe3 100644 --- a/src/Api/QuotesApi.php +++ b/src/Api/QuotesApi.php @@ -46,7 +46,7 @@ public function accept( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function cancel( @@ -64,7 +64,7 @@ public function cancel( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -78,7 +78,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -97,7 +97,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteTimeline::from($data); + return QuoteTimeline::from($data, ['headers' => $response->getHeaders()]); } public function deleteTimelineMessage( @@ -118,7 +118,7 @@ public function deleteTimelineMessage( public function get( string $id, ?string $expand = null, - ): Quote { + ): StreamInterface { $pathParams = [ '{id}' => $id, ]; @@ -128,13 +128,10 @@ public function get( ]; $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/quotes/{id}?') . http_build_query($queryParams); - $request = new Request('GET', $uri, headers: [ - 'Accept' => 'application/json', - ]); - $response = $this->client->send($request); - $data = Utils::jsonDecode((string) $response->getBody(), true); + $request = new Request('GET', $uri); + $response = $this->client->send($request, ['allow_redirects' => ['refer' => true]]); - return QuoteFactory::from($data); + return $response->getBody(); } public function getPdf( @@ -184,10 +181,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Quote => QuoteFactory::from($item), $data), + array_map(fn (array $item): Quote => QuoteFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -246,10 +246,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): QuoteTimeline => QuoteTimeline::from($item), $data), + array_map(fn (array $item): QuoteTimeline => QuoteTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -296,7 +299,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteTimeline::from($data); + return QuoteTimeline::from($data, ['headers' => $response->getHeaders()]); } public function issue( @@ -314,7 +317,7 @@ public function issue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function patch( @@ -333,7 +336,7 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function recall( @@ -351,7 +354,7 @@ public function recall( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function reject( @@ -369,7 +372,7 @@ public function reject( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -388,6 +391,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return QuoteFactory::from($data); + return QuoteFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ReportsApi.php b/src/Api/ReportsApi.php index e7cfab1b3..e2070f453 100644 --- a/src/Api/ReportsApi.php +++ b/src/Api/ReportsApi.php @@ -26,6 +26,7 @@ use Rebilly\Sdk\Model\GetKycAcceptanceSummaryReportResponse; use Rebilly\Sdk\Model\JournalSummaryReport; use Rebilly\Sdk\Model\RenewalSales; +use Rebilly\Sdk\Model\ReportAmlChecks; use Rebilly\Sdk\Model\ReportAnnualRecurringRevenue; use Rebilly\Sdk\Model\ReportDeclinedTransactions; use Rebilly\Sdk\Model\ReportDeferredRevenue; @@ -52,6 +53,31 @@ public function __construct(protected ?ClientInterface $client) { } + public function getAmlChecks( + ?DateTimeImmutable $periodStart = null, + ?DateTimeImmutable $periodEnd = null, + ?string $metric = null, + ?bool $includePropagatedResults = null, + ?string $filter = null, + ): ReportAmlChecks { + $queryParams = [ + 'periodStart' => $periodStart->format('Y-m-d\TH:i:s\Z'), + 'periodEnd' => $periodEnd->format('Y-m-d\TH:i:s\Z'), + 'metric' => $metric, + 'includePropagatedResults' => $includePropagatedResults, + 'filter' => $filter, + ]; + $uri = '/experimental/reports/aml-checks?' . http_build_query($queryParams); + + $request = new Request('GET', $uri, headers: [ + 'Accept' => 'application/json', + ]); + $response = $this->client->send($request); + $data = Utils::jsonDecode((string) $response->getBody(), true); + + return ReportAmlChecks::from($data, ['headers' => $response->getHeaders()]); + } + public function getAnnualRecurringRevenue( string $currency, string $periodStart, @@ -74,7 +100,7 @@ public function getAnnualRecurringRevenue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportAnnualRecurringRevenue::from($data); + return ReportAnnualRecurringRevenue::from($data, ['headers' => $response->getHeaders()]); } public function getApiLogSummary( @@ -99,7 +125,7 @@ public function getApiLogSummary( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApiLogSummary::from($data); + return ApiLogSummary::from($data, ['headers' => $response->getHeaders()]); } public function getCumulativeSubscriptions( @@ -126,7 +152,7 @@ public function getCumulativeSubscriptions( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return CumulativeSubscriptions::from($data); + return CumulativeSubscriptions::from($data, ['headers' => $response->getHeaders()]); } /** @@ -152,7 +178,7 @@ public function getDashboardMetrics( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): DashboardResponse => DashboardResponse::from($item), $data); + return array_map(fn (array $item): DashboardResponse => DashboardResponse::from($item, ['headers' => $response->getHeaders()]), $data); } public function getDccMarkup( @@ -179,7 +205,7 @@ public function getDccMarkup( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return DccMarkup::from($data); + return DccMarkup::from($data, ['headers' => $response->getHeaders()]); } public function getDeclinedTransactions( @@ -206,7 +232,7 @@ public function getDeclinedTransactions( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportDeclinedTransactions::from($data); + return ReportDeclinedTransactions::from($data, ['headers' => $response->getHeaders()]); } public function getDeferredRevenue( @@ -231,7 +257,7 @@ public function getDeferredRevenue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportDeferredRevenue::from($data); + return ReportDeferredRevenue::from($data, ['headers' => $response->getHeaders()]); } public function getDisputes( @@ -256,7 +282,7 @@ public function getDisputes( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportDisputes::from($data); + return ReportDisputes::from($data, ['headers' => $response->getHeaders()]); } public function getEventsTriggeredSummary( @@ -279,7 +305,7 @@ public function getEventsTriggeredSummary( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportEventsTriggeredSummary::from($data); + return ReportEventsTriggeredSummary::from($data, ['headers' => $response->getHeaders()]); } public function getFutureRenewals( @@ -302,7 +328,7 @@ public function getFutureRenewals( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return FutureRenewals::from($data); + return FutureRenewals::from($data, ['headers' => $response->getHeaders()]); } public function getJournal( @@ -333,7 +359,7 @@ public function getJournal( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportJournal::from($data); + return ReportJournal::from($data, ['headers' => $response->getHeaders()]); } public function getJournalSummary( @@ -360,7 +386,7 @@ public function getJournalSummary( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return JournalSummaryReport::from($data); + return JournalSummaryReport::from($data, ['headers' => $response->getHeaders()]); } public function getKycAcceptanceSummary( @@ -379,12 +405,12 @@ public function getKycAcceptanceSummary( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GetKycAcceptanceSummaryReportResponse::from($data); + return GetKycAcceptanceSummaryReportResponse::from($data, ['headers' => $response->getHeaders()]); } public function getKycRejectionSummary( - DateTimeImmutable $periodStart, - DateTimeImmutable $periodEnd, + ?DateTimeImmutable $periodStart = null, + ?DateTimeImmutable $periodEnd = null, ): ReportKycRejections { $queryParams = [ 'periodStart' => $periodStart->format('Y-m-d\TH:i:s\Z'), @@ -398,12 +424,12 @@ public function getKycRejectionSummary( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportKycRejections::from($data); + return ReportKycRejections::from($data, ['headers' => $response->getHeaders()]); } public function getKycRequestSummary( - DateTimeImmutable $periodStart, - DateTimeImmutable $periodEnd, + ?DateTimeImmutable $periodStart = null, + ?DateTimeImmutable $periodEnd = null, ): ReportKycRequests { $queryParams = [ 'periodStart' => $periodStart->format('Y-m-d\TH:i:s\Z'), @@ -417,7 +443,7 @@ public function getKycRequestSummary( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportKycRequests::from($data); + return ReportKycRequests::from($data, ['headers' => $response->getHeaders()]); } public function getMonthlyRecurringRevenue( @@ -442,7 +468,7 @@ public function getMonthlyRecurringRevenue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportMonthlyRecurringRevenue::from($data); + return ReportMonthlyRecurringRevenue::from($data, ['headers' => $response->getHeaders()]); } public function getRenewalSales( @@ -465,7 +491,7 @@ public function getRenewalSales( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RenewalSales::from($data); + return RenewalSales::from($data, ['headers' => $response->getHeaders()]); } public function getRetentionPercentage( @@ -498,7 +524,7 @@ public function getRetentionPercentage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportRetentionPercentage::from($data); + return ReportRetentionPercentage::from($data, ['headers' => $response->getHeaders()]); } public function getRetentionValue( @@ -535,7 +561,7 @@ public function getRetentionValue( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportRetentionValue::from($data); + return ReportRetentionValue::from($data, ['headers' => $response->getHeaders()]); } /** @@ -561,7 +587,7 @@ public function getRevenueWaterfall( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): ReportRevenueWaterfall => ReportRevenueWaterfall::from($item), $data); + return array_map(fn (array $item): ReportRevenueWaterfall => ReportRevenueWaterfall::from($item, ['headers' => $response->getHeaders()]), $data); } public function getSubscriptionCancellation( @@ -588,7 +614,7 @@ public function getSubscriptionCancellation( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionCancellationReport::from($data); + return SubscriptionCancellationReport::from($data, ['headers' => $response->getHeaders()]); } public function getSubscriptionRenewal( @@ -611,7 +637,7 @@ public function getSubscriptionRenewal( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionRenewal::from($data); + return SubscriptionRenewal::from($data, ['headers' => $response->getHeaders()]); } public function getTax( @@ -636,7 +662,7 @@ public function getTax( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportTax::from($data); + return ReportTax::from($data, ['headers' => $response->getHeaders()]); } public function getTimeSeriesTransaction( @@ -663,7 +689,7 @@ public function getTimeSeriesTransaction( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TimeSeriesTransaction::from($data); + return TimeSeriesTransaction::from($data, ['headers' => $response->getHeaders()]); } public function getTransactions( @@ -690,7 +716,7 @@ public function getTransactions( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportTransactions::from($data); + return ReportTransactions::from($data, ['headers' => $response->getHeaders()]); } public function getTransactionsTimeDispute( @@ -717,7 +743,7 @@ public function getTransactionsTimeDispute( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportDisputeDelays::from($data); + return ReportDisputeDelays::from($data, ['headers' => $response->getHeaders()]); } public function getTriggeredEventRuleReport( @@ -745,6 +771,6 @@ public function getTriggeredEventRuleReport( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ReportRulesMatchedSummary::from($data); + return ReportRulesMatchedSummary::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/RiskScoreRulesApi.php b/src/Api/RiskScoreRulesApi.php index 3ded1c5c9..25e4517d9 100644 --- a/src/Api/RiskScoreRulesApi.php +++ b/src/Api/RiskScoreRulesApi.php @@ -36,7 +36,7 @@ public function getAll(): RiskScoreRules $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RiskScoreRules::from($data); + return RiskScoreRules::from($data, ['headers' => $response->getHeaders()]); } public function getAllBlocklistRules(): RiskScoreBlocklist @@ -49,7 +49,7 @@ public function getAllBlocklistRules(): RiskScoreBlocklist $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RiskScoreBlocklist::from($data); + return RiskScoreBlocklist::from($data, ['headers' => $response->getHeaders()]); } public function updateRiskScoreBlocklistRules( @@ -63,7 +63,7 @@ public function updateRiskScoreBlocklistRules( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RiskScoreBlocklist::from($data); + return RiskScoreBlocklist::from($data, ['headers' => $response->getHeaders()]); } public function updateRiskScoreRules( @@ -77,6 +77,6 @@ public function updateRiskScoreRules( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return RiskScoreRules::from($data); + return RiskScoreRules::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/RolesApi.php b/src/Api/RolesApi.php index 4b5130d09..86f7ec488 100644 --- a/src/Api/RolesApi.php +++ b/src/Api/RolesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Role::from($data); + return Role::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -73,7 +73,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Role::from($data); + return Role::from($data, ['headers' => $response->getHeaders()]); } /** @@ -104,10 +104,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Role => Role::from($item), $data), + array_map(fn (array $item): Role => Role::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -153,6 +156,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Role::from($data); + return Role::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/SearchApi.php b/src/Api/SearchApi.php index 910f14d5e..b2208672f 100644 --- a/src/Api/SearchApi.php +++ b/src/Api/SearchApi.php @@ -51,10 +51,13 @@ public function get( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Search => Search::from($item), $data), + array_map(fn (array $item): Search => Search::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/SegmentsApi.php b/src/Api/SegmentsApi.php index d52d691c8..e796c1fb8 100644 --- a/src/Api/SegmentsApi.php +++ b/src/Api/SegmentsApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GridSegment::from($data); + return GridSegment::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GridSegment::from($data); + return GridSegment::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): GridSegment => GridSegment::from($item), $data), + array_map(fn (array $item): GridSegment => GridSegment::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GridSegment::from($data); + return GridSegment::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/SendThroughAttributionApi.php b/src/Api/SendThroughAttributionApi.php index 93cce7e68..4110b6471 100644 --- a/src/Api/SendThroughAttributionApi.php +++ b/src/Api/SendThroughAttributionApi.php @@ -43,6 +43,6 @@ public function getAll( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): SendThroughAttribution => SendThroughAttribution::from($item), $data); + return array_map(fn (array $item): SendThroughAttribution => SendThroughAttribution::from($item, ['headers' => $response->getHeaders()]), $data); } } diff --git a/src/Api/ServiceCredentialsApi.php b/src/Api/ServiceCredentialsApi.php index 2fdea62e6..c57c22d2c 100644 --- a/src/Api/ServiceCredentialsApi.php +++ b/src/Api/ServiceCredentialsApi.php @@ -46,7 +46,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ServiceCredentialFactory::from($data); + return ServiceCredentialFactory::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -66,7 +66,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ServiceCredentialFactory::from($data); + return ServiceCredentialFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -100,10 +100,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ServiceCredential => ServiceCredentialFactory::from($item), $data), + array_map(fn (array $item): ServiceCredential => ServiceCredentialFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -168,10 +171,13 @@ public function getItems( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): GoogleSpreadsheet => GoogleSpreadsheet::from($item), $data), + array_map(fn (array $item): GoogleSpreadsheet => GoogleSpreadsheet::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -223,6 +229,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ServiceCredentialFactory::from($data); + return ServiceCredentialFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/ShippingRatesApi.php b/src/Api/ShippingRatesApi.php index fb5654cb3..0c3061a86 100644 --- a/src/Api/ShippingRatesApi.php +++ b/src/Api/ShippingRatesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ShippingRate::from($data); + return ShippingRate::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ShippingRate::from($data); + return ShippingRate::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ShippingRate => ShippingRate::from($item), $data), + array_map(fn (array $item): ShippingRate => ShippingRate::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ShippingRate::from($data); + return ShippingRate::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/StatusApi.php b/src/Api/StatusApi.php index d10c730b0..6debf4492 100644 --- a/src/Api/StatusApi.php +++ b/src/Api/StatusApi.php @@ -35,6 +35,6 @@ public function get(): Status $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Status::from($data); + return Status::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/SubscriptionCancellationsApi.php b/src/Api/SubscriptionCancellationsApi.php index 052f4ee63..de6de43cf 100644 --- a/src/Api/SubscriptionCancellationsApi.php +++ b/src/Api/SubscriptionCancellationsApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionCancellation::from($data); + return SubscriptionCancellation::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -70,7 +70,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionCancellation::from($data); + return SubscriptionCancellation::from($data, ['headers' => $response->getHeaders()]); } /** @@ -97,10 +97,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): SubscriptionCancellation => SubscriptionCancellation::from($item), $data), + array_map(fn (array $item): SubscriptionCancellation => SubscriptionCancellation::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -142,7 +145,7 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionCancellation::from($data); + return SubscriptionCancellation::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -161,6 +164,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionCancellation::from($data); + return SubscriptionCancellation::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/SubscriptionPausesApi.php b/src/Api/SubscriptionPausesApi.php index 018ddf0a8..af08c0639 100644 --- a/src/Api/SubscriptionPausesApi.php +++ b/src/Api/SubscriptionPausesApi.php @@ -55,7 +55,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionPause::from($data); + return SubscriptionPause::from($data, ['headers' => $response->getHeaders()]); } /** @@ -82,10 +82,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): SubscriptionPause => SubscriptionPause::from($item), $data), + array_map(fn (array $item): SubscriptionPause => SubscriptionPause::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -122,7 +125,7 @@ public function pause( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionPause::from($data); + return SubscriptionPause::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -141,6 +144,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionPause::from($data); + return SubscriptionPause::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/SubscriptionReactivationsApi.php b/src/Api/SubscriptionReactivationsApi.php index f7db9cbd1..2b04b6a09 100644 --- a/src/Api/SubscriptionReactivationsApi.php +++ b/src/Api/SubscriptionReactivationsApi.php @@ -42,7 +42,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionReactivation::from($data); + return SubscriptionReactivation::from($data, ['headers' => $response->getHeaders()]); } /** @@ -69,10 +69,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): SubscriptionReactivation => SubscriptionReactivation::from($item), $data), + array_map(fn (array $item): SubscriptionReactivation => SubscriptionReactivation::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -109,6 +112,6 @@ public function reactivate( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionReactivation::from($data); + return SubscriptionReactivation::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/SubscriptionsApi.php b/src/Api/SubscriptionsApi.php index 2fa0ebe08..150419a7b 100644 --- a/src/Api/SubscriptionsApi.php +++ b/src/Api/SubscriptionsApi.php @@ -57,7 +57,7 @@ public function changeItems( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionOrOneTimeSaleFactory::from($data); + return SubscriptionOrOneTimeSaleFactory::from($data, ['headers' => $response->getHeaders()]); } public function create( @@ -75,7 +75,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionOrOneTimeSaleFactory::from($data); + return SubscriptionOrOneTimeSaleFactory::from($data, ['headers' => $response->getHeaders()]); } public function createInterimInvoice( @@ -94,7 +94,7 @@ public function createInterimInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Invoice::from($data); + return Invoice::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -113,7 +113,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderTimeline::from($data); + return OrderTimeline::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -163,7 +163,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionOrOneTimeSaleFactory::from($data); + return SubscriptionOrOneTimeSaleFactory::from($data, ['headers' => $response->getHeaders()]); } /** @@ -194,10 +194,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): SubscriptionOrOneTimeSale => SubscriptionOrOneTimeSaleFactory::from($item), $data), + array_map(fn (array $item): SubscriptionOrOneTimeSale => SubscriptionOrOneTimeSaleFactory::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -258,10 +261,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): OrderTimeline => OrderTimeline::from($item), $data), + array_map(fn (array $item): OrderTimeline => OrderTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -313,7 +319,7 @@ public function getAllUpcomingInvoices( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return array_map(fn (array $item): UpcomingInvoice => UpcomingInvoice::from($item), $data); + return array_map(fn (array $item): UpcomingInvoice => UpcomingInvoice::from($item, ['headers' => $response->getHeaders()]), $data); } public function getSubscriptionSummaryMetrics( @@ -331,7 +337,7 @@ public function getSubscriptionSummaryMetrics( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionSummaryMetrics::from($data); + return SubscriptionSummaryMetrics::from($data, ['headers' => $response->getHeaders()]); } public function getTimelineMessage( @@ -351,7 +357,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return OrderTimeline::from($data); + return OrderTimeline::from($data, ['headers' => $response->getHeaders()]); } public function getUpcomingInvoice( @@ -373,7 +379,7 @@ public function getUpcomingInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return UpcomingInvoice::from($data); + return UpcomingInvoice::from($data, ['headers' => $response->getHeaders()]); } public function issueEarlyUpcomingInvoice( @@ -392,7 +398,7 @@ public function issueEarlyUpcomingInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return UpcomingInvoice::from($data); + return UpcomingInvoice::from($data, ['headers' => $response->getHeaders()]); } public function issueUpcomingInvoice( @@ -413,7 +419,7 @@ public function issueUpcomingInvoice( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return UpcomingInvoice::from($data); + return UpcomingInvoice::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -436,7 +442,7 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionOrOneTimeSaleFactory::from($data); + return SubscriptionOrOneTimeSaleFactory::from($data, ['headers' => $response->getHeaders()]); } public function updateItem( @@ -457,7 +463,7 @@ public function updateItem( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionOrOneTimeSaleItem::from($data); + return SubscriptionOrOneTimeSaleItem::from($data, ['headers' => $response->getHeaders()]); } public function void( @@ -475,6 +481,6 @@ public function void( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return SubscriptionOrOneTimeSaleFactory::from($data); + return SubscriptionOrOneTimeSaleFactory::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/TagsApi.php b/src/Api/TagsApi.php index b3a49c4cf..ec74a24b6 100644 --- a/src/Api/TagsApi.php +++ b/src/Api/TagsApi.php @@ -45,7 +45,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Tag::from($data); + return Tag::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -76,7 +76,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Tag::from($data); + return Tag::from($data, ['headers' => $response->getHeaders()]); } /** @@ -105,10 +105,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Tag => Tag::from($item), $data), + array_map(fn (array $item): Tag => Tag::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -326,6 +329,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Tag::from($data); + return Tag::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/TagsRulesApi.php b/src/Api/TagsRulesApi.php index 4da493c9a..11e82593d 100644 --- a/src/Api/TagsRulesApi.php +++ b/src/Api/TagsRulesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TagUntagRule::from($data); + return TagUntagRule::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TagUntagRule::from($data); + return TagUntagRule::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): TagUntagRule => TagUntagRule::from($item), $data), + array_map(fn (array $item): TagUntagRule => TagUntagRule::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TagUntagRule::from($data); + return TagUntagRule::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/TrackingApi.php b/src/Api/TrackingApi.php index b7ce839ed..60a485115 100644 --- a/src/Api/TrackingApi.php +++ b/src/Api/TrackingApi.php @@ -58,10 +58,13 @@ public function getAllApiLogs( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ApiTracking => ApiTracking::from($item), $data), + array_map(fn (array $item): ApiTracking => ApiTracking::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -117,10 +120,13 @@ public function getAllListsChangesHistory( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): ValueList => ValueList::from($item), $data), + array_map(fn (array $item): ValueList => ValueList::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -174,10 +180,13 @@ public function getAllTaxTrackingLogs( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): TaxTracking => TaxTracking::from($item), $data), + array_map(fn (array $item): TaxTracking => TaxTracking::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -231,10 +240,13 @@ public function getAllWebhookTrackingLogs( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): WebhookTracking => WebhookTracking::from($item), $data), + array_map(fn (array $item): WebhookTracking => WebhookTracking::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -277,7 +289,7 @@ public function getApiLog( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ApiTracking::from($data); + return ApiTracking::from($data, ['headers' => $response->getHeaders()]); } public function getTaxTrackingLog( @@ -295,7 +307,7 @@ public function getTaxTrackingLog( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TaxTracking::from($data); + return TaxTracking::from($data, ['headers' => $response->getHeaders()]); } public function getWebhookTrackingLog( @@ -313,7 +325,7 @@ public function getWebhookTrackingLog( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return WebhookTracking::from($data); + return WebhookTracking::from($data, ['headers' => $response->getHeaders()]); } public function resendWebhook( diff --git a/src/Api/TransactionsApi.php b/src/Api/TransactionsApi.php index 769b774f3..8e85cc2f8 100644 --- a/src/Api/TransactionsApi.php +++ b/src/Api/TransactionsApi.php @@ -48,7 +48,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Transaction::from($data); + return Transaction::from($data, ['headers' => $response->getHeaders()]); } public function createTimelineComment( @@ -67,7 +67,7 @@ public function createTimelineComment( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TransactionTimeline::from($data); + return TransactionTimeline::from($data, ['headers' => $response->getHeaders()]); } public function deleteTimelineMessage( @@ -104,7 +104,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Transaction::from($data); + return Transaction::from($data, ['headers' => $response->getHeaders()]); } /** @@ -135,10 +135,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Transaction => Transaction::from($item), $data), + array_map(fn (array $item): Transaction => Transaction::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -199,10 +202,13 @@ public function getAllTimelineMessages( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): TransactionTimeline => TransactionTimeline::from($item), $data), + array_map(fn (array $item): TransactionTimeline => TransactionTimeline::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -249,7 +255,7 @@ public function getTimelineMessage( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TransactionTimeline::from($data); + return TransactionTimeline::from($data, ['headers' => $response->getHeaders()]); } public function patch( @@ -268,7 +274,7 @@ public function patch( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Transaction::from($data); + return Transaction::from($data, ['headers' => $response->getHeaders()]); } public function query( @@ -286,7 +292,7 @@ public function query( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return TransactionQuery::from($data); + return TransactionQuery::from($data, ['headers' => $response->getHeaders()]); } public function refund( @@ -309,7 +315,7 @@ public function refund( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Transaction::from($data); + return Transaction::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -328,6 +334,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Transaction::from($data); + return Transaction::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/UsagesApi.php b/src/Api/UsagesApi.php index 20bdad46b..9e51cea05 100644 --- a/src/Api/UsagesApi.php +++ b/src/Api/UsagesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Usage::from($data); + return Usage::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Usage::from($data); + return Usage::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Usage => Usage::from($item), $data), + array_map(fn (array $item): Usage => Usage::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } diff --git a/src/Api/UsersApi.php b/src/Api/UsersApi.php index 620f702db..4b8c0f22c 100644 --- a/src/Api/UsersApi.php +++ b/src/Api/UsersApi.php @@ -39,7 +39,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return User::from($data); + return User::from($data, ['headers' => $response->getHeaders()]); } public function get( @@ -57,7 +57,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return User::from($data); + return User::from($data, ['headers' => $response->getHeaders()]); } /** @@ -86,10 +86,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): User => User::from($item), $data), + array_map(fn (array $item): User => User::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -132,7 +135,7 @@ public function getMfa( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return ProfileMfa::from($data); + return ProfileMfa::from($data, ['headers' => $response->getHeaders()]); } public function update( @@ -151,6 +154,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return User::from($data); + return User::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/WebhooksApi.php b/src/Api/WebhooksApi.php index 43d5d80aa..ccb91e414 100644 --- a/src/Api/WebhooksApi.php +++ b/src/Api/WebhooksApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GlobalWebhook::from($data); + return GlobalWebhook::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GlobalWebhook::from($data); + return GlobalWebhook::from($data, ['headers' => $response->getHeaders()]); } /** @@ -94,10 +94,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): GlobalWebhook => GlobalWebhook::from($item), $data), + array_map(fn (array $item): GlobalWebhook => GlobalWebhook::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -137,6 +140,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return GlobalWebhook::from($data); + return GlobalWebhook::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Api/WebsitesApi.php b/src/Api/WebsitesApi.php index 8f4a5f9cb..d61909d0f 100644 --- a/src/Api/WebsitesApi.php +++ b/src/Api/WebsitesApi.php @@ -38,7 +38,7 @@ public function create( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Website::from($data); + return Website::from($data, ['headers' => $response->getHeaders()]); } public function delete( @@ -69,7 +69,7 @@ public function get( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Website::from($data); + return Website::from($data, ['headers' => $response->getHeaders()]); } /** @@ -98,10 +98,13 @@ public function getAll( $data = Utils::jsonDecode((string) $response->getBody(), true); return new Collection( - array_map(fn (array $item): Website => Website::from($item), $data), + array_map(fn (array $item): Website => Website::from($item, ['headers' => $response->getHeaders()]), $data), (int) $response->getHeaderLine(Collection::HEADER_LIMIT), (int) $response->getHeaderLine(Collection::HEADER_OFFSET), (int) $response->getHeaderLine(Collection::HEADER_TOTAL), + [ + 'headers' => $response->getHeaders(), + ] ); } @@ -145,6 +148,6 @@ public function update( $response = $this->client->send($request); $data = Utils::jsonDecode((string) $response->getBody(), true); - return Website::from($data); + return Website::from($data, ['headers' => $response->getHeaders()]); } } diff --git a/src/Collection.php b/src/Collection.php index fb8ebcb87..3d159ea32 100644 --- a/src/Collection.php +++ b/src/Collection.php @@ -20,6 +20,7 @@ use IteratorAggregate; use JsonSerializable; use LogicException; +use Rebilly\Sdk\Trait\HasMetadata; use Traversable; /** @@ -29,6 +30,8 @@ */ class Collection implements JsonSerializable, IteratorAggregate, ArrayAccess, Countable { + use HasMetadata; + public const HEADER_LIMIT = 'Pagination-Limit'; public const HEADER_OFFSET = 'Pagination-Offset'; @@ -40,13 +43,16 @@ class Collection implements JsonSerializable, IteratorAggregate, ArrayAccess, Co * @param int $limit * @param int $offset * @param int $total + * @param array $metadata */ public function __construct( private array $items, private int $limit, private int $offset, private int $total, + array $metadata = [], ) { + $this->setMetadata($metadata); } /** diff --git a/src/Middleware/BaseUri.php b/src/Middleware/BaseUri.php index 40c5b8ddc..0607b96e3 100644 --- a/src/Middleware/BaseUri.php +++ b/src/Middleware/BaseUri.php @@ -70,7 +70,10 @@ private function adjustUriPath(string $requestPath): string } $basePath .= '/'; if ($this->organizationId) { - $basePath .= 'organizations/' . $this->organizationId . '/'; + $organizationPrefix = 'organizations/' . $this->organizationId . '/'; + if (!str_starts_with(ltrim($requestPath, '/'), $organizationPrefix)) { + $basePath .= $organizationPrefix; + } } return $basePath . ltrim($requestPath, '/'); diff --git a/src/Model/A1Gateway.php b/src/Model/A1Gateway.php index a358b8960..0fa5da676 100644 --- a/src/Model/A1Gateway.php +++ b/src/Model/A1Gateway.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class A1Gateway extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'A1Gateway', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): A1GatewayCredentials diff --git a/src/Model/A1GatewayCredentials.php b/src/Model/A1GatewayCredentials.php index e65f92c7e..68455c7dc 100644 --- a/src/Model/A1GatewayCredentials.php +++ b/src/Model/A1GatewayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class A1GatewayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountId(): string diff --git a/src/Model/ACI.php b/src/Model/ACI.php index b3e126dbd..3e26ec0ef 100644 --- a/src/Model/ACI.php +++ b/src/Model/ACI.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ACI extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ACI', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ACICredentials diff --git a/src/Model/ACICredentials.php b/src/Model/ACICredentials.php index fe693f276..cb8096652 100644 --- a/src/Model/ACICredentials.php +++ b/src/Model/ACICredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ACICredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('entityId', $data)) { $this->setEntityId($data['entityId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('accessToken', $data)) { $this->setAccessToken($data['accessToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEntityId(): string diff --git a/src/Model/ACISettings.php b/src/Model/ACISettings.php index 5ee9d28c5..895cc0580 100644 --- a/src/Model/ACISettings.php +++ b/src/Model/ACISettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ACISettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('url', $data)) { $this->setUrl($data['url']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUrl(): ?string diff --git a/src/Model/AML.php b/src/Model/AML.php index ef1027711..0b105ab88 100644 --- a/src/Model/AML.php +++ b/src/Model/AML.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AML implements JsonSerializable { + use HasMetadata; + public const SOURCE_TYPE_PEP = 'pep'; public const SOURCE_TYPE_SANCTIONS = 'sanctions'; @@ -43,7 +46,7 @@ class AML implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -99,11 +102,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/AMLAddress.php b/src/Model/AMLAddress.php index 02cc822c5..2435757ab 100644 --- a/src/Model/AMLAddress.php +++ b/src/Model/AMLAddress.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AMLAddress implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('address', $data)) { $this->setAddress($data['address']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('birthplace', $data)) { $this->setBirthplace($data['birthplace']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAddress(): ?string diff --git a/src/Model/AMLAliases.php b/src/Model/AMLAliases.php index 364c6c0c8..0e7dc8b2f 100644 --- a/src/Model/AMLAliases.php +++ b/src/Model/AMLAliases.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AMLAliases implements JsonSerializable { + use HasMetadata; + public const AUTHENTICITY_STRONG = 'strong'; public const AUTHENTICITY_WEAK = 'weak'; @@ -26,7 +29,7 @@ class AMLAliases implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('authenticity', $data)) { $this->setAuthenticity($data['authenticity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/AMLMatchDetails.php b/src/Model/AMLMatchDetails.php index 859fc0db9..181b896f7 100644 --- a/src/Model/AMLMatchDetails.php +++ b/src/Model/AMLMatchDetails.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AMLMatchDetails implements JsonSerializable { + use HasMetadata; + public const CONFIDENCE_FACTORS_EXACT_COUNTRY = 'confidence_exact_country'; public const CONFIDENCE_FACTORS_MISMATCH_COUNTRY = 'confidence_mismatch_country'; @@ -72,7 +75,7 @@ class AMLMatchDetails implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('confidenceFactors', $data)) { $this->setConfidenceFactors($data['confidenceFactors']); @@ -80,11 +83,12 @@ public function __construct(array $data = []) if (array_key_exists('matchCriteria', $data)) { $this->setMatchCriteria($data['matchCriteria']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/AMLPassport.php b/src/Model/AMLPassport.php index 6040dc493..befee6be9 100644 --- a/src/Model/AMLPassport.php +++ b/src/Model/AMLPassport.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AMLPassport implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('number', $data)) { $this->setNumber($data['number']); @@ -29,11 +32,12 @@ public function __construct(array $data = []) if (array_key_exists('registrationDate', $data)) { $this->setRegistrationDate($data['registrationDate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getNumber(): ?string diff --git a/src/Model/AchPlaidFeature.php b/src/Model/AchPlaidFeature.php index 587aa183e..27c174d1b 100644 --- a/src/Model/AchPlaidFeature.php +++ b/src/Model/AchPlaidFeature.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AchPlaidFeature implements ReadyToPayAchMethodFeature { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('linkToken', $data)) { $this->setLinkToken($data['linkToken']); @@ -29,11 +32,12 @@ public function __construct(array $data = []) if (array_key_exists('expirationTime', $data)) { $this->setExpirationTime($data['expirationTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/Acl.php b/src/Model/Acl.php index ca85b0d68..2e914319e 100644 --- a/src/Model/Acl.php +++ b/src/Model/Acl.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Acl implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('scope', $data)) { $this->setScope($data['scope']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('permissions', $data)) { $this->setPermissions($data['permissions']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScope(): ApiKeyScope diff --git a/src/Model/AdjustPaymentMethodFactory.php b/src/Model/AdjustPaymentMethodFactory.php index c0f10c145..37f269b4b 100644 --- a/src/Model/AdjustPaymentMethodFactory.php +++ b/src/Model/AdjustPaymentMethodFactory.php @@ -18,154 +18,154 @@ class AdjustPaymentMethodFactory { - public static function from(array $data = []): AdjustPaymentMethod + public static function from(array $data = [], array $metadata = []): AdjustPaymentMethod { return match ($data['paymentMethod']) { - 'ach' => AdjustReadyToPayAch::from($data), - 'AdvCash' => AdjustReadyToPayGeneric::from($data), - 'Alfa-click' => AdjustReadyToPayGeneric::from($data), - 'Alipay' => AdjustReadyToPayGeneric::from($data), - 'AstroPay Card' => AdjustReadyToPayGeneric::from($data), - 'AstroPay-GO' => AdjustReadyToPayGeneric::from($data), - 'Baloto' => AdjustReadyToPayGeneric::from($data), - 'Bancontact' => AdjustReadyToPayGeneric::from($data), - 'Bancontact-mobile' => AdjustReadyToPayGeneric::from($data), - 'BankReferenced' => AdjustReadyToPayGeneric::from($data), - 'Beeline' => AdjustReadyToPayGeneric::from($data), - 'Belfius-direct-net' => AdjustReadyToPayGeneric::from($data), - 'Bizum' => AdjustReadyToPayGeneric::from($data), - 'Boleto' => AdjustReadyToPayGeneric::from($data), - 'CASHlib' => AdjustReadyToPayGeneric::from($data), - 'CODVoucher' => AdjustReadyToPayGeneric::from($data), - 'CashToCode' => AdjustReadyToPayGeneric::from($data), - 'China UnionPay' => AdjustReadyToPayGeneric::from($data), - 'Cleo' => AdjustReadyToPayGeneric::from($data), - 'Conekta-oxxo' => AdjustReadyToPayGeneric::from($data), - 'Cupon-de-pagos' => AdjustReadyToPayGeneric::from($data), - 'EPS' => AdjustReadyToPayGeneric::from($data), - 'Efecty' => AdjustReadyToPayGeneric::from($data), - 'FasterPay' => AdjustReadyToPayGeneric::from($data), - 'Flexepin' => AdjustReadyToPayGeneric::from($data), - 'Giropay' => AdjustReadyToPayGeneric::from($data), - 'Google Pay' => AdjustReadyToPayGeneric::from($data), - 'Gpaysafe' => AdjustReadyToPayGeneric::from($data), - 'ING-homepay' => AdjustReadyToPayGeneric::from($data), - 'INOVAPAY-pin' => AdjustReadyToPayGeneric::from($data), - 'INOVAPAY-wallet' => AdjustReadyToPayGeneric::from($data), - 'InstaDebit' => AdjustReadyToPayGeneric::from($data), - 'InstantPayments' => AdjustReadyToPayGeneric::from($data), - 'Interac' => AdjustReadyToPayGeneric::from($data), - 'Interac-eTransfer' => AdjustReadyToPayGeneric::from($data), - 'Interac-online' => AdjustReadyToPayGeneric::from($data), - 'Jeton' => AdjustReadyToPayGeneric::from($data), - 'KNOT' => AdjustReadyToPayGeneric::from($data), - 'Khelocard' => AdjustReadyToPayGeneric::from($data), - 'Klarna' => AdjustReadyToPayGeneric::from($data), - 'MTS' => AdjustReadyToPayGeneric::from($data), - 'Matrix' => AdjustReadyToPayGeneric::from($data), - 'MaxiCash' => AdjustReadyToPayGeneric::from($data), - 'Megafon' => AdjustReadyToPayGeneric::from($data), - 'MiFinity-eWallet' => AdjustReadyToPayGeneric::from($data), - 'MuchBetter' => AdjustReadyToPayGeneric::from($data), - 'Multibanco' => AdjustReadyToPayGeneric::from($data), - 'Neosurf' => AdjustReadyToPayGeneric::from($data), - 'Netbanking' => AdjustReadyToPayGeneric::from($data), - 'Neteller' => AdjustReadyToPayGeneric::from($data), - 'Nordea-Solo' => AdjustReadyToPayGeneric::from($data), - 'OXXO' => AdjustReadyToPayGeneric::from($data), - 'OchaPay' => AdjustReadyToPayGeneric::from($data), - 'Onlineueberweisen' => AdjustReadyToPayGeneric::from($data), - 'P24' => AdjustReadyToPayGeneric::from($data), - 'POLi' => AdjustReadyToPayGeneric::from($data), - 'Pagadito' => AdjustReadyToPayGeneric::from($data), - 'PagoEffectivo' => AdjustReadyToPayGeneric::from($data), - 'Pagsmile-deposit-express' => AdjustReadyToPayGeneric::from($data), - 'Pagsmile-lottery' => AdjustReadyToPayGeneric::from($data), - 'Pay4Fun' => AdjustReadyToPayGeneric::from($data), - 'PayCash' => AdjustReadyToPayGeneric::from($data), - 'PayTabs' => AdjustReadyToPayGeneric::from($data), - 'Payeer' => AdjustReadyToPayGeneric::from($data), - 'PaymentAsia-crypto' => AdjustReadyToPayGeneric::from($data), - 'Paymero' => AdjustReadyToPayGeneric::from($data), - 'Paynote' => AdjustReadyToPayGeneric::from($data), - 'Paysafecard' => AdjustReadyToPayGeneric::from($data), - 'Paysafecash' => AdjustReadyToPayGeneric::from($data), - 'Perfect-money' => AdjustReadyToPayGeneric::from($data), - 'PhonePe' => AdjustReadyToPayGeneric::from($data), - 'Piastrix' => AdjustReadyToPayGeneric::from($data), - 'PinPay' => AdjustReadyToPayGeneric::from($data), - 'PostFinance-card' => AdjustReadyToPayGeneric::from($data), - 'PostFinance-e-finance' => AdjustReadyToPayGeneric::from($data), - 'QIWI' => AdjustReadyToPayGeneric::from($data), - 'QPay' => AdjustReadyToPayGeneric::from($data), - 'QQPay' => AdjustReadyToPayGeneric::from($data), - 'Resurs' => AdjustReadyToPayGeneric::from($data), - 'SEPA' => AdjustReadyToPayGeneric::from($data), - 'SMSVoucher' => AdjustReadyToPayGeneric::from($data), - 'SafetyPay' => AdjustReadyToPayGeneric::from($data), - 'Skrill' => AdjustReadyToPayGeneric::from($data), - 'Skrill Rapid Transfer' => AdjustReadyToPayGeneric::from($data), - 'Sofort' => AdjustReadyToPayGeneric::from($data), - 'SparkPay' => AdjustReadyToPayGeneric::from($data), - 'Tele2' => AdjustReadyToPayGeneric::from($data), - 'Terminaly-RF' => AdjustReadyToPayGeneric::from($data), - 'ToditoCash-card' => AdjustReadyToPayGeneric::from($data), - 'Trustly' => AdjustReadyToPayGeneric::from($data), - 'UPI' => AdjustReadyToPayGeneric::from($data), - 'UPayCard' => AdjustReadyToPayGeneric::from($data), - 'USD-coin' => AdjustReadyToPayGeneric::from($data), - 'VCreditos' => AdjustReadyToPayGeneric::from($data), - 'VenusPoint' => AdjustReadyToPayGeneric::from($data), - 'WeChat Pay' => AdjustReadyToPayGeneric::from($data), - 'Webmoney' => AdjustReadyToPayGeneric::from($data), - 'Webpay' => AdjustReadyToPayGeneric::from($data), - 'Webpay Card' => AdjustReadyToPayGeneric::from($data), - 'Webpay-2' => AdjustReadyToPayGeneric::from($data), - 'XPay-P2P' => AdjustReadyToPayGeneric::from($data), - 'XPay-QR' => AdjustReadyToPayGeneric::from($data), - 'Yandex-money' => AdjustReadyToPayGeneric::from($data), - 'Zimpler' => AdjustReadyToPayGeneric::from($data), - 'Zotapay' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-2' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-3' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-4' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-5' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-6' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-7' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-8' => AdjustReadyToPayGeneric::from($data), - 'bank-transfer-9' => AdjustReadyToPayGeneric::from($data), - 'bitcoin' => AdjustReadyToPayGeneric::from($data), - 'cash' => AdjustReadyToPayGeneric::from($data), - 'cash-deposit' => AdjustReadyToPayGeneric::from($data), - 'check' => AdjustReadyToPayGeneric::from($data), - 'cryptocurrency' => AdjustReadyToPayGeneric::from($data), - 'domestic-cards' => AdjustReadyToPayGeneric::from($data), - 'ePay.bg' => AdjustReadyToPayGeneric::from($data), - 'eZeeWallet' => AdjustReadyToPayGeneric::from($data), - 'echeck' => AdjustReadyToPayGeneric::from($data), - 'ecoPayz' => AdjustReadyToPayGeneric::from($data), - 'ecoVoucher' => AdjustReadyToPayGeneric::from($data), - 'iDEAL' => AdjustReadyToPayGeneric::from($data), - 'iDebit' => AdjustReadyToPayGeneric::from($data), - 'iWallet' => AdjustReadyToPayGeneric::from($data), - 'instant-bank-transfer' => AdjustReadyToPayGeneric::from($data), - 'invoice' => AdjustReadyToPayGeneric::from($data), - 'jpay' => AdjustReadyToPayGeneric::from($data), - 'loonie' => AdjustReadyToPayGeneric::from($data), - 'miscellaneous' => AdjustReadyToPayGeneric::from($data), - 'online-bank-transfer' => AdjustReadyToPayGeneric::from($data), - 'oriental-wallet' => AdjustReadyToPayGeneric::from($data), - 'phone' => AdjustReadyToPayGeneric::from($data), - 'plaid-account' => AdjustReadyToPayGeneric::from($data), - 'rapyd-checkout' => AdjustReadyToPayGeneric::from($data), - 'swift-dbt' => AdjustReadyToPayGeneric::from($data), - 'voucher' => AdjustReadyToPayGeneric::from($data), - 'voucher-2' => AdjustReadyToPayGeneric::from($data), - 'voucher-3' => AdjustReadyToPayGeneric::from($data), - 'voucher-4' => AdjustReadyToPayGeneric::from($data), - 'payment-card' => AdjustReadyToPayPaymentCard::from($data), - 'paypal' => AdjustReadyToPayPaypal::from($data), + 'ach' => AdjustReadyToPayAch::from($data, $metadata), + 'AdvCash' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Alfa-click' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Alipay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'AstroPay Card' => AdjustReadyToPayGeneric::from($data, $metadata), + 'AstroPay-GO' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Baloto' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Bancontact' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Bancontact-mobile' => AdjustReadyToPayGeneric::from($data, $metadata), + 'BankReferenced' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Beeline' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Belfius-direct-net' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Bizum' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Boleto' => AdjustReadyToPayGeneric::from($data, $metadata), + 'CASHlib' => AdjustReadyToPayGeneric::from($data, $metadata), + 'CODVoucher' => AdjustReadyToPayGeneric::from($data, $metadata), + 'CashToCode' => AdjustReadyToPayGeneric::from($data, $metadata), + 'China UnionPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Cleo' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Conekta-oxxo' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Cupon-de-pagos' => AdjustReadyToPayGeneric::from($data, $metadata), + 'EPS' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Efecty' => AdjustReadyToPayGeneric::from($data, $metadata), + 'FasterPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Flexepin' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Giropay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Google Pay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Gpaysafe' => AdjustReadyToPayGeneric::from($data, $metadata), + 'ING-homepay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'INOVAPAY-pin' => AdjustReadyToPayGeneric::from($data, $metadata), + 'INOVAPAY-wallet' => AdjustReadyToPayGeneric::from($data, $metadata), + 'InstaDebit' => AdjustReadyToPayGeneric::from($data, $metadata), + 'InstantPayments' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Interac' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Interac-eTransfer' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Interac-online' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Jeton' => AdjustReadyToPayGeneric::from($data, $metadata), + 'KNOT' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Khelocard' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Klarna' => AdjustReadyToPayGeneric::from($data, $metadata), + 'MTS' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Matrix' => AdjustReadyToPayGeneric::from($data, $metadata), + 'MaxiCash' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Megafon' => AdjustReadyToPayGeneric::from($data, $metadata), + 'MiFinity-eWallet' => AdjustReadyToPayGeneric::from($data, $metadata), + 'MuchBetter' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Multibanco' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Neosurf' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Netbanking' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Neteller' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Nordea-Solo' => AdjustReadyToPayGeneric::from($data, $metadata), + 'OXXO' => AdjustReadyToPayGeneric::from($data, $metadata), + 'OchaPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Onlineueberweisen' => AdjustReadyToPayGeneric::from($data, $metadata), + 'P24' => AdjustReadyToPayGeneric::from($data, $metadata), + 'POLi' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Pagadito' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PagoEffectivo' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Pagsmile-deposit-express' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Pagsmile-lottery' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Pay4Fun' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PayCash' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PayTabs' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Payeer' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PaymentAsia-crypto' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Paymero' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Paynote' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Paysafecard' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Paysafecash' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Perfect-money' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PhonePe' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Piastrix' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PinPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PostFinance-card' => AdjustReadyToPayGeneric::from($data, $metadata), + 'PostFinance-e-finance' => AdjustReadyToPayGeneric::from($data, $metadata), + 'QIWI' => AdjustReadyToPayGeneric::from($data, $metadata), + 'QPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'QQPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Resurs' => AdjustReadyToPayGeneric::from($data, $metadata), + 'SEPA' => AdjustReadyToPayGeneric::from($data, $metadata), + 'SMSVoucher' => AdjustReadyToPayGeneric::from($data, $metadata), + 'SafetyPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Skrill' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Skrill Rapid Transfer' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Sofort' => AdjustReadyToPayGeneric::from($data, $metadata), + 'SparkPay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Tele2' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Terminaly-RF' => AdjustReadyToPayGeneric::from($data, $metadata), + 'ToditoCash-card' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Trustly' => AdjustReadyToPayGeneric::from($data, $metadata), + 'UPI' => AdjustReadyToPayGeneric::from($data, $metadata), + 'UPayCard' => AdjustReadyToPayGeneric::from($data, $metadata), + 'USD-coin' => AdjustReadyToPayGeneric::from($data, $metadata), + 'VCreditos' => AdjustReadyToPayGeneric::from($data, $metadata), + 'VenusPoint' => AdjustReadyToPayGeneric::from($data, $metadata), + 'WeChat Pay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Webmoney' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Webpay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Webpay Card' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Webpay-2' => AdjustReadyToPayGeneric::from($data, $metadata), + 'XPay-P2P' => AdjustReadyToPayGeneric::from($data, $metadata), + 'XPay-QR' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Yandex-money' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Zimpler' => AdjustReadyToPayGeneric::from($data, $metadata), + 'Zotapay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-2' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-3' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-4' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-5' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-6' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-7' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-8' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bank-transfer-9' => AdjustReadyToPayGeneric::from($data, $metadata), + 'bitcoin' => AdjustReadyToPayGeneric::from($data, $metadata), + 'cash' => AdjustReadyToPayGeneric::from($data, $metadata), + 'cash-deposit' => AdjustReadyToPayGeneric::from($data, $metadata), + 'check' => AdjustReadyToPayGeneric::from($data, $metadata), + 'cryptocurrency' => AdjustReadyToPayGeneric::from($data, $metadata), + 'domestic-cards' => AdjustReadyToPayGeneric::from($data, $metadata), + 'ePay.bg' => AdjustReadyToPayGeneric::from($data, $metadata), + 'eZeeWallet' => AdjustReadyToPayGeneric::from($data, $metadata), + 'echeck' => AdjustReadyToPayGeneric::from($data, $metadata), + 'ecoPayz' => AdjustReadyToPayGeneric::from($data, $metadata), + 'ecoVoucher' => AdjustReadyToPayGeneric::from($data, $metadata), + 'iDEAL' => AdjustReadyToPayGeneric::from($data, $metadata), + 'iDebit' => AdjustReadyToPayGeneric::from($data, $metadata), + 'iWallet' => AdjustReadyToPayGeneric::from($data, $metadata), + 'instant-bank-transfer' => AdjustReadyToPayGeneric::from($data, $metadata), + 'invoice' => AdjustReadyToPayGeneric::from($data, $metadata), + 'jpay' => AdjustReadyToPayGeneric::from($data, $metadata), + 'loonie' => AdjustReadyToPayGeneric::from($data, $metadata), + 'miscellaneous' => AdjustReadyToPayGeneric::from($data, $metadata), + 'online-bank-transfer' => AdjustReadyToPayGeneric::from($data, $metadata), + 'oriental-wallet' => AdjustReadyToPayGeneric::from($data, $metadata), + 'phone' => AdjustReadyToPayGeneric::from($data, $metadata), + 'plaid-account' => AdjustReadyToPayGeneric::from($data, $metadata), + 'rapyd-checkout' => AdjustReadyToPayGeneric::from($data, $metadata), + 'swift-dbt' => AdjustReadyToPayGeneric::from($data, $metadata), + 'voucher' => AdjustReadyToPayGeneric::from($data, $metadata), + 'voucher-2' => AdjustReadyToPayGeneric::from($data, $metadata), + 'voucher-3' => AdjustReadyToPayGeneric::from($data, $metadata), + 'voucher-4' => AdjustReadyToPayGeneric::from($data, $metadata), + 'payment-card' => AdjustReadyToPayPaymentCard::from($data, $metadata), + 'paypal' => AdjustReadyToPayPaypal::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/AdjustReadyToPayAch.php b/src/Model/AdjustReadyToPayAch.php index 5a3511e4e..1f33fc4ae 100644 --- a/src/Model/AdjustReadyToPayAch.php +++ b/src/Model/AdjustReadyToPayAch.php @@ -14,22 +14,27 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AdjustReadyToPayAch implements AdjustPaymentMethod { + use HasMetadata; + public const FEATURE_PLAID = 'Plaid'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentMethod(): string diff --git a/src/Model/AdjustReadyToPayGeneric.php b/src/Model/AdjustReadyToPayGeneric.php index 50f6132a3..6ab7a02af 100644 --- a/src/Model/AdjustReadyToPayGeneric.php +++ b/src/Model/AdjustReadyToPayGeneric.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AdjustReadyToPayGeneric implements AdjustPaymentMethod { + use HasMetadata; + public const PAYMENT_METHOD_CASH = 'cash'; public const PAYMENT_METHOD_CHECK = 'check'; @@ -88,8 +92,6 @@ class AdjustReadyToPayGeneric implements AdjustPaymentMethod public const PAYMENT_METHOD_CUPON_DE_PAGOS = 'Cupon-de-pagos'; - public const PAYMENT_METHOD_CRYPTOCURRENCY = 'cryptocurrency'; - public const PAYMENT_METHOD_DOMESTIC_CARDS = 'domestic-cards'; public const PAYMENT_METHOD_DIRECTA24_CARD = 'Directa24Card'; @@ -296,6 +298,8 @@ class AdjustReadyToPayGeneric implements AdjustPaymentMethod public const PAYMENT_METHOD_VENUS_POINT = 'VenusPoint'; + public const PAYMENT_METHOD_VIVA = 'Viva'; + public const PAYMENT_METHOD_VOUCHER = 'voucher'; public const PAYMENT_METHOD_VOUCHER2 = 'voucher-2'; @@ -332,7 +336,7 @@ class AdjustReadyToPayGeneric implements AdjustPaymentMethod private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentMethod', $data)) { $this->setPaymentMethod($data['paymentMethod']); @@ -340,11 +344,12 @@ public function __construct(array $data = []) if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentMethod(): string diff --git a/src/Model/AdjustReadyToPayPaymentCard.php b/src/Model/AdjustReadyToPayPaymentCard.php index e83577488..2716ca342 100644 --- a/src/Model/AdjustReadyToPayPaymentCard.php +++ b/src/Model/AdjustReadyToPayPaymentCard.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AdjustReadyToPayPaymentCard implements AdjustPaymentMethod { + use HasMetadata; + public const FEATURE_APPLE_PAY = 'Apple Pay'; public const FEATURE_GOOGLE_PAY = 'Google Pay'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentMethod(): string diff --git a/src/Model/AdjustReadyToPayPaypal.php b/src/Model/AdjustReadyToPayPaypal.php index faded5fd4..fd9e94e16 100644 --- a/src/Model/AdjustReadyToPayPaypal.php +++ b/src/Model/AdjustReadyToPayPaypal.php @@ -14,22 +14,27 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AdjustReadyToPayPaypal implements AdjustPaymentMethod { + use HasMetadata; + public const FEATURE_PAY_PAL_BILLING_AGREEMENT = 'PayPal billing agreement'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentMethod(): string diff --git a/src/Model/AdjustReadyToPayoutGeneric.php b/src/Model/AdjustReadyToPayoutGeneric.php index 4c7818334..3853aa60a 100644 --- a/src/Model/AdjustReadyToPayoutGeneric.php +++ b/src/Model/AdjustReadyToPayoutGeneric.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AdjustReadyToPayoutGeneric implements AdjustReadyToPayoutPaymentMethod { + use HasMetadata; + public const PAYMENT_METHOD_CASH = 'cash'; public const PAYMENT_METHOD_CHECK = 'check'; @@ -88,8 +92,6 @@ class AdjustReadyToPayoutGeneric implements AdjustReadyToPayoutPaymentMethod public const PAYMENT_METHOD_CUPON_DE_PAGOS = 'Cupon-de-pagos'; - public const PAYMENT_METHOD_CRYPTOCURRENCY = 'cryptocurrency'; - public const PAYMENT_METHOD_DOMESTIC_CARDS = 'domestic-cards'; public const PAYMENT_METHOD_DIRECTA24_CARD = 'Directa24Card'; @@ -296,6 +298,8 @@ class AdjustReadyToPayoutGeneric implements AdjustReadyToPayoutPaymentMethod public const PAYMENT_METHOD_VENUS_POINT = 'VenusPoint'; + public const PAYMENT_METHOD_VIVA = 'Viva'; + public const PAYMENT_METHOD_VOUCHER = 'voucher'; public const PAYMENT_METHOD_VOUCHER2 = 'voucher-2'; @@ -332,16 +336,17 @@ class AdjustReadyToPayoutGeneric implements AdjustReadyToPayoutPaymentMethod private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentMethod', $data)) { $this->setPaymentMethod($data['paymentMethod']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentMethod(): string diff --git a/src/Model/AdjustReadyToPayoutPaymentMethodFactory.php b/src/Model/AdjustReadyToPayoutPaymentMethodFactory.php index ca892386c..afc792061 100644 --- a/src/Model/AdjustReadyToPayoutPaymentMethodFactory.php +++ b/src/Model/AdjustReadyToPayoutPaymentMethodFactory.php @@ -18,154 +18,154 @@ class AdjustReadyToPayoutPaymentMethodFactory { - public static function from(array $data = []): AdjustReadyToPayoutPaymentMethod + public static function from(array $data = [], array $metadata = []): AdjustReadyToPayoutPaymentMethod { return match ($data['paymentMethod']) { - 'AdvCash' => AdjustReadyToPayoutGeneric::from($data), - 'Alfa-click' => AdjustReadyToPayoutGeneric::from($data), - 'Alipay' => AdjustReadyToPayoutGeneric::from($data), - 'AstroPay Card' => AdjustReadyToPayoutGeneric::from($data), - 'AstroPay-GO' => AdjustReadyToPayoutGeneric::from($data), - 'Baloto' => AdjustReadyToPayoutGeneric::from($data), - 'Bancontact' => AdjustReadyToPayoutGeneric::from($data), - 'Bancontact-mobile' => AdjustReadyToPayoutGeneric::from($data), - 'BankReferenced' => AdjustReadyToPayoutGeneric::from($data), - 'Beeline' => AdjustReadyToPayoutGeneric::from($data), - 'Belfius-direct-net' => AdjustReadyToPayoutGeneric::from($data), - 'Bizum' => AdjustReadyToPayoutGeneric::from($data), - 'Boleto' => AdjustReadyToPayoutGeneric::from($data), - 'CASHlib' => AdjustReadyToPayoutGeneric::from($data), - 'CODVoucher' => AdjustReadyToPayoutGeneric::from($data), - 'CashToCode' => AdjustReadyToPayoutGeneric::from($data), - 'China UnionPay' => AdjustReadyToPayoutGeneric::from($data), - 'Cleo' => AdjustReadyToPayoutGeneric::from($data), - 'Conekta-oxxo' => AdjustReadyToPayoutGeneric::from($data), - 'Cupon-de-pagos' => AdjustReadyToPayoutGeneric::from($data), - 'EPS' => AdjustReadyToPayoutGeneric::from($data), - 'Efecty' => AdjustReadyToPayoutGeneric::from($data), - 'FasterPay' => AdjustReadyToPayoutGeneric::from($data), - 'Flexepin' => AdjustReadyToPayoutGeneric::from($data), - 'Giropay' => AdjustReadyToPayoutGeneric::from($data), - 'Google Pay' => AdjustReadyToPayoutGeneric::from($data), - 'Gpaysafe' => AdjustReadyToPayoutGeneric::from($data), - 'ING-homepay' => AdjustReadyToPayoutGeneric::from($data), - 'INOVAPAY-pin' => AdjustReadyToPayoutGeneric::from($data), - 'INOVAPAY-wallet' => AdjustReadyToPayoutGeneric::from($data), - 'InstaDebit' => AdjustReadyToPayoutGeneric::from($data), - 'InstantPayments' => AdjustReadyToPayoutGeneric::from($data), - 'Interac' => AdjustReadyToPayoutGeneric::from($data), - 'Interac-eTransfer' => AdjustReadyToPayoutGeneric::from($data), - 'Interac-online' => AdjustReadyToPayoutGeneric::from($data), - 'Jeton' => AdjustReadyToPayoutGeneric::from($data), - 'KNOT' => AdjustReadyToPayoutGeneric::from($data), - 'Khelocard' => AdjustReadyToPayoutGeneric::from($data), - 'Klarna' => AdjustReadyToPayoutGeneric::from($data), - 'MTS' => AdjustReadyToPayoutGeneric::from($data), - 'Matrix' => AdjustReadyToPayoutGeneric::from($data), - 'MaxiCash' => AdjustReadyToPayoutGeneric::from($data), - 'Megafon' => AdjustReadyToPayoutGeneric::from($data), - 'MiFinity-eWallet' => AdjustReadyToPayoutGeneric::from($data), - 'MuchBetter' => AdjustReadyToPayoutGeneric::from($data), - 'Multibanco' => AdjustReadyToPayoutGeneric::from($data), - 'Neosurf' => AdjustReadyToPayoutGeneric::from($data), - 'Netbanking' => AdjustReadyToPayoutGeneric::from($data), - 'Neteller' => AdjustReadyToPayoutGeneric::from($data), - 'Nordea-Solo' => AdjustReadyToPayoutGeneric::from($data), - 'OXXO' => AdjustReadyToPayoutGeneric::from($data), - 'OchaPay' => AdjustReadyToPayoutGeneric::from($data), - 'Onlineueberweisen' => AdjustReadyToPayoutGeneric::from($data), - 'P24' => AdjustReadyToPayoutGeneric::from($data), - 'POLi' => AdjustReadyToPayoutGeneric::from($data), - 'Pagadito' => AdjustReadyToPayoutGeneric::from($data), - 'PagoEffectivo' => AdjustReadyToPayoutGeneric::from($data), - 'Pagsmile-deposit-express' => AdjustReadyToPayoutGeneric::from($data), - 'Pagsmile-lottery' => AdjustReadyToPayoutGeneric::from($data), - 'Pay4Fun' => AdjustReadyToPayoutGeneric::from($data), - 'PayCash' => AdjustReadyToPayoutGeneric::from($data), - 'PayTabs' => AdjustReadyToPayoutGeneric::from($data), - 'Payeer' => AdjustReadyToPayoutGeneric::from($data), - 'PaymentAsia-crypto' => AdjustReadyToPayoutGeneric::from($data), - 'Paymero' => AdjustReadyToPayoutGeneric::from($data), - 'Paynote' => AdjustReadyToPayoutGeneric::from($data), - 'Paysafecard' => AdjustReadyToPayoutGeneric::from($data), - 'Paysafecash' => AdjustReadyToPayoutGeneric::from($data), - 'Perfect-money' => AdjustReadyToPayoutGeneric::from($data), - 'PhonePe' => AdjustReadyToPayoutGeneric::from($data), - 'Piastrix' => AdjustReadyToPayoutGeneric::from($data), - 'PinPay' => AdjustReadyToPayoutGeneric::from($data), - 'PostFinance-card' => AdjustReadyToPayoutGeneric::from($data), - 'PostFinance-e-finance' => AdjustReadyToPayoutGeneric::from($data), - 'QIWI' => AdjustReadyToPayoutGeneric::from($data), - 'QPay' => AdjustReadyToPayoutGeneric::from($data), - 'QQPay' => AdjustReadyToPayoutGeneric::from($data), - 'Resurs' => AdjustReadyToPayoutGeneric::from($data), - 'SEPA' => AdjustReadyToPayoutGeneric::from($data), - 'SMSVoucher' => AdjustReadyToPayoutGeneric::from($data), - 'SafetyPay' => AdjustReadyToPayoutGeneric::from($data), - 'Skrill' => AdjustReadyToPayoutGeneric::from($data), - 'Skrill Rapid Transfer' => AdjustReadyToPayoutGeneric::from($data), - 'Sofort' => AdjustReadyToPayoutGeneric::from($data), - 'SparkPay' => AdjustReadyToPayoutGeneric::from($data), - 'Tele2' => AdjustReadyToPayoutGeneric::from($data), - 'Terminaly-RF' => AdjustReadyToPayoutGeneric::from($data), - 'ToditoCash-card' => AdjustReadyToPayoutGeneric::from($data), - 'Trustly' => AdjustReadyToPayoutGeneric::from($data), - 'UPI' => AdjustReadyToPayoutGeneric::from($data), - 'UPayCard' => AdjustReadyToPayoutGeneric::from($data), - 'USD-coin' => AdjustReadyToPayoutGeneric::from($data), - 'VCreditos' => AdjustReadyToPayoutGeneric::from($data), - 'VenusPoint' => AdjustReadyToPayoutGeneric::from($data), - 'WeChat Pay' => AdjustReadyToPayoutGeneric::from($data), - 'Webmoney' => AdjustReadyToPayoutGeneric::from($data), - 'Webpay' => AdjustReadyToPayoutGeneric::from($data), - 'Webpay Card' => AdjustReadyToPayoutGeneric::from($data), - 'Webpay-2' => AdjustReadyToPayoutGeneric::from($data), - 'XPay-P2P' => AdjustReadyToPayoutGeneric::from($data), - 'XPay-QR' => AdjustReadyToPayoutGeneric::from($data), - 'Yandex-money' => AdjustReadyToPayoutGeneric::from($data), - 'Zimpler' => AdjustReadyToPayoutGeneric::from($data), - 'Zotapay' => AdjustReadyToPayoutGeneric::from($data), - 'ach' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-2' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-3' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-4' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-5' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-6' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-7' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-8' => AdjustReadyToPayoutGeneric::from($data), - 'bank-transfer-9' => AdjustReadyToPayoutGeneric::from($data), - 'bitcoin' => AdjustReadyToPayoutGeneric::from($data), - 'cash' => AdjustReadyToPayoutGeneric::from($data), - 'cash-deposit' => AdjustReadyToPayoutGeneric::from($data), - 'check' => AdjustReadyToPayoutGeneric::from($data), - 'cryptocurrency' => AdjustReadyToPayoutGeneric::from($data), - 'domestic-cards' => AdjustReadyToPayoutGeneric::from($data), - 'ePay.bg' => AdjustReadyToPayoutGeneric::from($data), - 'eZeeWallet' => AdjustReadyToPayoutGeneric::from($data), - 'echeck' => AdjustReadyToPayoutGeneric::from($data), - 'ecoPayz' => AdjustReadyToPayoutGeneric::from($data), - 'ecoVoucher' => AdjustReadyToPayoutGeneric::from($data), - 'iDEAL' => AdjustReadyToPayoutGeneric::from($data), - 'iDebit' => AdjustReadyToPayoutGeneric::from($data), - 'iWallet' => AdjustReadyToPayoutGeneric::from($data), - 'instant-bank-transfer' => AdjustReadyToPayoutGeneric::from($data), - 'invoice' => AdjustReadyToPayoutGeneric::from($data), - 'jpay' => AdjustReadyToPayoutGeneric::from($data), - 'loonie' => AdjustReadyToPayoutGeneric::from($data), - 'miscellaneous' => AdjustReadyToPayoutGeneric::from($data), - 'online-bank-transfer' => AdjustReadyToPayoutGeneric::from($data), - 'oriental-wallet' => AdjustReadyToPayoutGeneric::from($data), - 'payment-card' => AdjustReadyToPayoutGeneric::from($data), - 'paypal' => AdjustReadyToPayoutGeneric::from($data), - 'phone' => AdjustReadyToPayoutGeneric::from($data), - 'plaid-account' => AdjustReadyToPayoutGeneric::from($data), - 'rapyd-checkout' => AdjustReadyToPayoutGeneric::from($data), - 'swift-dbt' => AdjustReadyToPayoutGeneric::from($data), - 'voucher' => AdjustReadyToPayoutGeneric::from($data), - 'voucher-2' => AdjustReadyToPayoutGeneric::from($data), - 'voucher-3' => AdjustReadyToPayoutGeneric::from($data), - 'voucher-4' => AdjustReadyToPayoutGeneric::from($data), + 'AdvCash' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Alfa-click' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Alipay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'AstroPay Card' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'AstroPay-GO' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Baloto' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Bancontact' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Bancontact-mobile' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'BankReferenced' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Beeline' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Belfius-direct-net' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Bizum' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Boleto' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'CASHlib' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'CODVoucher' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'CashToCode' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'China UnionPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Cleo' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Conekta-oxxo' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Cupon-de-pagos' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'EPS' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Efecty' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'FasterPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Flexepin' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Giropay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Google Pay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Gpaysafe' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'ING-homepay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'INOVAPAY-pin' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'INOVAPAY-wallet' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'InstaDebit' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'InstantPayments' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Interac' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Interac-eTransfer' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Interac-online' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Jeton' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'KNOT' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Khelocard' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Klarna' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'MTS' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Matrix' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'MaxiCash' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Megafon' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'MiFinity-eWallet' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'MuchBetter' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Multibanco' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Neosurf' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Netbanking' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Neteller' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Nordea-Solo' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'OXXO' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'OchaPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Onlineueberweisen' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'P24' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'POLi' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Pagadito' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PagoEffectivo' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Pagsmile-deposit-express' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Pagsmile-lottery' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Pay4Fun' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PayCash' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PayTabs' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Payeer' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PaymentAsia-crypto' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Paymero' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Paynote' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Paysafecard' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Paysafecash' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Perfect-money' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PhonePe' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Piastrix' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PinPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PostFinance-card' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'PostFinance-e-finance' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'QIWI' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'QPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'QQPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Resurs' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'SEPA' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'SMSVoucher' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'SafetyPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Skrill' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Skrill Rapid Transfer' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Sofort' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'SparkPay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Tele2' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Terminaly-RF' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'ToditoCash-card' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Trustly' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'UPI' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'UPayCard' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'USD-coin' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'VCreditos' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'VenusPoint' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'WeChat Pay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Webmoney' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Webpay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Webpay Card' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Webpay-2' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'XPay-P2P' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'XPay-QR' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Yandex-money' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Zimpler' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'Zotapay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'ach' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-2' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-3' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-4' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-5' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-6' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-7' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-8' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bank-transfer-9' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'bitcoin' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'cash' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'cash-deposit' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'check' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'cryptocurrency' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'domestic-cards' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'ePay.bg' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'eZeeWallet' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'echeck' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'ecoPayz' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'ecoVoucher' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'iDEAL' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'iDebit' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'iWallet' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'instant-bank-transfer' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'invoice' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'jpay' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'loonie' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'miscellaneous' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'online-bank-transfer' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'oriental-wallet' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'payment-card' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'paypal' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'phone' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'plaid-account' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'rapyd-checkout' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'swift-dbt' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'voucher' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'voucher-2' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'voucher-3' => AdjustReadyToPayoutGeneric::from($data, $metadata), + 'voucher-4' => AdjustReadyToPayoutGeneric::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Adyen.php b/src/Model/Adyen.php index 284723550..f995fb6c9 100644 --- a/src/Model/Adyen.php +++ b/src/Model/Adyen.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Adyen extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Adyen', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AdyenCredentials diff --git a/src/Model/AdyenCredentials.php b/src/Model/AdyenCredentials.php index 73637cf2d..874a3c4db 100644 --- a/src/Model/AdyenCredentials.php +++ b/src/Model/AdyenCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AdyenCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantAccount', $data)) { $this->setMerchantAccount($data['merchantAccount']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('hmacKey', $data)) { $this->setHmacKey($data['hmacKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantAccount(): string diff --git a/src/Model/AdyenSettings.php b/src/Model/AdyenSettings.php index 2589e34d4..b9c2fede8 100644 --- a/src/Model/AdyenSettings.php +++ b/src/Model/AdyenSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AdyenSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('store', $data)) { $this->setStore($data['store']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('riskProfile', $data)) { $this->setRiskProfile($data['riskProfile']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStore(): ?string diff --git a/src/Model/AdyenSettingsSplitPayments.php b/src/Model/AdyenSettingsSplitPayments.php index 2841503d7..6e95943d9 100644 --- a/src/Model/AdyenSettingsSplitPayments.php +++ b/src/Model/AdyenSettingsSplitPayments.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AdyenSettingsSplitPayments implements JsonSerializable { + use HasMetadata; + public const TYPE_BALANCE_ACCOUNT = 'BalanceAccount'; public const TYPE_COMMISSION = 'Commission'; @@ -28,7 +31,7 @@ class AdyenSettingsSplitPayments implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('percentage', $data)) { $this->setPercentage($data['percentage']); @@ -48,11 +51,12 @@ public function __construct(array $data = []) if (array_key_exists('type', $data)) { $this->setType($data['type']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPercentage(): ?float diff --git a/src/Model/Aera.php b/src/Model/Aera.php index eb5077edc..ee8fad808 100644 --- a/src/Model/Aera.php +++ b/src/Model/Aera.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Aera extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Aera', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AeraCredentials diff --git a/src/Model/AeraCredentials.php b/src/Model/AeraCredentials.php index 9dec994c0..82a295054 100644 --- a/src/Model/AeraCredentials.php +++ b/src/Model/AeraCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AeraCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('ipnSecret', $data)) { $this->setIpnSecret($data['ipnSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/Aircash.php b/src/Model/Aircash.php index ac97b0c2e..c2b31d80c 100644 --- a/src/Model/Aircash.php +++ b/src/Model/Aircash.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Aircash extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Aircash', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AircashCredentials diff --git a/src/Model/AircashCredentials.php b/src/Model/AircashCredentials.php index 6cc822955..7449cb448 100644 --- a/src/Model/AircashCredentials.php +++ b/src/Model/AircashCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AircashCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('partnerId', $data)) { $this->setPartnerId($data['partnerId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKeyPassword', $data)) { $this->setPrivateKeyPassword($data['privateKeyPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPartnerId(): string diff --git a/src/Model/Airpay.php b/src/Model/Airpay.php index 6bdea5961..a0c551a0b 100644 --- a/src/Model/Airpay.php +++ b/src/Model/Airpay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Airpay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Airpay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AirpayCredentials diff --git a/src/Model/AirpayCredentials.php b/src/Model/AirpayCredentials.php index bd431dc29..80239e194 100644 --- a/src/Model/AirpayCredentials.php +++ b/src/Model/AirpayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AirpayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/Airwallex.php b/src/Model/Airwallex.php index d2bb5e105..5a9f4ba45 100644 --- a/src/Model/Airwallex.php +++ b/src/Model/Airwallex.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Airwallex extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Airwallex', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AirwallexCredentials diff --git a/src/Model/AirwallexCredentials.php b/src/Model/AirwallexCredentials.php index c3f8b2be5..60ebdbe1c 100644 --- a/src/Model/AirwallexCredentials.php +++ b/src/Model/AirwallexCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AirwallexCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/AirwallexSettings.php b/src/Model/AirwallexSettings.php index 22caa7382..97ca05a27 100644 --- a/src/Model/AirwallexSettings.php +++ b/src/Model/AirwallexSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AirwallexSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('deviceIdCustomField', $data)) { $this->setDeviceIdCustomField($data['deviceIdCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDeviceIdCustomField(): ?string diff --git a/src/Model/Allowlist.php b/src/Model/Allowlist.php index 97be5cb2c..c009a8b6d 100644 --- a/src/Model/Allowlist.php +++ b/src/Model/Allowlist.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Allowlist implements JsonSerializable { + use HasMetadata; + public const TYPE_ADDRESS = 'address'; public const TYPE_BANK_ACCOUNT = 'bank-account'; @@ -42,7 +45,7 @@ class Allowlist implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/AlternativeInstrument.php b/src/Model/AlternativeInstrument.php index ec8f42ed1..7850f5f7b 100644 --- a/src/Model/AlternativeInstrument.php +++ b/src/Model/AlternativeInstrument.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AlternativeInstrument implements PaymentInstrument, PostPaymentInstrumentRequest { + use HasMetadata; + public const METHOD_CASH = 'cash'; public const METHOD_CHECK = 'check'; @@ -303,6 +306,8 @@ class AlternativeInstrument implements PaymentInstrument, PostPaymentInstrumentR public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -343,7 +348,7 @@ class AlternativeInstrument implements PaymentInstrument, PostPaymentInstrumentR private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -393,11 +398,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/AlternativeInstrumentEmbedded.php b/src/Model/AlternativeInstrumentEmbedded.php index ad428257b..8bdfcbf18 100644 --- a/src/Model/AlternativeInstrumentEmbedded.php +++ b/src/Model/AlternativeInstrumentEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AlternativeInstrumentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/AlternativePaymentInstrument.php b/src/Model/AlternativePaymentInstrument.php index 220b7733f..6d9e0b796 100644 --- a/src/Model/AlternativePaymentInstrument.php +++ b/src/Model/AlternativePaymentInstrument.php @@ -14,17 +14,11 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AlternativePaymentInstrument implements CustomerDefaultPaymentInstrument, TransactionPaymentInstrument { - public const METHOD_PAYMENT_CARD = 'payment-card'; - - public const METHOD_ACH = 'ach'; - - public const METHOD_CASH = 'cash'; - - public const METHOD_CHECK = 'check'; - - public const METHOD_PAYPAL = 'paypal'; + use HasMetadata; public const METHOD_ADV_CASH = 'AdvCash'; @@ -374,6 +368,8 @@ class AlternativePaymentInstrument implements CustomerDefaultPaymentInstrument, public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -408,7 +404,7 @@ class AlternativePaymentInstrument implements CustomerDefaultPaymentInstrument, private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); @@ -419,11 +415,12 @@ public function __construct(array $data = []) if (array_key_exists('reference', $data)) { $this->setReference($data['reference']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/AlternativePaymentToken.php b/src/Model/AlternativePaymentToken.php index 881851aec..8140ec0de 100644 --- a/src/Model/AlternativePaymentToken.php +++ b/src/Model/AlternativePaymentToken.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AlternativePaymentToken implements CompositeToken { + use HasMetadata; + public const METHOD_CASH = 'cash'; public const METHOD_CHECK = 'check'; @@ -91,8 +94,6 @@ class AlternativePaymentToken implements CompositeToken public const METHOD_CUPON_DE_PAGOS = 'Cupon-de-pagos'; - public const METHOD_CRYPTOCURRENCY = 'cryptocurrency'; - public const METHOD_DOMESTIC_CARDS = 'domestic-cards'; public const METHOD_DIRECTA24_CARD = 'Directa24Card'; @@ -299,6 +300,8 @@ class AlternativePaymentToken implements CompositeToken public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -335,7 +338,7 @@ class AlternativePaymentToken implements CompositeToken private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); @@ -370,11 +373,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/AmazonPay.php b/src/Model/AmazonPay.php index 1784330e0..4561ddcb8 100644 --- a/src/Model/AmazonPay.php +++ b/src/Model/AmazonPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AmazonPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'AmazonPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AmazonPayCredentials diff --git a/src/Model/AmazonPayCredentials.php b/src/Model/AmazonPayCredentials.php index 2285da7bb..21e934948 100644 --- a/src/Model/AmazonPayCredentials.php +++ b/src/Model/AmazonPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmazonPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/AmexVPC.php b/src/Model/AmexVPC.php index 4363a21b6..9a0f39961 100644 --- a/src/Model/AmexVPC.php +++ b/src/Model/AmexVPC.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AmexVPC extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'AmexVPC', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AmexVPCCredentials diff --git a/src/Model/AmexVPCCredentials.php b/src/Model/AmexVPCCredentials.php index f99372a68..3fd772acd 100644 --- a/src/Model/AmexVPCCredentials.php +++ b/src/Model/AmexVPCCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmexVPCCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/AmexVPCSettings.php b/src/Model/AmexVPCSettings.php index 07a49a666..3a965724e 100644 --- a/src/Model/AmexVPCSettings.php +++ b/src/Model/AmexVPCSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmexVPCSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('url', $data)) { $this->setUrl($data['url']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUrl(): string diff --git a/src/Model/AmlCheck.php b/src/Model/AmlCheck.php index 972c2b235..a519a44c8 100644 --- a/src/Model/AmlCheck.php +++ b/src/Model/AmlCheck.php @@ -17,9 +17,16 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCheck implements JsonSerializable { + use HasMetadata; + + public const REVIEWER_TYPE_HUMAN = 'human'; + + public const REVIEWER_TYPE_BOT = 'bot'; + public const SOURCE_SIGN_UP = 'sign-up'; public const SOURCE_RECURRING = 'recurring'; @@ -36,9 +43,17 @@ class AmlCheck implements JsonSerializable public const STATUS_FALSE_POSITIVE = 'false-positive'; + public const NO_MATCH_REASON_NO_HITS_FOUND = 'no_hits_found'; + + public const NO_MATCH_REASON_MISMATCHED_HITS = 'mismatched_hits'; + + public const NO_MATCH_REASON_HITS_ARE_BELOW_RELEVANCE_SCORE_THRESHOLD = 'hits_are_below_relevance_score_threshold'; + + public const NO_MATCH_REASON_INTERNAL_SYSTEM_ERROR = 'internal_system_error'; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -55,6 +70,9 @@ public function __construct(array $data = []) if (array_key_exists('reviewerId', $data)) { $this->setReviewerId($data['reviewerId']); } + if (array_key_exists('reviewerType', $data)) { + $this->setReviewerType($data['reviewerType']); + } if (array_key_exists('reviewerName', $data)) { $this->setReviewerName($data['reviewerName']); } @@ -82,14 +100,21 @@ public function __construct(array $data = []) if (array_key_exists('tags', $data)) { $this->setTags($data['tags']); } + if (array_key_exists('provenance', $data)) { + $this->setProvenance($data['provenance']); + } + if (array_key_exists('noMatchReason', $data)) { + $this->setNoMatchReason($data['noMatchReason']); + } if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -138,6 +163,11 @@ public function setReviewerId(null|string $reviewerId): static return $this; } + public function getReviewerType(): ?string + { + return $this->fields['reviewerType'] ?? null; + } + public function getReviewerName(): ?string { return $this->fields['reviewerName'] ?? null; @@ -258,6 +288,27 @@ public function getTags(): ?array return $this->fields['tags'] ?? null; } + public function getProvenance(): ?AmlCheckProvenance + { + return $this->fields['provenance'] ?? null; + } + + public function setProvenance(null|AmlCheckProvenance|array $provenance): static + { + if ($provenance !== null && !($provenance instanceof AmlCheckProvenance)) { + $provenance = AmlCheckProvenance::from($provenance); + } + + $this->fields['provenance'] = $provenance; + + return $this; + } + + public function getNoMatchReason(): ?string + { + return $this->fields['noMatchReason'] ?? null; + } + /** * @return null|ResourceLink[] */ @@ -284,6 +335,9 @@ public function jsonSerialize(): array if (array_key_exists('reviewerId', $this->fields)) { $data['reviewerId'] = $this->fields['reviewerId']; } + if (array_key_exists('reviewerType', $this->fields)) { + $data['reviewerType'] = $this->fields['reviewerType']; + } if (array_key_exists('reviewerName', $this->fields)) { $data['reviewerName'] = $this->fields['reviewerName']; } @@ -321,6 +375,12 @@ public function jsonSerialize(): array ) : null; } + if (array_key_exists('provenance', $this->fields)) { + $data['provenance'] = $this->fields['provenance']?->jsonSerialize(); + } + if (array_key_exists('noMatchReason', $this->fields)) { + $data['noMatchReason'] = $this->fields['noMatchReason']; + } if (array_key_exists('_links', $this->fields)) { $data['_links'] = $this->fields['_links'] !== null ? array_map( @@ -355,6 +415,13 @@ private function setUpdatedTime(null|DateTimeImmutable|string $updatedTime): sta return $this; } + private function setReviewerType(null|string $reviewerType): static + { + $this->fields['reviewerType'] = $reviewerType; + + return $this; + } + private function setStatus(null|string $status): static { $this->fields['status'] = $status; @@ -377,6 +444,13 @@ private function setTags(null|array $tags): static return $this; } + private function setNoMatchReason(null|string $noMatchReason): static + { + $this->fields['noMatchReason'] = $noMatchReason; + + return $this; + } + /** * @param null|array[]|ResourceLink[] $links */ diff --git a/src/Model/AmlCheckCustomer.php b/src/Model/AmlCheckCustomer.php index 33678c190..ebf7a1a4d 100644 --- a/src/Model/AmlCheckCustomer.php +++ b/src/Model/AmlCheckCustomer.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCheckCustomer implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('organizationId', $data)) { $this->setOrganizationId($data['organizationId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/AmlCheckCustomerPrimaryAddress.php b/src/Model/AmlCheckCustomerPrimaryAddress.php index 0d3a52368..4089ccdac 100644 --- a/src/Model/AmlCheckCustomerPrimaryAddress.php +++ b/src/Model/AmlCheckCustomerPrimaryAddress.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCheckCustomerPrimaryAddress implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -50,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('postalCode', $data)) { $this->setPostalCode($data['postalCode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/AmlCheckProvenance.php b/src/Model/AmlCheckProvenance.php new file mode 100644 index 000000000..53e127a7a --- /dev/null +++ b/src/Model/AmlCheckProvenance.php @@ -0,0 +1,134 @@ +setInherited($data['inherited']); + } + if (array_key_exists('inheritedFromAmlCheckId', $data)) { + $this->setInheritedFromAmlCheckId($data['inheritedFromAmlCheckId']); + } + if (array_key_exists('scope', $data)) { + $this->setScope($data['scope']); + } + if (array_key_exists('reasons', $data)) { + $this->setReasons($data['reasons']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getInherited(): ?bool + { + return $this->fields['inherited'] ?? null; + } + + public function setInherited(null|bool $inherited): static + { + $this->fields['inherited'] = $inherited; + + return $this; + } + + public function getInheritedFromAmlCheckId(): ?string + { + return $this->fields['inheritedFromAmlCheckId'] ?? null; + } + + public function setInheritedFromAmlCheckId(null|string $inheritedFromAmlCheckId): static + { + $this->fields['inheritedFromAmlCheckId'] = $inheritedFromAmlCheckId; + + return $this; + } + + /** + * @return null|string[] + */ + public function getScope(): ?array + { + return $this->fields['scope'] ?? null; + } + + /** + * @param null|string[] $scope + */ + public function setScope(null|array $scope): static + { + $this->fields['scope'] = $scope; + + return $this; + } + + /** + * @return null|string[] + */ + public function getReasons(): ?array + { + return $this->fields['reasons'] ?? null; + } + + /** + * @param null|string[] $reasons + */ + public function setReasons(null|array $reasons): static + { + $this->fields['reasons'] = $reasons; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('inherited', $this->fields)) { + $data['inherited'] = $this->fields['inherited']; + } + if (array_key_exists('inheritedFromAmlCheckId', $this->fields)) { + $data['inheritedFromAmlCheckId'] = $this->fields['inheritedFromAmlCheckId']; + } + if (array_key_exists('scope', $this->fields)) { + $data['scope'] = $this->fields['scope']; + } + if (array_key_exists('reasons', $this->fields)) { + $data['reasons'] = $this->fields['reasons']; + } + + return $data; + } +} diff --git a/src/Model/AmlCheckReview.php b/src/Model/AmlCheckReview.php index 72b56ec82..1843f1af6 100644 --- a/src/Model/AmlCheckReview.php +++ b/src/Model/AmlCheckReview.php @@ -15,25 +15,29 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCheckReview implements JsonSerializable { + use HasMetadata; + public const STATUS_CONFIRMED_MATCH = 'confirmed-match'; public const STATUS_FALSE_POSITIVE = 'false-positive'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string diff --git a/src/Model/AmlChecksDataExport.php b/src/Model/AmlChecksDataExport.php index f17166b20..6e144abca 100644 --- a/src/Model/AmlChecksDataExport.php +++ b/src/Model/AmlChecksDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AmlChecksDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class AmlChecksDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?AmlChecksDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|AmlChecksDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof AmlChecksDataExportDateRange)) { + $dateRange = AmlChecksDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/AmlChecksDataExportDateRange.php b/src/Model/AmlChecksDataExportDateRange.php new file mode 100644 index 000000000..ed87316c3 --- /dev/null +++ b/src/Model/AmlChecksDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/AmlChecksDataExportEmbedded.php b/src/Model/AmlChecksDataExportEmbedded.php index 7e8b04054..a363fe746 100644 --- a/src/Model/AmlChecksDataExportEmbedded.php +++ b/src/Model/AmlChecksDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlChecksDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/AmlCompoundConfidence.php b/src/Model/AmlCompoundConfidence.php index a4c730e17..04114a7ab 100644 --- a/src/Model/AmlCompoundConfidence.php +++ b/src/Model/AmlCompoundConfidence.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCompoundConfidence implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('addressMatch', $data)) { $this->setAddressMatch($data['addressMatch']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('noAddress', $data)) { $this->setNoAddress($data['noAddress']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAddressMatch(): ?AmlCompoundConfidenceAddressMatch diff --git a/src/Model/AmlCompoundConfidenceAddressMatch.php b/src/Model/AmlCompoundConfidenceAddressMatch.php index e4553da19..d0a873bb0 100644 --- a/src/Model/AmlCompoundConfidenceAddressMatch.php +++ b/src/Model/AmlCompoundConfidenceAddressMatch.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCompoundConfidenceAddressMatch implements JsonSerializable { + use HasMetadata; + public const MATCHING_COUNTRY_WEAK = 'weak'; public const MATCHING_COUNTRY_MEDIUM = 'medium'; @@ -44,7 +47,7 @@ class AmlCompoundConfidenceAddressMatch implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('matchingCountry', $data)) { $this->setMatchingCountry($data['matchingCountry']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('noCountry', $data)) { $this->setNoCountry($data['noCountry']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMatchingCountry(): ?string diff --git a/src/Model/AmlCompoundConfidenceAddressMismatch.php b/src/Model/AmlCompoundConfidenceAddressMismatch.php index 97ef5da80..0fd51f71b 100644 --- a/src/Model/AmlCompoundConfidenceAddressMismatch.php +++ b/src/Model/AmlCompoundConfidenceAddressMismatch.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCompoundConfidenceAddressMismatch implements JsonSerializable { + use HasMetadata; + public const MATCHING_COUNTRY_WEAK = 'weak'; public const MATCHING_COUNTRY_MEDIUM = 'medium'; @@ -44,7 +47,7 @@ class AmlCompoundConfidenceAddressMismatch implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('matchingCountry', $data)) { $this->setMatchingCountry($data['matchingCountry']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('noCountry', $data)) { $this->setNoCountry($data['noCountry']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMatchingCountry(): ?string diff --git a/src/Model/AmlCompoundConfidenceNoAddress.php b/src/Model/AmlCompoundConfidenceNoAddress.php index 58c7ce64a..4497ebc28 100644 --- a/src/Model/AmlCompoundConfidenceNoAddress.php +++ b/src/Model/AmlCompoundConfidenceNoAddress.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlCompoundConfidenceNoAddress implements JsonSerializable { + use HasMetadata; + public const MATCHING_COUNTRY_WEAK = 'weak'; public const MATCHING_COUNTRY_MEDIUM = 'medium'; @@ -44,7 +47,7 @@ class AmlCompoundConfidenceNoAddress implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('matchingCountry', $data)) { $this->setMatchingCountry($data['matchingCountry']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('noCountry', $data)) { $this->setNoCountry($data['noCountry']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMatchingCountry(): ?string diff --git a/src/Model/AmlSettings.php b/src/Model/AmlSettings.php index aed5928b5..2f9102da2 100644 --- a/src/Model/AmlSettings.php +++ b/src/Model/AmlSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('confidence', $data)) { $this->setConfidence($data['confidence']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('priority', $data)) { $this->setPriority($data['priority']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getConfidence(): ?AmlSettingsConfidence diff --git a/src/Model/AmlSettingsConfidence.php b/src/Model/AmlSettingsConfidence.php index 93f7a673a..927839d15 100644 --- a/src/Model/AmlSettingsConfidence.php +++ b/src/Model/AmlSettingsConfidence.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsConfidence implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('dob', $data)) { $this->setDob($data['dob']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('inexactYob', $data)) { $this->setInexactYob($data['inexactYob']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDob(): ?AmlSettingsConfidenceDob diff --git a/src/Model/AmlSettingsConfidenceDob.php b/src/Model/AmlSettingsConfidenceDob.php index 84a3f68a2..5c58bbd15 100644 --- a/src/Model/AmlSettingsConfidenceDob.php +++ b/src/Model/AmlSettingsConfidenceDob.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsConfidenceDob implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('exactMatch', $data)) { $this->setExactMatch($data['exactMatch']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('inexactMatch', $data)) { $this->setInexactMatch($data['inexactMatch']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExactMatch(): ?AmlCompoundConfidence diff --git a/src/Model/AmlSettingsConfidenceInexactYob.php b/src/Model/AmlSettingsConfidenceInexactYob.php index 27e3c21d5..8cf8b697e 100644 --- a/src/Model/AmlSettingsConfidenceInexactYob.php +++ b/src/Model/AmlSettingsConfidenceInexactYob.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsConfidenceInexactYob implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('exactMatch', $data)) { $this->setExactMatch($data['exactMatch']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('inexactMatch', $data)) { $this->setInexactMatch($data['inexactMatch']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExactMatch(): ?AmlCompoundConfidence diff --git a/src/Model/AmlSettingsConfidenceNoDob.php b/src/Model/AmlSettingsConfidenceNoDob.php index 74bebfe7a..1f21e0d7b 100644 --- a/src/Model/AmlSettingsConfidenceNoDob.php +++ b/src/Model/AmlSettingsConfidenceNoDob.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsConfidenceNoDob implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('exactMatch', $data)) { $this->setExactMatch($data['exactMatch']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('weakMatch', $data)) { $this->setWeakMatch($data['weakMatch']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExactMatch(): ?AmlCompoundConfidence diff --git a/src/Model/AmlSettingsConfidenceYob.php b/src/Model/AmlSettingsConfidenceYob.php index 1a586cf36..7d01f5722 100644 --- a/src/Model/AmlSettingsConfidenceYob.php +++ b/src/Model/AmlSettingsConfidenceYob.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsConfidenceYob implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('exactMatch', $data)) { $this->setExactMatch($data['exactMatch']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('inexactMatch', $data)) { $this->setInexactMatch($data['inexactMatch']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExactMatch(): ?AmlCompoundConfidence diff --git a/src/Model/AmlSettingsPriority.php b/src/Model/AmlSettingsPriority.php index 9f08081e8..5e1838281 100644 --- a/src/Model/AmlSettingsPriority.php +++ b/src/Model/AmlSettingsPriority.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsPriority implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('pep', $data)) { $this->setPep($data['pep']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('adverseMedia', $data)) { $this->setAdverseMedia($data['adverseMedia']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPep(): ?AmlSettingsPriorityPep diff --git a/src/Model/AmlSettingsPriorityAdverseMedia.php b/src/Model/AmlSettingsPriorityAdverseMedia.php index b1179f468..fb0869101 100644 --- a/src/Model/AmlSettingsPriorityAdverseMedia.php +++ b/src/Model/AmlSettingsPriorityAdverseMedia.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsPriorityAdverseMedia implements JsonSerializable { + use HasMetadata; + public const VERY_STRONG_P0 = 'p0'; public const VERY_STRONG_P1 = 'p1'; @@ -52,7 +55,7 @@ class AmlSettingsPriorityAdverseMedia implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('veryStrong', $data)) { $this->setVeryStrong($data['veryStrong']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('weak', $data)) { $this->setWeak($data['weak']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVeryStrong(): ?string diff --git a/src/Model/AmlSettingsPriorityEnforcements.php b/src/Model/AmlSettingsPriorityEnforcements.php index 49fc673e7..9638642a0 100644 --- a/src/Model/AmlSettingsPriorityEnforcements.php +++ b/src/Model/AmlSettingsPriorityEnforcements.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsPriorityEnforcements implements JsonSerializable { + use HasMetadata; + public const VERY_STRONG_P0 = 'p0'; public const VERY_STRONG_P1 = 'p1'; @@ -52,7 +55,7 @@ class AmlSettingsPriorityEnforcements implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('veryStrong', $data)) { $this->setVeryStrong($data['veryStrong']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('weak', $data)) { $this->setWeak($data['weak']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVeryStrong(): ?string diff --git a/src/Model/AmlSettingsPriorityPep.php b/src/Model/AmlSettingsPriorityPep.php index 82bd3bae3..2b12f9c5c 100644 --- a/src/Model/AmlSettingsPriorityPep.php +++ b/src/Model/AmlSettingsPriorityPep.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsPriorityPep implements JsonSerializable { + use HasMetadata; + public const VERY_STRONG_P0 = 'p0'; public const VERY_STRONG_P1 = 'p1'; @@ -52,7 +55,7 @@ class AmlSettingsPriorityPep implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('veryStrong', $data)) { $this->setVeryStrong($data['veryStrong']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('weak', $data)) { $this->setWeak($data['weak']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVeryStrong(): ?string diff --git a/src/Model/AmlSettingsPrioritySanctions.php b/src/Model/AmlSettingsPrioritySanctions.php index fd5eb78a6..e491290b9 100644 --- a/src/Model/AmlSettingsPrioritySanctions.php +++ b/src/Model/AmlSettingsPrioritySanctions.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsPrioritySanctions implements JsonSerializable { + use HasMetadata; + public const VERY_STRONG_P0 = 'p0'; public const VERY_STRONG_P1 = 'p1'; @@ -52,7 +55,7 @@ class AmlSettingsPrioritySanctions implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('veryStrong', $data)) { $this->setVeryStrong($data['veryStrong']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('weak', $data)) { $this->setWeak($data['weak']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVeryStrong(): ?string diff --git a/src/Model/AmlSettingsPriorityStateOwnedEnterprise.php b/src/Model/AmlSettingsPriorityStateOwnedEnterprise.php index 3f8cdb899..e2102c4bc 100644 --- a/src/Model/AmlSettingsPriorityStateOwnedEnterprise.php +++ b/src/Model/AmlSettingsPriorityStateOwnedEnterprise.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AmlSettingsPriorityStateOwnedEnterprise implements JsonSerializable { + use HasMetadata; + public const VERY_STRONG_P0 = 'p0'; public const VERY_STRONG_P1 = 'p1'; @@ -52,7 +55,7 @@ class AmlSettingsPriorityStateOwnedEnterprise implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('veryStrong', $data)) { $this->setVeryStrong($data['veryStrong']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('weak', $data)) { $this->setWeak($data['weak']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVeryStrong(): ?string diff --git a/src/Model/AmountAdjustmentInstructionNone.php b/src/Model/AmountAdjustmentInstructionNone.php index 092a74256..f3b9a9d4d 100644 --- a/src/Model/AmountAdjustmentInstructionNone.php +++ b/src/Model/AmountAdjustmentInstructionNone.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AmountAdjustmentInstructionNone implements InvoiceRetryAmountAdjustmentInstruction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/AmountAdjustmentInstructionPartial.php b/src/Model/AmountAdjustmentInstructionPartial.php index b6d48744c..13ea312ab 100644 --- a/src/Model/AmountAdjustmentInstructionPartial.php +++ b/src/Model/AmountAdjustmentInstructionPartial.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AmountAdjustmentInstructionPartial implements InvoiceRetryAmountAdjustmentInstruction { + use HasMetadata; + public const TYPE_PERCENT = 'percent'; public const TYPE_FIXED = 'fixed'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('value', $data)) { $this->setValue($data['value']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('afterApprovalPolicy', $data)) { $this->setAfterApprovalPolicy($data['afterApprovalPolicy']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/AmountAdjustmentInstructionPartialAfterApprovalPolicyFactory.php b/src/Model/AmountAdjustmentInstructionPartialAfterApprovalPolicyFactory.php index 146d1396e..3d32adcc5 100644 --- a/src/Model/AmountAdjustmentInstructionPartialAfterApprovalPolicyFactory.php +++ b/src/Model/AmountAdjustmentInstructionPartialAfterApprovalPolicyFactory.php @@ -18,11 +18,11 @@ class AmountAdjustmentInstructionPartialAfterApprovalPolicyFactory { - public static function from(array $data = []): AmountAdjustmentInstructionPartialAfterApprovalPolicy + public static function from(array $data = [], array $metadata = []): AmountAdjustmentInstructionPartialAfterApprovalPolicy { return match ($data['method']) { - 'discount-amount-remaining' => AmountAdjustmentPoliciesDiscountAmountRemaining::from($data), - 'none' => AmountAdjustmentPoliciesNone::from($data), + 'discount-amount-remaining' => AmountAdjustmentPoliciesDiscountAmountRemaining::from($data, $metadata), + 'none' => AmountAdjustmentPoliciesNone::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/AmountAdjustmentPoliciesDiscountAmountRemaining.php b/src/Model/AmountAdjustmentPoliciesDiscountAmountRemaining.php index be60bc948..cf7f1e2ac 100644 --- a/src/Model/AmountAdjustmentPoliciesDiscountAmountRemaining.php +++ b/src/Model/AmountAdjustmentPoliciesDiscountAmountRemaining.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AmountAdjustmentPoliciesDiscountAmountRemaining implements AmountAdjustmentInstructionPartialAfterApprovalPolicy { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/AmountAdjustmentPoliciesNone.php b/src/Model/AmountAdjustmentPoliciesNone.php index cf12055a6..0de1c409b 100644 --- a/src/Model/AmountAdjustmentPoliciesNone.php +++ b/src/Model/AmountAdjustmentPoliciesNone.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AmountAdjustmentPoliciesNone implements AmountAdjustmentInstructionPartialAfterApprovalPolicy { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/Antom.php b/src/Model/Antom.php index 87d9cafee..4dd2973a4 100644 --- a/src/Model/Antom.php +++ b/src/Model/Antom.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Antom extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Antom', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AntomCredentials diff --git a/src/Model/AntomCredentials.php b/src/Model/AntomCredentials.php index 5fc54a48f..0bf98e857 100644 --- a/src/Model/AntomCredentials.php +++ b/src/Model/AntomCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AntomCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/ApcoPay.php b/src/Model/ApcoPay.php index f2a7af5e4..e588984c2 100644 --- a/src/Model/ApcoPay.php +++ b/src/Model/ApcoPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ApcoPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ApcoPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ApcoPayCredentials diff --git a/src/Model/ApcoPayCredentials.php b/src/Model/ApcoPayCredentials.php index 00048939f..79f1246dd 100644 --- a/src/Model/ApcoPayCredentials.php +++ b/src/Model/ApcoPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApcoPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('profileID', $data)) { $this->setProfileID($data['profileID']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('MerchantPassword', $data)) { $this->setMerchantPassword($data['MerchantPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProfileID(): string diff --git a/src/Model/ApcoPaySettings.php b/src/Model/ApcoPaySettings.php index 06e309ddd..f0d62202a 100644 --- a/src/Model/ApcoPaySettings.php +++ b/src/Model/ApcoPaySettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApcoPaySettings implements JsonSerializable { + use HasMetadata; + public const METHOD_AFTERPAY = 'AFTERPAY'; public const METHOD_BANCONTACT = 'BANCONTACT'; @@ -42,16 +45,17 @@ class ApcoPaySettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/ApiKey.php b/src/Model/ApiKey.php index aa8d35255..3b1ea85e5 100644 --- a/src/Model/ApiKey.php +++ b/src/Model/ApiKey.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiKey implements JsonSerializable { + use HasMetadata; + public const TYPE_SECRET = 'secret'; public const TYPE_PUBLISHABLE = 'publishable'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ApiKeyScope.php b/src/Model/ApiKeyScope.php index ebe18ba46..6cbdcf1d5 100644 --- a/src/Model/ApiKeyScope.php +++ b/src/Model/ApiKeyScope.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiKeyScope implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('organizationId', $data)) { $this->setOrganizationId($data['organizationId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('customFieldName', $data)) { $this->setCustomFieldName($data['customFieldName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ApiLogSummary.php b/src/Model/ApiLogSummary.php index b3fbe9177..be8254ff7 100644 --- a/src/Model/ApiLogSummary.php +++ b/src/Model/ApiLogSummary.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiLogSummary implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ApiLogSummaryData.php b/src/Model/ApiLogSummaryData.php index 5461faa70..55822afe9 100644 --- a/src/Model/ApiLogSummaryData.php +++ b/src/Model/ApiLogSummaryData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiLogSummaryData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('route', $data)) { $this->setRoute($data['route']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('options', $data)) { $this->setOptions($data['options']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRoute(): ?string diff --git a/src/Model/ApiTracking.php b/src/Model/ApiTracking.php index 67a340f4e..c03aac612 100644 --- a/src/Model/ApiTracking.php +++ b/src/Model/ApiTracking.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiTracking implements JsonSerializable { + use HasMetadata; + public const METHOD_HEAD = 'HEAD'; public const METHOD_GET = 'GET'; @@ -34,7 +37,7 @@ class ApiTracking implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ApiTrackingEmbedded.php b/src/Model/ApiTrackingEmbedded.php index d807b3238..00a470f19 100644 --- a/src/Model/ApiTrackingEmbedded.php +++ b/src/Model/ApiTrackingEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiTrackingEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('organization', $data)) { $this->setOrganization($data['organization']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOrganization(): ?Organization diff --git a/src/Model/ApiTrackingUser.php b/src/Model/ApiTrackingUser.php index 443f87285..dd6dcb8b7 100644 --- a/src/Model/ApiTrackingUser.php +++ b/src/Model/ApiTrackingUser.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApiTrackingUser implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('userId', $data)) { $this->setUserId($data['userId']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('isSupport', $data)) { $this->setIsSupport($data['isSupport']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUserId(): ?string diff --git a/src/Model/ApplePayFeature.php b/src/Model/ApplePayFeature.php index e76845b28..fc5c0fd44 100644 --- a/src/Model/ApplePayFeature.php +++ b/src/Model/ApplePayFeature.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ApplePayFeature implements PaymentCardFeature { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('displayName', $data)) { $this->setDisplayName($data['displayName']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('country', $data)) { $this->setCountry($data['country']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/ApplePayValidation.php b/src/Model/ApplePayValidation.php index 252ac2f41..22fdf07b2 100644 --- a/src/Model/ApplePayValidation.php +++ b/src/Model/ApplePayValidation.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ApplePayValidation extends DigitalWalletValidation { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'type' => 'Apple Pay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('validationRequest', $data)) { $this->setValidationRequest($data['validationRequest']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('validationResponse', $data)) { $this->setValidationResponse($data['validationResponse']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getValidationRequest(): ApplePayValidationValidationRequest diff --git a/src/Model/ApplePayValidationValidationRequest.php b/src/Model/ApplePayValidationValidationRequest.php index 1f34c7141..021abdcae 100644 --- a/src/Model/ApplePayValidationValidationRequest.php +++ b/src/Model/ApplePayValidationValidationRequest.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApplePayValidationValidationRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('validationUrl', $data)) { $this->setValidationUrl($data['validationUrl']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('displayName', $data)) { $this->setDisplayName($data['displayName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getValidationUrl(): ?string diff --git a/src/Model/Application.php b/src/Model/Application.php index 1a29fb871..4b0d05883 100644 --- a/src/Model/Application.php +++ b/src/Model/Application.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Application implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING_APPROVAL = 'pending-approval'; public const STATUS_AVAILABLE = 'available'; @@ -84,7 +87,7 @@ class Application implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -131,11 +134,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ApplicationInstance.php b/src/Model/ApplicationInstance.php index 9aafc220c..8397006e0 100644 --- a/src/Model/ApplicationInstance.php +++ b/src/Model/ApplicationInstance.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApplicationInstance implements JsonSerializable { + use HasMetadata; + public const STATUS_ENABLING = 'enabling'; public const STATUS_ENABLED = 'enabled'; @@ -30,7 +33,7 @@ class ApplicationInstance implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -50,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string diff --git a/src/Model/ApplicationInstanceConfiguration.php b/src/Model/ApplicationInstanceConfiguration.php index 3a0d173c7..d1ae9da7d 100644 --- a/src/Model/ApplicationInstanceConfiguration.php +++ b/src/Model/ApplicationInstanceConfiguration.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ApplicationInstanceConfiguration implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ArrayCustomField.php b/src/Model/ArrayCustomField.php index 252c6bd7d..ddf84c50e 100644 --- a/src/Model/ArrayCustomField.php +++ b/src/Model/ArrayCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ArrayCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/ArrayCustomFieldAdditionalSchema.php b/src/Model/ArrayCustomFieldAdditionalSchema.php index 11f45df54..a92193953 100644 --- a/src/Model/ArrayCustomFieldAdditionalSchema.php +++ b/src/Model/ArrayCustomFieldAdditionalSchema.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ArrayCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('allowedValues', $data)) { $this->setAllowedValues($data['allowedValues']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/AsiaPay.php b/src/Model/AsiaPay.php index 6324b1c1b..e3ed41a91 100644 --- a/src/Model/AsiaPay.php +++ b/src/Model/AsiaPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AsiaPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'AsiaPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AsiaPayCredentials diff --git a/src/Model/AsiaPayCredentials.php b/src/Model/AsiaPayCredentials.php index c6cb8f799..75ee041b7 100644 --- a/src/Model/AsiaPayCredentials.php +++ b/src/Model/AsiaPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AsiaPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/AsiaPaySettings.php b/src/Model/AsiaPaySettings.php index da5435ab9..a7ffe428a 100644 --- a/src/Model/AsiaPaySettings.php +++ b/src/Model/AsiaPaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AsiaPaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('baseUrl', $data)) { $this->setBaseUrl($data['baseUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBaseUrl(): string diff --git a/src/Model/AsiaPaymentGateway.php b/src/Model/AsiaPaymentGateway.php index 91c5479a0..f9c51821f 100644 --- a/src/Model/AsiaPaymentGateway.php +++ b/src/Model/AsiaPaymentGateway.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AsiaPaymentGateway extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'AsiaPaymentGateway', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AsiaPaymentGatewayCredentials diff --git a/src/Model/AsiaPaymentGatewayCredentials.php b/src/Model/AsiaPaymentGatewayCredentials.php index 15a91bdbc..e97241966 100644 --- a/src/Model/AsiaPaymentGatewayCredentials.php +++ b/src/Model/AsiaPaymentGatewayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AsiaPaymentGatewayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantNumber', $data)) { $this->setMerchantNumber($data['merchantNumber']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantNumber(): string diff --git a/src/Model/AsiaPaymentGatewaySettings.php b/src/Model/AsiaPaymentGatewaySettings.php index bea00404d..5e3682267 100644 --- a/src/Model/AsiaPaymentGatewaySettings.php +++ b/src/Model/AsiaPaymentGatewaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AsiaPaymentGatewaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('use3DSEndpoint', $data)) { $this->setUse3DSEndpoint($data['use3DSEndpoint']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUse3DSEndpoint(): ?bool diff --git a/src/Model/AstroPayCard.php b/src/Model/AstroPayCard.php index 988048af7..ff451a06c 100644 --- a/src/Model/AstroPayCard.php +++ b/src/Model/AstroPayCard.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AstroPayCard extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'AstroPayCard', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AstroPayCardCredentials diff --git a/src/Model/AstroPayCardCredentials.php b/src/Model/AstroPayCardCredentials.php index 535afc449..3c95d34d4 100644 --- a/src/Model/AstroPayCardCredentials.php +++ b/src/Model/AstroPayCardCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AstroPayCardCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('x_login', $data)) { $this->setXLogin($data['x_login']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('api_key', $data)) { $this->setApiKey($data['api_key']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getXLogin(): string diff --git a/src/Model/AstroPayCardSettings.php b/src/Model/AstroPayCardSettings.php index cb3fd324e..0cb497320 100644 --- a/src/Model/AstroPayCardSettings.php +++ b/src/Model/AstroPayCardSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AstroPayCardSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('oneTouchApi', $data)) { $this->setOneTouchApi($data['oneTouchApi']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantLogoUrl', $data)) { $this->setMerchantLogoUrl($data['merchantLogoUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOneTouchApi(): ?bool diff --git a/src/Model/Attachment.php b/src/Model/Attachment.php index e90823a71..b1f78611b 100644 --- a/src/Model/Attachment.php +++ b/src/Model/Attachment.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Attachment implements JsonSerializable { + use HasMetadata; + public const RELATED_TYPE_CUSTOMER = 'customer'; public const RELATED_TYPE_CUSTOMER_TIMELINE_COMMENT = 'customer-timeline-comment'; @@ -52,7 +55,7 @@ class Attachment implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -84,11 +87,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/AttachmentEmbedded.php b/src/Model/AttachmentEmbedded.php index f959e4bc7..d86df5a32 100644 --- a/src/Model/AttachmentEmbedded.php +++ b/src/Model/AttachmentEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AttachmentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/AuthenticationOptions.php b/src/Model/AuthenticationOptions.php index 5caa9a1fc..23ec30bfa 100644 --- a/src/Model/AuthenticationOptions.php +++ b/src/Model/AuthenticationOptions.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AuthenticationOptions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('passwordPattern', $data)) { $this->setPasswordPattern($data['passwordPattern']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPasswordPattern(): ?string diff --git a/src/Model/AuthenticationTokenFactory.php b/src/Model/AuthenticationTokenFactory.php index 720263b70..fc0ec4e9d 100644 --- a/src/Model/AuthenticationTokenFactory.php +++ b/src/Model/AuthenticationTokenFactory.php @@ -18,11 +18,11 @@ class AuthenticationTokenFactory { - public static function from(array $data = []): AuthenticationToken + public static function from(array $data = [], array $metadata = []): AuthenticationToken { return match ($data['mode']) { - 'passwordless' => AuthenticationTokenPasswordlessMode::from($data), - 'password' => AuthenticationTokenPasswordMode::from($data), + 'passwordless' => AuthenticationTokenPasswordlessMode::from($data, $metadata), + 'password' => AuthenticationTokenPasswordMode::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/AuthenticationTokenPasswordMode.php b/src/Model/AuthenticationTokenPasswordMode.php index 94c513bde..be7946449 100644 --- a/src/Model/AuthenticationTokenPasswordMode.php +++ b/src/Model/AuthenticationTokenPasswordMode.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AuthenticationTokenPasswordMode implements AuthenticationToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMode(): string diff --git a/src/Model/AuthenticationTokenPasswordlessMode.php b/src/Model/AuthenticationTokenPasswordlessMode.php index 2e2400a80..fe3f4ca2e 100644 --- a/src/Model/AuthenticationTokenPasswordlessMode.php +++ b/src/Model/AuthenticationTokenPasswordlessMode.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AuthenticationTokenPasswordlessMode implements AuthenticationToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerId', $data)) { $this->setCustomerId($data['customerId']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMode(): string diff --git a/src/Model/AuthenticationTokenResponse.php b/src/Model/AuthenticationTokenResponse.php index 9ee6b0cb5..ca66fcba6 100644 --- a/src/Model/AuthenticationTokenResponse.php +++ b/src/Model/AuthenticationTokenResponse.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AuthenticationTokenResponse implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -45,11 +48,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/AuthorizeNet.php b/src/Model/AuthorizeNet.php index c68af9e93..ec9033f4b 100644 --- a/src/Model/AuthorizeNet.php +++ b/src/Model/AuthorizeNet.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class AuthorizeNet extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'AuthorizeNet', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AuthorizeNetCredentials diff --git a/src/Model/AuthorizeNetCredentials.php b/src/Model/AuthorizeNetCredentials.php index d05a3703b..139cc3538 100644 --- a/src/Model/AuthorizeNetCredentials.php +++ b/src/Model/AuthorizeNetCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AuthorizeNetCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiLoginId', $data)) { $this->setApiLoginId($data['apiLoginId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('transactionKey', $data)) { $this->setTransactionKey($data['transactionKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiLoginId(): string diff --git a/src/Model/AvalaraCredential.php b/src/Model/AvalaraCredential.php index 99a8ea8dc..4c12b821b 100644 --- a/src/Model/AvalaraCredential.php +++ b/src/Model/AvalaraCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class AvalaraCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class AvalaraCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -50,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Awepay.php b/src/Model/Awepay.php index bbcb93e49..355781f76 100644 --- a/src/Model/Awepay.php +++ b/src/Model/Awepay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Awepay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Awepay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): AwepayCredentials diff --git a/src/Model/AwepayCredentials.php b/src/Model/AwepayCredentials.php index 93415ed62..ac1f07e8e 100644 --- a/src/Model/AwepayCredentials.php +++ b/src/Model/AwepayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AwepayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sid', $data)) { $this->setSid($data['sid']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSid(): string diff --git a/src/Model/AwepaySettings.php b/src/Model/AwepaySettings.php index 238c593d5..775a08cc9 100644 --- a/src/Model/AwepaySettings.php +++ b/src/Model/AwepaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class AwepaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useP2pRest', $data)) { $this->setUseP2pRest($data['useP2pRest']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseP2pRest(): ?bool diff --git a/src/Model/BBANInstrument.php b/src/Model/BBANInstrument.php index aec3dcaeb..c27e3811b 100644 --- a/src/Model/BBANInstrument.php +++ b/src/Model/BBANInstrument.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BBANInstrument implements BankAccountInstrument { + use HasMetadata; + public const ACCOUNT_TYPE_CHECKING = 'checking'; public const ACCOUNT_TYPE_SAVINGS = 'savings'; @@ -24,7 +28,7 @@ class BBANInstrument implements BankAccountInstrument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountNumber', $data)) { $this->setAccountNumber($data['accountNumber']); @@ -44,11 +48,12 @@ public function __construct(array $data = []) if (array_key_exists('last4', $data)) { $this->setLast4($data['last4']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountNumberType(): string diff --git a/src/Model/BBANType.php b/src/Model/BBANType.php index 20a0871cd..8e18328df 100644 --- a/src/Model/BBANType.php +++ b/src/Model/BBANType.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; -class BBANType extends BankAccountCreatePlain +use Rebilly\Sdk\Trait\HasMetadata; + +class BBANType implements BankAccountCreatePlain { + use HasMetadata; + public const METHOD_ACH = 'ach'; public const ACCOUNT_TYPE_CHECKING = 'checking'; @@ -26,12 +30,8 @@ class BBANType extends BankAccountCreatePlain private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { - parent::__construct([ - 'accountNumberType' => 'BBAN', - ] + $data); - if (array_key_exists('method', $data)) { $this->setMethod($data['method']); } @@ -65,11 +65,17 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); + } + + public function getAccountNumberType(): string + { + return 'BBAN'; } public function getMethod(): string @@ -214,7 +220,9 @@ public function setUseAsBackup(null|bool $useAsBackup): static public function jsonSerialize(): array { - $data = []; + $data = [ + 'accountNumberType' => 'BBAN', + ]; if (array_key_exists('method', $this->fields)) { $data['method'] = $this->fields['method']; } @@ -249,6 +257,6 @@ public function jsonSerialize(): array $data['useAsBackup'] = $this->fields['useAsBackup']; } - return parent::jsonSerialize() + $data; + return $data; } } diff --git a/src/Model/BVNK.php b/src/Model/BVNK.php index 6cb62da81..02fd60eee 100644 --- a/src/Model/BVNK.php +++ b/src/Model/BVNK.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BVNK extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'BVNK', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BVNKCredentials diff --git a/src/Model/BVNKCredentials.php b/src/Model/BVNKCredentials.php index 995dd65e7..679d2b180 100644 --- a/src/Model/BVNKCredentials.php +++ b/src/Model/BVNKCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BVNKCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('hawkAuthKey', $data)) { $this->setHawkAuthKey($data['hawkAuthKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/BVNKSettings.php b/src/Model/BVNKSettings.php index 3e9f76b09..d67e73e80 100644 --- a/src/Model/BVNKSettings.php +++ b/src/Model/BVNKSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BVNKSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('payoutCurrency', $data)) { $this->setPayoutCurrency($data['payoutCurrency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('destinationTagCustomField', $data)) { $this->setDestinationTagCustomField($data['destinationTagCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPayoutCurrency(): ?string diff --git a/src/Model/BalanceTransactionFactory.php b/src/Model/BalanceTransactionFactory.php index d4ae21c10..b5d9b22d1 100644 --- a/src/Model/BalanceTransactionFactory.php +++ b/src/Model/BalanceTransactionFactory.php @@ -18,16 +18,16 @@ class BalanceTransactionFactory { - public static function from(array $data = []): BalanceTransaction + public static function from(array $data = [], array $metadata = []): BalanceTransaction { return match ($data['type']) { - 'buy-fee' => BuyFeeTransaction::from($data), - 'charge' => ChargeTransaction::from($data), - 'refund' => RefundTransaction::from($data), - 'reverse' => ReverseTransaction::from($data), - 'risk-reserve-release' => RiskReserveReleaseTransaction::from($data), - 'risk-reserve' => RiskReserveTransaction::from($data), - 'sell-fee' => SellFeeTransaction::from($data), + 'buy-fee' => BuyFeeTransaction::from($data, $metadata), + 'charge' => ChargeTransaction::from($data, $metadata), + 'refund' => RefundTransaction::from($data, $metadata), + 'reverse' => ReverseTransaction::from($data, $metadata), + 'risk-reserve-release' => RiskReserveReleaseTransaction::from($data, $metadata), + 'risk-reserve' => RiskReserveTransaction::from($data, $metadata), + 'sell-fee' => SellFeeTransaction::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Bambora.php b/src/Model/Bambora.php index 2a13ec3d0..331999e71 100644 --- a/src/Model/Bambora.php +++ b/src/Model/Bambora.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Bambora extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Bambora', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BamboraCredentials diff --git a/src/Model/BamboraCredentials.php b/src/Model/BamboraCredentials.php index 3d98b6a7c..b886d9e62 100644 --- a/src/Model/BamboraCredentials.php +++ b/src/Model/BamboraCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BamboraCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiPasscode', $data)) { $this->setApiPasscode($data['apiPasscode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/BankAccount.php b/src/Model/BankAccount.php index 51ba4572d..a18af0cf0 100644 --- a/src/Model/BankAccount.php +++ b/src/Model/BankAccount.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class BankAccount implements PaymentInstrument { + use HasMetadata; + public const ACCOUNT_NUMBER_TYPE_BBAN = 'BBAN'; public const ACCOUNT_NUMBER_TYPE_IBAN = 'IBAN'; @@ -35,7 +38,7 @@ class BankAccount implements PaymentInstrument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -100,11 +103,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/BankAccountCreatePlain.php b/src/Model/BankAccountCreatePlain.php index ffe6c08a6..4393d6c9a 100644 --- a/src/Model/BankAccountCreatePlain.php +++ b/src/Model/BankAccountCreatePlain.php @@ -14,61 +14,39 @@ namespace Rebilly\Sdk\Model; -use InvalidArgumentException; - -abstract class BankAccountCreatePlain implements PostPaymentInstrumentRequest, PaymentInstruction +interface BankAccountCreatePlain extends PostPaymentInstrumentRequest, PaymentInstruction { - public const ACCOUNT_NUMBER_TYPE_IBAN = 'IBAN'; - - public const ACCOUNT_NUMBER_TYPE_BBAN = 'BBAN'; - - private array $fields = []; - - protected function __construct(array $data = []) - { - if (array_key_exists('accountNumberType', $data)) { - $this->setAccountNumberType($data['accountNumberType']); - } - } - - public static function from(array $data = []): self - { - switch ($data['accountNumberType']) { - case 'BBAN': - return BBANType::from($data); - case 'IBAN': - return IBANType::from($data); - } - - throw new InvalidArgumentException("Unsupported accountNumberType value: '{$data['accountNumberType']}'"); - } - - public function getMethod(): string - { - return 'ach'; - } - - public function getAccountNumberType(): string - { - return $this->fields['accountNumberType']; - } - - public function jsonSerialize(): array - { - $data = [ - 'method' => 'ach', - ]; - if (array_key_exists('accountNumberType', $this->fields)) { - $data['accountNumberType'] = $this->fields['accountNumberType']; - } - - return $data; - } - - private function setAccountNumberType(string $accountNumberType): static - { - $this->fields['accountNumberType'] = $accountNumberType; - - return $this; - } + public function getAccountNumberType(): string; + + public function getCustomerId(): string; + + public function setCustomerId(string $customerId): static; + + public function getAccountNumber(): string; + + public function setAccountNumber(string $accountNumber): static; + + public function getBankName(): ?string; + + public function setBankName(null|string $bankName): static; + + public function getBic(): ?string; + + public function setBic(null|string $bic): static; + + public function getBillingAddress(): ContactObject; + + public function setBillingAddress(ContactObject|array $billingAddress): static; + + public function getCustomFields(): ?array; + + public function setCustomFields(null|array $customFields): static; + + public function getRiskMetadata(): ?RiskMetadata; + + public function setRiskMetadata(null|RiskMetadata|array $riskMetadata): static; + + public function getUseAsBackup(): ?bool; + + public function setUseAsBackup(null|bool $useAsBackup): static; } diff --git a/src/Model/BankAccountCreatePlainFactory.php b/src/Model/BankAccountCreatePlainFactory.php new file mode 100644 index 000000000..3a651f269 --- /dev/null +++ b/src/Model/BankAccountCreatePlainFactory.php @@ -0,0 +1,29 @@ + BBANType::from($data, $metadata), + 'IBAN' => IBANType::from($data, $metadata), + default => throw new UnknownDiscriminatorValueException(), + }; + } +} diff --git a/src/Model/BankAccountEmbedded.php b/src/Model/BankAccountEmbedded.php index 91fdd4f4a..fa6147614 100644 --- a/src/Model/BankAccountEmbedded.php +++ b/src/Model/BankAccountEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BankAccountEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/BankAccountInstrumentFactory.php b/src/Model/BankAccountInstrumentFactory.php index c0faa1a42..529b0ebec 100644 --- a/src/Model/BankAccountInstrumentFactory.php +++ b/src/Model/BankAccountInstrumentFactory.php @@ -18,11 +18,11 @@ class BankAccountInstrumentFactory { - public static function from(array $data = []): BankAccountInstrument + public static function from(array $data = [], array $metadata = []): BankAccountInstrument { return match ($data['accountNumberType']) { - 'BBAN' => BBANInstrument::from($data), - 'IBAN' => IBANInstrument::from($data), + 'BBAN' => BBANInstrument::from($data, $metadata), + 'IBAN' => IBANInstrument::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/BankAccountToken.php b/src/Model/BankAccountToken.php index 372ec87d6..56e6dde1f 100644 --- a/src/Model/BankAccountToken.php +++ b/src/Model/BankAccountToken.php @@ -16,16 +16,19 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class BankAccountToken implements CompositeToken { + use HasMetadata; + public const METHOD_ACH = 'ach'; public const METHOD_ECHECK = 'echeck'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); @@ -63,11 +66,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/BankAccountUpdatePlain.php b/src/Model/BankAccountUpdatePlain.php index b7fb9ddac..80806a6c0 100644 --- a/src/Model/BankAccountUpdatePlain.php +++ b/src/Model/BankAccountUpdatePlain.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BankAccountUpdatePlain implements PatchPaymentInstrumentRequest { + use HasMetadata; + public const ACCOUNT_TYPE_CHECKING = 'checking'; public const ACCOUNT_TYPE_SAVINGS = 'savings'; @@ -24,7 +28,7 @@ class BankAccountUpdatePlain implements PatchPaymentInstrumentRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('bankName', $data)) { $this->setBankName($data['bankName']); @@ -44,11 +48,12 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBankName(): ?string diff --git a/src/Model/BankSEND.php b/src/Model/BankSEND.php index 4e2524e8f..45ceab1aa 100644 --- a/src/Model/BankSEND.php +++ b/src/Model/BankSEND.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BankSEND extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'BankSEND', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BankSENDCredentials diff --git a/src/Model/BankSENDCredentials.php b/src/Model/BankSENDCredentials.php index b0ea11086..096c8fa01 100644 --- a/src/Model/BankSENDCredentials.php +++ b/src/Model/BankSENDCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BankSENDCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantToken', $data)) { $this->setMerchantToken($data['merchantToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/BillingPortal.php b/src/Model/BillingPortal.php index 82e415cf3..77cd0c176 100644 --- a/src/Model/BillingPortal.php +++ b/src/Model/BillingPortal.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BillingPortal implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -61,11 +64,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/BillingPortalCustomization.php b/src/Model/BillingPortalCustomization.php index 6c04e7e67..d41413d59 100644 --- a/src/Model/BillingPortalCustomization.php +++ b/src/Model/BillingPortalCustomization.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BillingPortalCustomization implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('logoId', $data)) { $this->setLogoId($data['logoId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('links', $data)) { $this->setLinks($data['links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLogoId(): ?string diff --git a/src/Model/BillingPortalCustomizationColors.php b/src/Model/BillingPortalCustomizationColors.php index 664e0361d..069b69d5d 100644 --- a/src/Model/BillingPortalCustomizationColors.php +++ b/src/Model/BillingPortalCustomizationColors.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BillingPortalCustomizationColors implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('primary', $data)) { $this->setPrimary($data['primary']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secondary', $data)) { $this->setSecondary($data['secondary']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrimary(): ?string diff --git a/src/Model/BillingPortalCustomizationLinks.php b/src/Model/BillingPortalCustomizationLinks.php index 0d1bed13f..27f63107c 100644 --- a/src/Model/BillingPortalCustomizationLinks.php +++ b/src/Model/BillingPortalCustomizationLinks.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BillingPortalCustomizationLinks implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('refundPolicy', $data)) { $this->setRefundPolicy($data['refundPolicy']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('termsOfService', $data)) { $this->setTermsOfService($data['termsOfService']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRefundPolicy(): ?string diff --git a/src/Model/BillingPortalFeatures.php b/src/Model/BillingPortalFeatures.php index b6be9454b..60a003415 100644 --- a/src/Model/BillingPortalFeatures.php +++ b/src/Model/BillingPortalFeatures.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BillingPortalFeatures implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authenticateWithPassword', $data)) { $this->setAuthenticateWithPassword($data['authenticateWithPassword']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentInstrumentDeactivate', $data)) { $this->setPaymentInstrumentDeactivate($data['paymentInstrumentDeactivate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthenticateWithPassword(): ?bool diff --git a/src/Model/Bind.php b/src/Model/Bind.php index 85efa0c79..3707c0a50 100644 --- a/src/Model/Bind.php +++ b/src/Model/Bind.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Bind implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -44,11 +47,12 @@ public function __construct(array $data = []) if (array_key_exists('actions', $data)) { $this->setActions($data['actions']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/BitPay.php b/src/Model/BitPay.php index 22cffc2e7..7ebcaef4b 100644 --- a/src/Model/BitPay.php +++ b/src/Model/BitPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BitPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'BitPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BitPayCredentials diff --git a/src/Model/BitPayCredentials.php b/src/Model/BitPayCredentials.php index 51255241f..830c30fa8 100644 --- a/src/Model/BitPayCredentials.php +++ b/src/Model/BitPayCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BitPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('token', $data)) { $this->setToken($data['token']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getToken(): string diff --git a/src/Model/Blocklist.php b/src/Model/Blocklist.php index 32dd26168..d5f938c7e 100644 --- a/src/Model/Blocklist.php +++ b/src/Model/Blocklist.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Blocklist implements JsonSerializable { + use HasMetadata; + public const TYPE_PAYMENT_CARD = 'payment-card'; public const TYPE_BANK_ACCOUNT = 'bank-account'; @@ -48,7 +51,7 @@ class Blocklist implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -77,11 +80,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/BlueSnap.php b/src/Model/BlueSnap.php index e6487142e..9b12155fc 100644 --- a/src/Model/BlueSnap.php +++ b/src/Model/BlueSnap.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BlueSnap extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'BlueSnap', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BlueSnapCredentials diff --git a/src/Model/BlueSnapCredentials.php b/src/Model/BlueSnapCredentials.php index 4e6de8b7b..a6a773033 100644 --- a/src/Model/BlueSnapCredentials.php +++ b/src/Model/BlueSnapCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BlueSnapCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('dataProtectionKey', $data)) { $this->setDataProtectionKey($data['dataProtectionKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/BlueSnapSettings.php b/src/Model/BlueSnapSettings.php index b387c9f6d..750e795db 100644 --- a/src/Model/BlueSnapSettings.php +++ b/src/Model/BlueSnapSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BlueSnapSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('enableMoto', $data)) { $this->setEnableMoto($data['enableMoto']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('metadataCustomField', $data)) { $this->setMetadataCustomField($data['metadataCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEnableMoto(): ?bool diff --git a/src/Model/BooleanCustomField.php b/src/Model/BooleanCustomField.php index 4f72f458d..16102707d 100644 --- a/src/Model/BooleanCustomField.php +++ b/src/Model/BooleanCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BooleanCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/BooleanCustomFieldAdditionalSchema.php b/src/Model/BooleanCustomFieldAdditionalSchema.php index 98f9747d4..7599e51d1 100644 --- a/src/Model/BooleanCustomFieldAdditionalSchema.php +++ b/src/Model/BooleanCustomFieldAdditionalSchema.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BooleanCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('required', $data)) { $this->setRequired($data['required']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRequired(): ?bool diff --git a/src/Model/BraintreePayments.php b/src/Model/BraintreePayments.php index 2103e3b4e..4e95688a5 100644 --- a/src/Model/BraintreePayments.php +++ b/src/Model/BraintreePayments.php @@ -14,24 +14,32 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class BraintreePayments extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'BraintreePayments', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + if (array_key_exists('threeDSecureServer', $data)) { + $this->setThreeDSecureServer($data['threeDSecureServer']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BraintreePaymentsCredentials @@ -50,12 +58,31 @@ public function setCredentials(BraintreePaymentsCredentials|array $credentials): return $this; } + public function getThreeDSecureServer(): ?ThreeDSecureIO3dsServer + { + return $this->fields['threeDSecureServer'] ?? null; + } + + public function setThreeDSecureServer(null|ThreeDSecureIO3dsServer|array $threeDSecureServer): static + { + if ($threeDSecureServer !== null && !($threeDSecureServer instanceof ThreeDSecureIO3dsServer)) { + $threeDSecureServer = ThreeDSecureIO3dsServer::from($threeDSecureServer); + } + + $this->fields['threeDSecureServer'] = $threeDSecureServer; + + return $this; + } + public function jsonSerialize(): array { $data = []; if (array_key_exists('credentials', $this->fields)) { $data['credentials'] = $this->fields['credentials']->jsonSerialize(); } + if (array_key_exists('threeDSecureServer', $this->fields)) { + $data['threeDSecureServer'] = $this->fields['threeDSecureServer']?->jsonSerialize(); + } return parent::jsonSerialize() + $data; } diff --git a/src/Model/BraintreePaymentsCredentials.php b/src/Model/BraintreePaymentsCredentials.php index 1d87e8084..2b133e677 100644 --- a/src/Model/BraintreePaymentsCredentials.php +++ b/src/Model/BraintreePaymentsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BraintreePaymentsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantAccountId', $data)) { $this->setMerchantAccountId($data['merchantAccountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/BroadcastMessage.php b/src/Model/BroadcastMessage.php index 2723a3600..450d227f7 100644 --- a/src/Model/BroadcastMessage.php +++ b/src/Model/BroadcastMessage.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BroadcastMessage implements JsonSerializable { + use HasMetadata; + public const STATUS_DRAFT = 'draft'; public const STATUS_SENDING = 'sending'; @@ -30,7 +33,7 @@ class BroadcastMessage implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/BroadcastMessageMessages.php b/src/Model/BroadcastMessageMessages.php index 2e2279af3..a1f79c506 100644 --- a/src/Model/BroadcastMessageMessages.php +++ b/src/Model/BroadcastMessageMessages.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BroadcastMessageMessages implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('templates', $data)) { $this->setTemplates($data['templates']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/BroadcastMessageMessagesTemplates.php b/src/Model/BroadcastMessageMessagesTemplates.php index 15327f815..b8f7ac2a7 100644 --- a/src/Model/BroadcastMessageMessagesTemplates.php +++ b/src/Model/BroadcastMessageMessagesTemplates.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BroadcastMessageMessagesTemplates implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('from', $data)) { $this->setFrom($data['from']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('locale', $data)) { $this->setLocale($data['locale']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFrom(): string diff --git a/src/Model/Buckaroo.php b/src/Model/Buckaroo.php index f92c27472..d0e98e74a 100644 --- a/src/Model/Buckaroo.php +++ b/src/Model/Buckaroo.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Buckaroo extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Buckaroo', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): BuckarooCredentials diff --git a/src/Model/BuckarooCredentials.php b/src/Model/BuckarooCredentials.php index f708d3a93..ba34e0c40 100644 --- a/src/Model/BuckarooCredentials.php +++ b/src/Model/BuckarooCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BuckarooCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('schemeKey', $data)) { $this->setSchemeKey($data['schemeKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSchemeKey(): ?string diff --git a/src/Model/BuckarooSettings.php b/src/Model/BuckarooSettings.php index f6eda882f..4f8cd2145 100644 --- a/src/Model/BuckarooSettings.php +++ b/src/Model/BuckarooSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BuckarooSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useSepaRecurring', $data)) { $this->setUseSepaRecurring($data['useSepaRecurring']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseSepaRecurring(): ?bool diff --git a/src/Model/BuyFeeTransaction.php b/src/Model/BuyFeeTransaction.php index e7761d9c9..d28215d02 100644 --- a/src/Model/BuyFeeTransaction.php +++ b/src/Model/BuyFeeTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class BuyFeeTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/BuyFeeTransactionFee.php b/src/Model/BuyFeeTransactionFee.php index 8a1e6ad91..28ca75195 100644 --- a/src/Model/BuyFeeTransactionFee.php +++ b/src/Model/BuyFeeTransactionFee.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class BuyFeeTransactionFee implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/CASHlib.php b/src/Model/CASHlib.php index 61fa618de..6deade755 100644 --- a/src/Model/CASHlib.php +++ b/src/Model/CASHlib.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CASHlib extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CASHlib', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CASHlibCredentials diff --git a/src/Model/CASHlibCredentials.php b/src/Model/CASHlibCredentials.php index 53b00e5d1..ae4a28135 100644 --- a/src/Model/CASHlibCredentials.php +++ b/src/Model/CASHlibCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CASHlibCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/CCAvenue.php b/src/Model/CCAvenue.php index 57c78aa66..27957ef43 100644 --- a/src/Model/CCAvenue.php +++ b/src/Model/CCAvenue.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CCAvenue extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CCAvenue', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CCAvenueCredentials diff --git a/src/Model/CCAvenueCredentials.php b/src/Model/CCAvenueCredentials.php index 74e3bb6f5..32206a000 100644 --- a/src/Model/CCAvenueCredentials.php +++ b/src/Model/CCAvenueCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CCAvenueCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('workingKey', $data)) { $this->setWorkingKey($data['workingKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/CCAvenueSettings.php b/src/Model/CCAvenueSettings.php index fddf5f03f..5e2117b99 100644 --- a/src/Model/CCAvenueSettings.php +++ b/src/Model/CCAvenueSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CCAvenueSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useStandingInstructionApi', $data)) { $this->setUseStandingInstructionApi($data['useStandingInstructionApi']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseStandingInstructionApi(): ?bool diff --git a/src/Model/CODVoucher.php b/src/Model/CODVoucher.php index ef33ad627..90138fdf3 100644 --- a/src/Model/CODVoucher.php +++ b/src/Model/CODVoucher.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CODVoucher extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CODVoucher', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CODVoucherCredentials diff --git a/src/Model/CODVoucherCredentials.php b/src/Model/CODVoucherCredentials.php index 97ec12a55..a47aefc91 100644 --- a/src/Model/CODVoucherCredentials.php +++ b/src/Model/CODVoucherCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CODVoucherCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Cardknox.php b/src/Model/Cardknox.php index a888ca42f..75f68a4ad 100644 --- a/src/Model/Cardknox.php +++ b/src/Model/Cardknox.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cardknox extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cardknox', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CardknoxCredentials diff --git a/src/Model/CardknoxCredentials.php b/src/Model/CardknoxCredentials.php index 120b1a797..7cd885382 100644 --- a/src/Model/CardknoxCredentials.php +++ b/src/Model/CardknoxCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CardknoxCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('xKey', $data)) { $this->setXKey($data['xKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getXKey(): string diff --git a/src/Model/CashInstrument.php b/src/Model/CashInstrument.php index 347bca9e8..1671c953b 100644 --- a/src/Model/CashInstrument.php +++ b/src/Model/CashInstrument.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CashInstrument implements CustomerDefaultPaymentInstrument, TransactionPaymentInstrument { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('receivedBy', $data)) { $this->setReceivedBy($data['receivedBy']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/CashToCode.php b/src/Model/CashToCode.php index f326b7aa7..df5d65fee 100644 --- a/src/Model/CashToCode.php +++ b/src/Model/CashToCode.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CashToCode extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CashToCode', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CashToCodeCredentials diff --git a/src/Model/CashToCodeCredentials.php b/src/Model/CashToCodeCredentials.php index f9a6b428f..1d60e7441 100644 --- a/src/Model/CashToCodeCredentials.php +++ b/src/Model/CashToCodeCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CashToCodeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('cashToCodeUsername', $data)) { $this->setCashToCodeUsername($data['cashToCodeUsername']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('mid', $data)) { $this->setMid($data['mid']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCashToCodeUsername(): string diff --git a/src/Model/CashToCodeSettings.php b/src/Model/CashToCodeSettings.php index 31e3638ba..4e520440c 100644 --- a/src/Model/CashToCodeSettings.php +++ b/src/Model/CashToCodeSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CashToCodeSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('baseUrl', $data)) { $this->setBaseUrl($data['baseUrl']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('amounts', $data)) { $this->setAmounts($data['amounts']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBaseUrl(): ?string diff --git a/src/Model/Cashflows.php b/src/Model/Cashflows.php index 2d2f07c7c..ac78e7f02 100644 --- a/src/Model/Cashflows.php +++ b/src/Model/Cashflows.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cashflows extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cashflows', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CashflowsCredentials diff --git a/src/Model/CashflowsCredentials.php b/src/Model/CashflowsCredentials.php index b32ffb353..e2e80f6f0 100644 --- a/src/Model/CashflowsCredentials.php +++ b/src/Model/CashflowsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CashflowsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authId', $data)) { $this->setAuthId($data['authId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('authPassword', $data)) { $this->setAuthPassword($data['authPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthId(): string diff --git a/src/Model/Cashier.php b/src/Model/Cashier.php index 19f7e77e2..6663d31dd 100644 --- a/src/Model/Cashier.php +++ b/src/Model/Cashier.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Cashier implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -69,11 +72,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): string diff --git a/src/Model/Cashterminal.php b/src/Model/Cashterminal.php index 8cad5a920..370a67f04 100644 --- a/src/Model/Cashterminal.php +++ b/src/Model/Cashterminal.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cashterminal extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cashterminal', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CashterminalCredentials diff --git a/src/Model/CashterminalCredentials.php b/src/Model/CashterminalCredentials.php index a19358b6b..ce5307e7a 100644 --- a/src/Model/CashterminalCredentials.php +++ b/src/Model/CashterminalCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CashterminalCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSecretKey(): string diff --git a/src/Model/CauriPayment.php b/src/Model/CauriPayment.php index 669c666d7..ed9c11054 100644 --- a/src/Model/CauriPayment.php +++ b/src/Model/CauriPayment.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CauriPayment extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CauriPayment', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CauriPaymentCredentials diff --git a/src/Model/CauriPaymentCredentials.php b/src/Model/CauriPaymentCredentials.php index f58aa102a..c16f11cf1 100644 --- a/src/Model/CauriPaymentCredentials.php +++ b/src/Model/CauriPaymentCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CauriPaymentCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/Cayan.php b/src/Model/Cayan.php index cd0af095e..dd8f30056 100644 --- a/src/Model/Cayan.php +++ b/src/Model/Cayan.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cayan extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cayan', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CayanCredentials diff --git a/src/Model/CayanCredentials.php b/src/Model/CayanCredentials.php index 20744c784..dc950192d 100644 --- a/src/Model/CayanCredentials.php +++ b/src/Model/CayanCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CayanCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantSiteId', $data)) { $this->setMerchantSiteId($data['merchantSiteId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantKey', $data)) { $this->setMerchantKey($data['merchantKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantSiteId(): string diff --git a/src/Model/ChangeQuote.php b/src/Model/ChangeQuote.php index 33d10d383..2e7f55b85 100644 --- a/src/Model/ChangeQuote.php +++ b/src/Model/ChangeQuote.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuote implements Quote { + use HasMetadata; + public const ACCEPTANCE_CONDITIONS_CUSTOMER = 'customer'; public const ACCEPTANCE_CONDITIONS_PAYMENT = 'payment'; @@ -37,7 +40,7 @@ class ChangeQuote implements Quote private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -108,11 +111,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/ChangeQuoteAcceptanceFulfillment.php b/src/Model/ChangeQuoteAcceptanceFulfillment.php index 5ff77f4ba..b46106ee0 100644 --- a/src/Model/ChangeQuoteAcceptanceFulfillment.php +++ b/src/Model/ChangeQuoteAcceptanceFulfillment.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteAcceptanceFulfillment implements JsonSerializable { + use HasMetadata; + public const CONDITION_CUSTOMER = 'customer'; public const CONDITION_PAYMENT = 'payment'; @@ -26,7 +29,7 @@ class ChangeQuoteAcceptanceFulfillment implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('condition', $data)) { $this->setCondition($data['condition']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('isFulfilled', $data)) { $this->setIsFulfilled($data['isFulfilled']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCondition(): ?string diff --git a/src/Model/ChangeQuoteEmbedded.php b/src/Model/ChangeQuoteEmbedded.php index 881770f55..b2dfe2456 100644 --- a/src/Model/ChangeQuoteEmbedded.php +++ b/src/Model/ChangeQuoteEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('invoice', $data)) { $this->setInvoice($data['invoice']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ChangeQuoteInvoicePreview.php b/src/Model/ChangeQuoteInvoicePreview.php index 2ae2c6162..9840724e2 100644 --- a/src/Model/ChangeQuoteInvoicePreview.php +++ b/src/Model/ChangeQuoteInvoicePreview.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteInvoicePreview implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('items', $data)) { $this->setItems($data['items']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/ChangeQuoteInvoicePreviewInitialAmounts.php b/src/Model/ChangeQuoteInvoicePreviewInitialAmounts.php index 3b534a210..31ea4c338 100644 --- a/src/Model/ChangeQuoteInvoicePreviewInitialAmounts.php +++ b/src/Model/ChangeQuoteInvoicePreviewInitialAmounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteInvoicePreviewInitialAmounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('taxAmount', $data)) { $this->setTaxAmount($data['taxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/ChangeQuoteInvoicePreviewItems.php b/src/Model/ChangeQuoteInvoicePreviewItems.php index 86a031aeb..b84b57b22 100644 --- a/src/Model/ChangeQuoteInvoicePreviewItems.php +++ b/src/Model/ChangeQuoteInvoicePreviewItems.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteInvoicePreviewItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quoteItemId', $data)) { $this->setQuoteItemId($data['quoteItemId']); @@ -68,11 +71,12 @@ public function __construct(array $data = []) if (array_key_exists('trialTaxAmount', $data)) { $this->setTrialTaxAmount($data['trialTaxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getQuoteItemId(): ?string diff --git a/src/Model/ChangeQuoteInvoicePreviewRecurringAmounts.php b/src/Model/ChangeQuoteInvoicePreviewRecurringAmounts.php index 992d95df9..c596f79e7 100644 --- a/src/Model/ChangeQuoteInvoicePreviewRecurringAmounts.php +++ b/src/Model/ChangeQuoteInvoicePreviewRecurringAmounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteInvoicePreviewRecurringAmounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('taxAmount', $data)) { $this->setTaxAmount($data['taxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/ChangeQuoteOrder.php b/src/Model/ChangeQuoteOrder.php index 2e64394f8..74fc3422d 100644 --- a/src/Model/ChangeQuoteOrder.php +++ b/src/Model/ChangeQuoteOrder.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteOrder implements JsonSerializable { + use HasMetadata; + public const RENEWAL_POLICY_RESET = 'reset'; public const RENEWAL_POLICY_RETAIN = 'retain'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('shipping', $data)) { $this->setShipping($data['shipping']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): string diff --git a/src/Model/ChangeQuoteOrderUsageSettings.php b/src/Model/ChangeQuoteOrderUsageSettings.php index 48f431cf1..3823f9430 100644 --- a/src/Model/ChangeQuoteOrderUsageSettings.php +++ b/src/Model/ChangeQuoteOrderUsageSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteOrderUsageSettings implements JsonSerializable { + use HasMetadata; + public const POLICY_RESET = 'reset'; public const POLICY_TRANSFER = 'transfer'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('productId', $data)) { $this->setProductId($data['productId']); @@ -32,11 +35,12 @@ public function __construct(array $data = []) if (array_key_exists('policy', $data)) { $this->setPolicy($data['policy']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProductId(): string diff --git a/src/Model/ChangeQuoteSignature.php b/src/Model/ChangeQuoteSignature.php index 501b4aef2..e5337fc6e 100644 --- a/src/Model/ChangeQuoteSignature.php +++ b/src/Model/ChangeQuoteSignature.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChangeQuoteSignature implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('showWrittenSignatureLines', $data)) { $this->setShowWrittenSignatureLines($data['showWrittenSignatureLines']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('organizationPrintedName', $data)) { $this->setOrganizationPrintedName($data['organizationPrintedName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getShowWrittenSignatureLines(): ?bool diff --git a/src/Model/ChargeTransaction.php b/src/Model/ChargeTransaction.php index 0e311eb2c..80c6b219a 100644 --- a/src/Model/ChargeTransaction.php +++ b/src/Model/ChargeTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ChargeTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -53,11 +56,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Chase.php b/src/Model/Chase.php index 80168dafb..27e645c3f 100644 --- a/src/Model/Chase.php +++ b/src/Model/Chase.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Chase extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Chase', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ChaseCredentials diff --git a/src/Model/ChaseCredentials.php b/src/Model/ChaseCredentials.php index bdbc057f0..4b00de495 100644 --- a/src/Model/ChaseCredentials.php +++ b/src/Model/ChaseCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChaseCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('partialAuth', $data)) { $this->setPartialAuth($data['partialAuth']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/CheckInstrument.php b/src/Model/CheckInstrument.php index ca5be27b4..43413279d 100644 --- a/src/Model/CheckInstrument.php +++ b/src/Model/CheckInstrument.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CheckInstrument implements CustomerDefaultPaymentInstrument, TransactionPaymentInstrument { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('reference', $data)) { $this->setReference($data['reference']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/CheckoutCom.php b/src/Model/CheckoutCom.php index bca5da839..7b11fd0fa 100644 --- a/src/Model/CheckoutCom.php +++ b/src/Model/CheckoutCom.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CheckoutCom extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CheckoutCom', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CheckoutComCredentials diff --git a/src/Model/CheckoutComCredentials.php b/src/Model/CheckoutComCredentials.php index 8e459cfbc..2f0197255 100644 --- a/src/Model/CheckoutComCredentials.php +++ b/src/Model/CheckoutComCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutComCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('signatureKey', $data)) { $this->setSignatureKey($data['signatureKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSecretKey(): string diff --git a/src/Model/CheckoutComSettings.php b/src/Model/CheckoutComSettings.php index cf722fcfb..687f5fd22 100644 --- a/src/Model/CheckoutComSettings.php +++ b/src/Model/CheckoutComSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutComSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('markAsWaitingGatewayOnPendingPayout', $data)) { $this->setMarkAsWaitingGatewayOnPendingPayout($data['markAsWaitingGatewayOnPendingPayout']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('processingChannelId', $data)) { $this->setProcessingChannelId($data['processingChannelId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMarkAsWaitingGatewayOnPendingPayout(): ?bool diff --git a/src/Model/CheckoutForm.php b/src/Model/CheckoutForm.php index f527a9a4b..796c8d017 100644 --- a/src/Model/CheckoutForm.php +++ b/src/Model/CheckoutForm.php @@ -17,18 +17,11 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutForm implements JsonSerializable { - public const PAYMENT_METHODS_PAYMENT_CARD = 'payment-card'; - - public const PAYMENT_METHODS_ACH = 'ach'; - - public const PAYMENT_METHODS_CASH = 'cash'; - - public const PAYMENT_METHODS_CHECK = 'check'; - - public const PAYMENT_METHODS_PAYPAL = 'paypal'; + use HasMetadata; public const PAYMENT_METHODS_ADV_CASH = 'AdvCash'; @@ -378,6 +371,8 @@ class CheckoutForm implements JsonSerializable public const PAYMENT_METHODS_VENUS_POINT = 'VenusPoint'; + public const PAYMENT_METHODS_VIVA = 'Viva'; + public const PAYMENT_METHODS_VOUCHER = 'voucher'; public const PAYMENT_METHODS_VOUCHER2 = 'voucher-2'; @@ -416,7 +411,7 @@ class CheckoutForm implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -466,11 +461,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CheckoutFormCustomization.php b/src/Model/CheckoutFormCustomization.php index bfcaf64dc..53ff3e5e7 100644 --- a/src/Model/CheckoutFormCustomization.php +++ b/src/Model/CheckoutFormCustomization.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutFormCustomization implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('logoId', $data)) { $this->setLogoId($data['logoId']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('requiredAdditionalFields', $data)) { $this->setRequiredAdditionalFields($data['requiredAdditionalFields']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLogoId(): ?string diff --git a/src/Model/CheckoutFormCustomizationColors.php b/src/Model/CheckoutFormCustomizationColors.php index 2a67d175b..68af8c05a 100644 --- a/src/Model/CheckoutFormCustomizationColors.php +++ b/src/Model/CheckoutFormCustomizationColors.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutFormCustomizationColors implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('primary', $data)) { $this->setPrimary($data['primary']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('buttonText', $data)) { $this->setButtonText($data['buttonText']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrimary(): ?string diff --git a/src/Model/CheckoutFormCustomizationLinks.php b/src/Model/CheckoutFormCustomizationLinks.php index 10f28aa96..d59264cf2 100644 --- a/src/Model/CheckoutFormCustomizationLinks.php +++ b/src/Model/CheckoutFormCustomizationLinks.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutFormCustomizationLinks implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('refundPolicy', $data)) { $this->setRefundPolicy($data['refundPolicy']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('termsOfService', $data)) { $this->setTermsOfService($data['termsOfService']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRefundPolicy(): ?string diff --git a/src/Model/CheckoutFormCustomizationTracking.php b/src/Model/CheckoutFormCustomizationTracking.php index c16acd476..662905df0 100644 --- a/src/Model/CheckoutFormCustomizationTracking.php +++ b/src/Model/CheckoutFormCustomizationTracking.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CheckoutFormCustomizationTracking implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('googleAnalytics', $data)) { $this->setGoogleAnalytics($data['googleAnalytics']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('heapIo', $data)) { $this->setHeapIo($data['heapIo']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getGoogleAnalytics(): ?string diff --git a/src/Model/CheckoutFormFixedPlan.php b/src/Model/CheckoutFormFixedPlan.php index 01c2545c2..459f92c59 100644 --- a/src/Model/CheckoutFormFixedPlan.php +++ b/src/Model/CheckoutFormFixedPlan.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CheckoutFormFixedPlan implements CheckoutFormPlan { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CheckoutFormPlanFactory.php b/src/Model/CheckoutFormPlanFactory.php index 738f4aa83..2da50979c 100644 --- a/src/Model/CheckoutFormPlanFactory.php +++ b/src/Model/CheckoutFormPlanFactory.php @@ -18,11 +18,11 @@ class CheckoutFormPlanFactory { - public static function from(array $data = []): CheckoutFormPlan + public static function from(array $data = [], array $metadata = []): CheckoutFormPlan { return match ($data['type']) { - 'fixed' => CheckoutFormFixedPlan::from($data), - 'variable' => CheckoutFormVariablePlan::from($data), + 'fixed' => CheckoutFormFixedPlan::from($data, $metadata), + 'variable' => CheckoutFormVariablePlan::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/CheckoutFormVariablePlan.php b/src/Model/CheckoutFormVariablePlan.php index 0189ad92e..8481cac93 100644 --- a/src/Model/CheckoutFormVariablePlan.php +++ b/src/Model/CheckoutFormVariablePlan.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CheckoutFormVariablePlan implements CheckoutFormPlan { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('maximum', $data)) { $this->setMaximum($data['maximum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Chillstock.php b/src/Model/Chillstock.php index 0e0780eee..a6d213960 100644 --- a/src/Model/Chillstock.php +++ b/src/Model/Chillstock.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Chillstock extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Chillstock', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ChillstockCredentials diff --git a/src/Model/ChillstockCredentials.php b/src/Model/ChillstockCredentials.php index 0c74858ca..ad7062ce1 100644 --- a/src/Model/ChillstockCredentials.php +++ b/src/Model/ChillstockCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChillstockCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/ChillstockSettings.php b/src/Model/ChillstockSettings.php index c0699d654..fc68cb61b 100644 --- a/src/Model/ChillstockSettings.php +++ b/src/Model/ChillstockSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ChillstockSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sandbox', $data)) { $this->setSandbox($data['sandbox']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSandbox(): ?bool diff --git a/src/Model/Circle.php b/src/Model/Circle.php index 08932af61..663803652 100644 --- a/src/Model/Circle.php +++ b/src/Model/Circle.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Circle extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Circle', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CircleCredentials diff --git a/src/Model/CircleCredentials.php b/src/Model/CircleCredentials.php index e3d70ae92..5c9237bf9 100644 --- a/src/Model/CircleCredentials.php +++ b/src/Model/CircleCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CircleCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Citadel.php b/src/Model/Citadel.php index 9bad5eabf..2fbdc6c5e 100644 --- a/src/Model/Citadel.php +++ b/src/Model/Citadel.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Citadel extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Citadel', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CitadelCredentials diff --git a/src/Model/CitadelCredentials.php b/src/Model/CitadelCredentials.php index 404c33e16..1bb9337d8 100644 --- a/src/Model/CitadelCredentials.php +++ b/src/Model/CitadelCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CitadelCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('storeName', $data)) { $this->setStoreName($data['storeName']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStoreName(): string diff --git a/src/Model/Clearhaus.php b/src/Model/Clearhaus.php index 945cd5c45..931b7614d 100644 --- a/src/Model/Clearhaus.php +++ b/src/Model/Clearhaus.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Clearhaus extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Clearhaus', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ClearhausCredentials diff --git a/src/Model/ClearhausCredentials.php b/src/Model/ClearhausCredentials.php index 885c059bd..eb8759754 100644 --- a/src/Model/ClearhausCredentials.php +++ b/src/Model/ClearhausCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ClearhausCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Cleo.php b/src/Model/Cleo.php index 7616789f4..7a0deaaca 100644 --- a/src/Model/Cleo.php +++ b/src/Model/Cleo.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cleo extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cleo', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CleoCredentials diff --git a/src/Model/CleoCredentials.php b/src/Model/CleoCredentials.php index 47221e8ca..c1c975cb2 100644 --- a/src/Model/CleoCredentials.php +++ b/src/Model/CleoCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CleoCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accessToken', $data)) { $this->setAccessToken($data['accessToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccessToken(): string diff --git a/src/Model/CoinGate.php b/src/Model/CoinGate.php index 11fa3fab2..894a0c7a9 100644 --- a/src/Model/CoinGate.php +++ b/src/Model/CoinGate.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CoinGate extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CoinGate', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CoinGateCredentials diff --git a/src/Model/CoinGateCredentials.php b/src/Model/CoinGateCredentials.php index f04c20865..ab9a1b646 100644 --- a/src/Model/CoinGateCredentials.php +++ b/src/Model/CoinGateCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CoinGateCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authToken', $data)) { $this->setAuthToken($data['authToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthToken(): string diff --git a/src/Model/CoinGateSettings.php b/src/Model/CoinGateSettings.php index 4e96c29d5..6f03e1ea0 100644 --- a/src/Model/CoinGateSettings.php +++ b/src/Model/CoinGateSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CoinGateSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('targetCurrency', $data)) { $this->setTargetCurrency($data['targetCurrency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('adjustAmount', $data)) { $this->setAdjustAmount($data['adjustAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTargetCurrency(): ?string diff --git a/src/Model/CoinPayments.php b/src/Model/CoinPayments.php index ee2344727..a391472af 100644 --- a/src/Model/CoinPayments.php +++ b/src/Model/CoinPayments.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CoinPayments extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CoinPayments', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CoinPaymentsCredentials diff --git a/src/Model/CoinPaymentsCredentials.php b/src/Model/CoinPaymentsCredentials.php index 2fa5ba9d8..3d024af90 100644 --- a/src/Model/CoinPaymentsCredentials.php +++ b/src/Model/CoinPaymentsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CoinPaymentsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('clientSecret', $data)) { $this->setClientSecret($data['clientSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/CoinPaymentsSettings.php b/src/Model/CoinPaymentsSettings.php index 63f092e5f..9d3bf0f13 100644 --- a/src/Model/CoinPaymentsSettings.php +++ b/src/Model/CoinPaymentsSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CoinPaymentsSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useCallbackAddress', $data)) { $this->setUseCallbackAddress($data['useCallbackAddress']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('apiUrl', $data)) { $this->setApiUrl($data['apiUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseCallbackAddress(): ?bool diff --git a/src/Model/Coinbase.php b/src/Model/Coinbase.php index af8cdb553..14fa9c2a5 100644 --- a/src/Model/Coinbase.php +++ b/src/Model/Coinbase.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Coinbase extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Coinbase', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CoinbaseCredentials diff --git a/src/Model/CoinbaseCredentials.php b/src/Model/CoinbaseCredentials.php index fa13b291b..c0554c9b3 100644 --- a/src/Model/CoinbaseCredentials.php +++ b/src/Model/CoinbaseCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CoinbaseCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/CoinbaseSettings.php b/src/Model/CoinbaseSettings.php index 321c005d8..6a2b429c3 100644 --- a/src/Model/CoinbaseSettings.php +++ b/src/Model/CoinbaseSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CoinbaseSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tolerancePercentage', $data)) { $this->setTolerancePercentage($data['tolerancePercentage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTolerancePercentage(): int diff --git a/src/Model/Company.php b/src/Model/Company.php index dc1c827ae..2aa6f119d 100644 --- a/src/Model/Company.php +++ b/src/Model/Company.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Company implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/CompositeTokenFactory.php b/src/Model/CompositeTokenFactory.php index 02027e187..03db90c78 100644 --- a/src/Model/CompositeTokenFactory.php +++ b/src/Model/CompositeTokenFactory.php @@ -18,155 +18,155 @@ class CompositeTokenFactory { - public static function from(array $data = []): CompositeToken + public static function from(array $data = [], array $metadata = []): CompositeToken { return match ($data['method']) { - 'AdvCash' => AlternativePaymentToken::from($data), - 'Alfa-click' => AlternativePaymentToken::from($data), - 'Alipay' => AlternativePaymentToken::from($data), - 'AstroPay Card' => AlternativePaymentToken::from($data), - 'AstroPay-GO' => AlternativePaymentToken::from($data), - 'Baloto' => AlternativePaymentToken::from($data), - 'Bancontact' => AlternativePaymentToken::from($data), - 'Bancontact-mobile' => AlternativePaymentToken::from($data), - 'BankReferenced' => AlternativePaymentToken::from($data), - 'Beeline' => AlternativePaymentToken::from($data), - 'Belfius-direct-net' => AlternativePaymentToken::from($data), - 'Bizum' => AlternativePaymentToken::from($data), - 'Boleto' => AlternativePaymentToken::from($data), - 'CASHlib' => AlternativePaymentToken::from($data), - 'CODVoucher' => AlternativePaymentToken::from($data), - 'CashToCode' => AlternativePaymentToken::from($data), - 'China UnionPay' => AlternativePaymentToken::from($data), - 'Cleo' => AlternativePaymentToken::from($data), - 'Conekta-oxxo' => AlternativePaymentToken::from($data), - 'Cupon-de-pagos' => AlternativePaymentToken::from($data), - 'EPS' => AlternativePaymentToken::from($data), - 'Efecty' => AlternativePaymentToken::from($data), - 'FasterPay' => AlternativePaymentToken::from($data), - 'Flexepin' => AlternativePaymentToken::from($data), - 'Giropay' => AlternativePaymentToken::from($data), - 'Google Pay' => AlternativePaymentToken::from($data), - 'Gpaysafe' => AlternativePaymentToken::from($data), - 'ING-homepay' => AlternativePaymentToken::from($data), - 'INOVAPAY-pin' => AlternativePaymentToken::from($data), - 'INOVAPAY-wallet' => AlternativePaymentToken::from($data), - 'InstaDebit' => AlternativePaymentToken::from($data), - 'InstantPayments' => AlternativePaymentToken::from($data), - 'Interac' => AlternativePaymentToken::from($data), - 'Interac-eTransfer' => AlternativePaymentToken::from($data), - 'Interac-online' => AlternativePaymentToken::from($data), - 'Jeton' => AlternativePaymentToken::from($data), - 'KNOT' => AlternativePaymentToken::from($data), - 'MTS' => AlternativePaymentToken::from($data), - 'Matrix' => AlternativePaymentToken::from($data), - 'MaxiCash' => AlternativePaymentToken::from($data), - 'Megafon' => AlternativePaymentToken::from($data), - 'MiFinity-eWallet' => AlternativePaymentToken::from($data), - 'MuchBetter' => AlternativePaymentToken::from($data), - 'Multibanco' => AlternativePaymentToken::from($data), - 'Neosurf' => AlternativePaymentToken::from($data), - 'Netbanking' => AlternativePaymentToken::from($data), - 'Neteller' => AlternativePaymentToken::from($data), - 'Nordea-Solo' => AlternativePaymentToken::from($data), - 'OXXO' => AlternativePaymentToken::from($data), - 'OchaPay' => AlternativePaymentToken::from($data), - 'Onlineueberweisen' => AlternativePaymentToken::from($data), - 'P24' => AlternativePaymentToken::from($data), - 'POLi' => AlternativePaymentToken::from($data), - 'Pagadito' => AlternativePaymentToken::from($data), - 'PagoEffectivo' => AlternativePaymentToken::from($data), - 'Pagsmile-deposit-express' => AlternativePaymentToken::from($data), - 'Pagsmile-lottery' => AlternativePaymentToken::from($data), - 'Pay4Fun' => AlternativePaymentToken::from($data), - 'PayCash' => AlternativePaymentToken::from($data), - 'PayTabs' => AlternativePaymentToken::from($data), - 'Payeer' => AlternativePaymentToken::from($data), - 'PaymentAsia-crypto' => AlternativePaymentToken::from($data), - 'Paymero' => AlternativePaymentToken::from($data), - 'Paynote' => AlternativePaymentToken::from($data), - 'Paysafecard' => AlternativePaymentToken::from($data), - 'Paysafecash' => AlternativePaymentToken::from($data), - 'Perfect-money' => AlternativePaymentToken::from($data), - 'PhonePe' => AlternativePaymentToken::from($data), - 'Piastrix' => AlternativePaymentToken::from($data), - 'PinPay' => AlternativePaymentToken::from($data), - 'PostFinance-card' => AlternativePaymentToken::from($data), - 'PostFinance-e-finance' => AlternativePaymentToken::from($data), - 'QIWI' => AlternativePaymentToken::from($data), - 'QPay' => AlternativePaymentToken::from($data), - 'QQPay' => AlternativePaymentToken::from($data), - 'Resurs' => AlternativePaymentToken::from($data), - 'SEPA' => AlternativePaymentToken::from($data), - 'SMSVoucher' => AlternativePaymentToken::from($data), - 'SafetyPay' => AlternativePaymentToken::from($data), - 'Skrill' => AlternativePaymentToken::from($data), - 'Skrill Rapid Transfer' => AlternativePaymentToken::from($data), - 'Sofort' => AlternativePaymentToken::from($data), - 'SparkPay' => AlternativePaymentToken::from($data), - 'Tele2' => AlternativePaymentToken::from($data), - 'Terminaly-RF' => AlternativePaymentToken::from($data), - 'ToditoCash-card' => AlternativePaymentToken::from($data), - 'Trustly' => AlternativePaymentToken::from($data), - 'UPI' => AlternativePaymentToken::from($data), - 'UPayCard' => AlternativePaymentToken::from($data), - 'USD-coin' => AlternativePaymentToken::from($data), - 'VCreditos' => AlternativePaymentToken::from($data), - 'VenusPoint' => AlternativePaymentToken::from($data), - 'WeChat Pay' => AlternativePaymentToken::from($data), - 'Webmoney' => AlternativePaymentToken::from($data), - 'Webpay' => AlternativePaymentToken::from($data), - 'Webpay Card' => AlternativePaymentToken::from($data), - 'Webpay-2' => AlternativePaymentToken::from($data), - 'XPay-P2P' => AlternativePaymentToken::from($data), - 'XPay-QR' => AlternativePaymentToken::from($data), - 'Yandex-money' => AlternativePaymentToken::from($data), - 'Zimpler' => AlternativePaymentToken::from($data), - 'Zotapay' => AlternativePaymentToken::from($data), - 'bank-transfer' => AlternativePaymentToken::from($data), - 'bank-transfer-2' => AlternativePaymentToken::from($data), - 'bank-transfer-3' => AlternativePaymentToken::from($data), - 'bank-transfer-4' => AlternativePaymentToken::from($data), - 'bank-transfer-5' => AlternativePaymentToken::from($data), - 'bank-transfer-6' => AlternativePaymentToken::from($data), - 'bank-transfer-7' => AlternativePaymentToken::from($data), - 'bank-transfer-8' => AlternativePaymentToken::from($data), - 'bank-transfer-9' => AlternativePaymentToken::from($data), - 'bitcoin' => AlternativePaymentToken::from($data), - 'cash' => AlternativePaymentToken::from($data), - 'cash-deposit' => AlternativePaymentToken::from($data), - 'check' => AlternativePaymentToken::from($data), - 'cryptocurrency' => AlternativePaymentToken::from($data), - 'domestic-cards' => AlternativePaymentToken::from($data), - 'ePay.bg' => AlternativePaymentToken::from($data), - 'eZeeWallet' => AlternativePaymentToken::from($data), - 'ecoPayz' => AlternativePaymentToken::from($data), - 'ecoVoucher' => AlternativePaymentToken::from($data), - 'iDEAL' => AlternativePaymentToken::from($data), - 'iDebit' => AlternativePaymentToken::from($data), - 'iWallet' => AlternativePaymentToken::from($data), - 'instant-bank-transfer' => AlternativePaymentToken::from($data), - 'invoice' => AlternativePaymentToken::from($data), - 'jpay' => AlternativePaymentToken::from($data), - 'loonie' => AlternativePaymentToken::from($data), - 'miscellaneous' => AlternativePaymentToken::from($data), - 'online-bank-transfer' => AlternativePaymentToken::from($data), - 'oriental-wallet' => AlternativePaymentToken::from($data), - 'phone' => AlternativePaymentToken::from($data), - 'rapyd-checkout' => AlternativePaymentToken::from($data), - 'swift-dbt' => AlternativePaymentToken::from($data), - 'voucher' => AlternativePaymentToken::from($data), - 'voucher-2' => AlternativePaymentToken::from($data), - 'voucher-3' => AlternativePaymentToken::from($data), - 'voucher-4' => AlternativePaymentToken::from($data), - 'ach' => BankAccountToken::from($data), - 'echeck' => BankAccountToken::from($data), - 'digital-wallet' => DigitalWalletToken::from($data), - 'Khelocard' => KhelocardCardToken::from($data), - 'Klarna' => KlarnaToken::from($data), - 'payment-card' => PaymentCardToken::from($data), - 'paypal' => PayPalToken::from($data), - 'plaid-account' => PlaidAccountToken::from($data), + 'AdvCash' => AlternativePaymentToken::from($data, $metadata), + 'Alfa-click' => AlternativePaymentToken::from($data, $metadata), + 'Alipay' => AlternativePaymentToken::from($data, $metadata), + 'AstroPay Card' => AlternativePaymentToken::from($data, $metadata), + 'AstroPay-GO' => AlternativePaymentToken::from($data, $metadata), + 'Baloto' => AlternativePaymentToken::from($data, $metadata), + 'Bancontact' => AlternativePaymentToken::from($data, $metadata), + 'Bancontact-mobile' => AlternativePaymentToken::from($data, $metadata), + 'BankReferenced' => AlternativePaymentToken::from($data, $metadata), + 'Beeline' => AlternativePaymentToken::from($data, $metadata), + 'Belfius-direct-net' => AlternativePaymentToken::from($data, $metadata), + 'Bizum' => AlternativePaymentToken::from($data, $metadata), + 'Boleto' => AlternativePaymentToken::from($data, $metadata), + 'CASHlib' => AlternativePaymentToken::from($data, $metadata), + 'CODVoucher' => AlternativePaymentToken::from($data, $metadata), + 'CashToCode' => AlternativePaymentToken::from($data, $metadata), + 'China UnionPay' => AlternativePaymentToken::from($data, $metadata), + 'Cleo' => AlternativePaymentToken::from($data, $metadata), + 'Conekta-oxxo' => AlternativePaymentToken::from($data, $metadata), + 'Cupon-de-pagos' => AlternativePaymentToken::from($data, $metadata), + 'EPS' => AlternativePaymentToken::from($data, $metadata), + 'Efecty' => AlternativePaymentToken::from($data, $metadata), + 'FasterPay' => AlternativePaymentToken::from($data, $metadata), + 'Flexepin' => AlternativePaymentToken::from($data, $metadata), + 'Giropay' => AlternativePaymentToken::from($data, $metadata), + 'Google Pay' => AlternativePaymentToken::from($data, $metadata), + 'Gpaysafe' => AlternativePaymentToken::from($data, $metadata), + 'ING-homepay' => AlternativePaymentToken::from($data, $metadata), + 'INOVAPAY-pin' => AlternativePaymentToken::from($data, $metadata), + 'INOVAPAY-wallet' => AlternativePaymentToken::from($data, $metadata), + 'InstaDebit' => AlternativePaymentToken::from($data, $metadata), + 'InstantPayments' => AlternativePaymentToken::from($data, $metadata), + 'Interac' => AlternativePaymentToken::from($data, $metadata), + 'Interac-eTransfer' => AlternativePaymentToken::from($data, $metadata), + 'Interac-online' => AlternativePaymentToken::from($data, $metadata), + 'Jeton' => AlternativePaymentToken::from($data, $metadata), + 'KNOT' => AlternativePaymentToken::from($data, $metadata), + 'MTS' => AlternativePaymentToken::from($data, $metadata), + 'Matrix' => AlternativePaymentToken::from($data, $metadata), + 'MaxiCash' => AlternativePaymentToken::from($data, $metadata), + 'Megafon' => AlternativePaymentToken::from($data, $metadata), + 'MiFinity-eWallet' => AlternativePaymentToken::from($data, $metadata), + 'MuchBetter' => AlternativePaymentToken::from($data, $metadata), + 'Multibanco' => AlternativePaymentToken::from($data, $metadata), + 'Neosurf' => AlternativePaymentToken::from($data, $metadata), + 'Netbanking' => AlternativePaymentToken::from($data, $metadata), + 'Neteller' => AlternativePaymentToken::from($data, $metadata), + 'Nordea-Solo' => AlternativePaymentToken::from($data, $metadata), + 'OXXO' => AlternativePaymentToken::from($data, $metadata), + 'OchaPay' => AlternativePaymentToken::from($data, $metadata), + 'Onlineueberweisen' => AlternativePaymentToken::from($data, $metadata), + 'P24' => AlternativePaymentToken::from($data, $metadata), + 'POLi' => AlternativePaymentToken::from($data, $metadata), + 'Pagadito' => AlternativePaymentToken::from($data, $metadata), + 'PagoEffectivo' => AlternativePaymentToken::from($data, $metadata), + 'Pagsmile-deposit-express' => AlternativePaymentToken::from($data, $metadata), + 'Pagsmile-lottery' => AlternativePaymentToken::from($data, $metadata), + 'Pay4Fun' => AlternativePaymentToken::from($data, $metadata), + 'PayCash' => AlternativePaymentToken::from($data, $metadata), + 'PayTabs' => AlternativePaymentToken::from($data, $metadata), + 'Payeer' => AlternativePaymentToken::from($data, $metadata), + 'PaymentAsia-crypto' => AlternativePaymentToken::from($data, $metadata), + 'Paymero' => AlternativePaymentToken::from($data, $metadata), + 'Paynote' => AlternativePaymentToken::from($data, $metadata), + 'Paysafecard' => AlternativePaymentToken::from($data, $metadata), + 'Paysafecash' => AlternativePaymentToken::from($data, $metadata), + 'Perfect-money' => AlternativePaymentToken::from($data, $metadata), + 'PhonePe' => AlternativePaymentToken::from($data, $metadata), + 'Piastrix' => AlternativePaymentToken::from($data, $metadata), + 'PinPay' => AlternativePaymentToken::from($data, $metadata), + 'PostFinance-card' => AlternativePaymentToken::from($data, $metadata), + 'PostFinance-e-finance' => AlternativePaymentToken::from($data, $metadata), + 'QIWI' => AlternativePaymentToken::from($data, $metadata), + 'QPay' => AlternativePaymentToken::from($data, $metadata), + 'QQPay' => AlternativePaymentToken::from($data, $metadata), + 'Resurs' => AlternativePaymentToken::from($data, $metadata), + 'SEPA' => AlternativePaymentToken::from($data, $metadata), + 'SMSVoucher' => AlternativePaymentToken::from($data, $metadata), + 'SafetyPay' => AlternativePaymentToken::from($data, $metadata), + 'Skrill' => AlternativePaymentToken::from($data, $metadata), + 'Skrill Rapid Transfer' => AlternativePaymentToken::from($data, $metadata), + 'Sofort' => AlternativePaymentToken::from($data, $metadata), + 'SparkPay' => AlternativePaymentToken::from($data, $metadata), + 'Tele2' => AlternativePaymentToken::from($data, $metadata), + 'Terminaly-RF' => AlternativePaymentToken::from($data, $metadata), + 'ToditoCash-card' => AlternativePaymentToken::from($data, $metadata), + 'Trustly' => AlternativePaymentToken::from($data, $metadata), + 'UPI' => AlternativePaymentToken::from($data, $metadata), + 'UPayCard' => AlternativePaymentToken::from($data, $metadata), + 'USD-coin' => AlternativePaymentToken::from($data, $metadata), + 'VCreditos' => AlternativePaymentToken::from($data, $metadata), + 'VenusPoint' => AlternativePaymentToken::from($data, $metadata), + 'WeChat Pay' => AlternativePaymentToken::from($data, $metadata), + 'Webmoney' => AlternativePaymentToken::from($data, $metadata), + 'Webpay' => AlternativePaymentToken::from($data, $metadata), + 'Webpay Card' => AlternativePaymentToken::from($data, $metadata), + 'Webpay-2' => AlternativePaymentToken::from($data, $metadata), + 'XPay-P2P' => AlternativePaymentToken::from($data, $metadata), + 'XPay-QR' => AlternativePaymentToken::from($data, $metadata), + 'Yandex-money' => AlternativePaymentToken::from($data, $metadata), + 'Zimpler' => AlternativePaymentToken::from($data, $metadata), + 'Zotapay' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-2' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-3' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-4' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-5' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-6' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-7' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-8' => AlternativePaymentToken::from($data, $metadata), + 'bank-transfer-9' => AlternativePaymentToken::from($data, $metadata), + 'bitcoin' => AlternativePaymentToken::from($data, $metadata), + 'cash' => AlternativePaymentToken::from($data, $metadata), + 'cash-deposit' => AlternativePaymentToken::from($data, $metadata), + 'check' => AlternativePaymentToken::from($data, $metadata), + 'domestic-cards' => AlternativePaymentToken::from($data, $metadata), + 'ePay.bg' => AlternativePaymentToken::from($data, $metadata), + 'eZeeWallet' => AlternativePaymentToken::from($data, $metadata), + 'ecoPayz' => AlternativePaymentToken::from($data, $metadata), + 'ecoVoucher' => AlternativePaymentToken::from($data, $metadata), + 'iDEAL' => AlternativePaymentToken::from($data, $metadata), + 'iDebit' => AlternativePaymentToken::from($data, $metadata), + 'iWallet' => AlternativePaymentToken::from($data, $metadata), + 'instant-bank-transfer' => AlternativePaymentToken::from($data, $metadata), + 'invoice' => AlternativePaymentToken::from($data, $metadata), + 'jpay' => AlternativePaymentToken::from($data, $metadata), + 'loonie' => AlternativePaymentToken::from($data, $metadata), + 'miscellaneous' => AlternativePaymentToken::from($data, $metadata), + 'online-bank-transfer' => AlternativePaymentToken::from($data, $metadata), + 'oriental-wallet' => AlternativePaymentToken::from($data, $metadata), + 'phone' => AlternativePaymentToken::from($data, $metadata), + 'rapyd-checkout' => AlternativePaymentToken::from($data, $metadata), + 'swift-dbt' => AlternativePaymentToken::from($data, $metadata), + 'voucher' => AlternativePaymentToken::from($data, $metadata), + 'voucher-2' => AlternativePaymentToken::from($data, $metadata), + 'voucher-3' => AlternativePaymentToken::from($data, $metadata), + 'voucher-4' => AlternativePaymentToken::from($data, $metadata), + 'ach' => BankAccountToken::from($data, $metadata), + 'echeck' => BankAccountToken::from($data, $metadata), + 'cryptocurrency' => CryptocurrencyToken::from($data, $metadata), + 'digital-wallet' => DigitalWalletToken::from($data, $metadata), + 'Khelocard' => KhelocardCardToken::from($data, $metadata), + 'Klarna' => KlarnaToken::from($data, $metadata), + 'payment-card' => PaymentCardToken::from($data, $metadata), + 'paypal' => PayPalToken::from($data, $metadata), + 'plaid-account' => PlaidAccountToken::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Conekta.php b/src/Model/Conekta.php index 919bd7a1a..f57d98659 100644 --- a/src/Model/Conekta.php +++ b/src/Model/Conekta.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Conekta extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Conekta', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ConektaCredentials diff --git a/src/Model/ConektaCredentials.php b/src/Model/ConektaCredentials.php index 279d6ee63..51413d383 100644 --- a/src/Model/ConektaCredentials.php +++ b/src/Model/ConektaCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ConektaCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/ConektaSettings.php b/src/Model/ConektaSettings.php index 377990b40..344891082 100644 --- a/src/Model/ConektaSettings.php +++ b/src/Model/ConektaSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ConektaSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('baseUrl', $data)) { $this->setBaseUrl($data['baseUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBaseUrl(): ?string diff --git a/src/Model/ConfigurablePlan.php b/src/Model/ConfigurablePlan.php index 24e25bc71..662fd1365 100644 --- a/src/Model/ConfigurablePlan.php +++ b/src/Model/ConfigurablePlan.php @@ -18,5 +18,5 @@ interface ConfigurablePlan extends JsonSerializable { - public function getId(): ?string; + public function getId(): string; } diff --git a/src/Model/ConfigurablePlanFactory.php b/src/Model/ConfigurablePlanFactory.php index 68ebd870f..2252b182d 100644 --- a/src/Model/ConfigurablePlanFactory.php +++ b/src/Model/ConfigurablePlanFactory.php @@ -16,12 +16,12 @@ class ConfigurablePlanFactory { - public static function from(array $data = []): ConfigurablePlan + public static function from(array $data = [], array $metadata = []): ConfigurablePlan { if (count($data) === 1 && isset($data['id'])) { - return OriginalPlan::from($data); + return OriginalPlan::from($data, $metadata); } - return FlexiblePlanFactory::from($data); + return FlexiblePlanFactory::from($data, $metadata); } } diff --git a/src/Model/ContactEmails.php b/src/Model/ContactEmails.php index 4af3a954a..1f321bf45 100644 --- a/src/Model/ContactEmails.php +++ b/src/Model/ContactEmails.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ContactEmails implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('label', $data)) { $this->setLabel($data['label']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('primary', $data)) { $this->setPrimary($data['primary']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLabel(): string diff --git a/src/Model/ContactObject.php b/src/Model/ContactObject.php index 50296af6f..866d5f0f7 100644 --- a/src/Model/ContactObject.php +++ b/src/Model/ContactObject.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ContactObject implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -65,11 +68,12 @@ public function __construct(array $data = []) if (array_key_exists('hash', $data)) { $this->setHash($data['hash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/ContactPhoneNumbers.php b/src/Model/ContactPhoneNumbers.php index f62d2b1c8..2b7f9cd41 100644 --- a/src/Model/ContactPhoneNumbers.php +++ b/src/Model/ContactPhoneNumbers.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ContactPhoneNumbers implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('label', $data)) { $this->setLabel($data['label']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('primary', $data)) { $this->setPrimary($data['primary']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLabel(): string diff --git a/src/Model/Coppr.php b/src/Model/Coppr.php index 546244715..3aaf94882 100644 --- a/src/Model/Coppr.php +++ b/src/Model/Coppr.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Coppr extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Coppr', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CopprCredentials diff --git a/src/Model/CopprCredentials.php b/src/Model/CopprCredentials.php index eb47e9635..a7536acf5 100644 --- a/src/Model/CopprCredentials.php +++ b/src/Model/CopprCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CopprCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('organizationId', $data)) { $this->setOrganizationId($data['organizationId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOrganizationId(): string diff --git a/src/Model/CopprSettings.php b/src/Model/CopprSettings.php index 08edc08c3..ca28959cc 100644 --- a/src/Model/CopprSettings.php +++ b/src/Model/CopprSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CopprSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rebillyPublishableKey', $data)) { $this->setRebillyPublishableKey($data['rebillyPublishableKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRebillyPublishableKey(): ?string diff --git a/src/Model/CountriesMetadataFactory.php b/src/Model/CountriesMetadataFactory.php index 49d5da586..965f3d2c8 100644 --- a/src/Model/CountriesMetadataFactory.php +++ b/src/Model/CountriesMetadataFactory.php @@ -18,12 +18,12 @@ class CountriesMetadataFactory { - public static function from(array $data = []): CountriesMetadata + public static function from(array $data = [], array $metadata = []): CountriesMetadata { return match ($data['mode']) { - 'subset' => CountriesSubsetMetadata::from($data), - 'all' => CountriesUnrestrictedMetadata::from($data), - 'unknown' => CountriesUnrestrictedMetadata::from($data), + 'subset' => CountriesSubsetMetadata::from($data, $metadata), + 'all' => CountriesUnrestrictedMetadata::from($data, $metadata), + 'unknown' => CountriesUnrestrictedMetadata::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/CountriesSubsetMetadata.php b/src/Model/CountriesSubsetMetadata.php index 36a75c3f6..87496e083 100644 --- a/src/Model/CountriesSubsetMetadata.php +++ b/src/Model/CountriesSubsetMetadata.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CountriesSubsetMetadata implements CountriesMetadata { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('values', $data)) { $this->setValues($data['values']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMode(): string diff --git a/src/Model/CountriesUnrestrictedMetadata.php b/src/Model/CountriesUnrestrictedMetadata.php index 75b839e24..9b9584810 100644 --- a/src/Model/CountriesUnrestrictedMetadata.php +++ b/src/Model/CountriesUnrestrictedMetadata.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CountriesUnrestrictedMetadata implements CountriesMetadata { + use HasMetadata; + public const MODE_UNKNOWN = 'unknown'; public const MODE_ALL = 'all'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('mode', $data)) { $this->setMode($data['mode']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('values', $data)) { $this->setValues($data['values']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMode(): string diff --git a/src/Model/Coupon.php b/src/Model/Coupon.php index 49a3868ec..3f59cf0d3 100644 --- a/src/Model/Coupon.php +++ b/src/Model/Coupon.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Coupon implements JsonSerializable { + use HasMetadata; + public const STATUS_DRAFT = 'draft'; public const STATUS_ISSUED = 'issued'; @@ -28,7 +31,7 @@ class Coupon implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CouponExpiration.php b/src/Model/CouponExpiration.php index 2cd32996d..b0b39aef8 100644 --- a/src/Model/CouponExpiration.php +++ b/src/Model/CouponExpiration.php @@ -17,21 +17,25 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CouponExpiration implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('expiredTime', $data)) { $this->setExpiredTime($data['expiredTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExpiredTime(): DateTimeImmutable diff --git a/src/Model/CouponRedemption.php b/src/Model/CouponRedemption.php index 67fff08c1..867ed9b3f 100644 --- a/src/Model/CouponRedemption.php +++ b/src/Model/CouponRedemption.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CouponRedemption implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -48,11 +51,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CouponRestrictionDiscountPerRedemption.php b/src/Model/CouponRestrictionDiscountPerRedemption.php index a42b5e2f2..91db03c71 100644 --- a/src/Model/CouponRestrictionDiscountPerRedemption.php +++ b/src/Model/CouponRestrictionDiscountPerRedemption.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionDiscountPerRedemption implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionExclusiveApplication.php b/src/Model/CouponRestrictionExclusiveApplication.php index f3eb7c335..368ba271b 100644 --- a/src/Model/CouponRestrictionExclusiveApplication.php +++ b/src/Model/CouponRestrictionExclusiveApplication.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionExclusiveApplication implements CouponRestriction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionFactory.php b/src/Model/CouponRestrictionFactory.php index 8665f8729..e0ba00f16 100644 --- a/src/Model/CouponRestrictionFactory.php +++ b/src/Model/CouponRestrictionFactory.php @@ -18,23 +18,24 @@ class CouponRestrictionFactory { - public static function from(array $data = []): CouponRestriction + public static function from(array $data = [], array $metadata = []): CouponRestriction { return match ($data['type']) { - 'discounts-per-redemption' => CouponRestrictionDiscountPerRedemption::from($data), - 'restrict-to-exclusive-application' => CouponRestrictionExclusiveApplication::from($data), - 'minimum-order-amount' => CouponRestrictionMinimumOrderAmount::from($data), - 'paid-by-time' => CouponRestrictionPaidByTime::from($data), - 'redemptions-per-customer' => CouponRestrictionRedemptionsPerCustomer::from($data), - 'restrict-to-bxgy' => CouponRestrictionRestrictToBxgy::from($data), - 'restrict-to-countries' => CouponRestrictionRestrictToCountries::from($data), - 'restrict-to-customers' => CouponRestrictionRestrictToCustomers::from($data), - 'restrict-to-customer-tags' => CouponRestrictionRestrictToCustomerTags::from($data), - 'restrict-to-invoices' => CouponRestrictionRestrictToInvoices::from($data), - 'restrict-to-plans' => CouponRestrictionRestrictToPlans::from($data), - 'restrict-to-products' => CouponRestrictionRestrictToProducts::from($data), - 'restrict-to-subscriptions' => CouponRestrictionRestrictToSubscriptions::from($data), - 'total-redemptions' => CouponRestrictionTotalRedemptions::from($data), + 'discounts-per-redemption' => CouponRestrictionDiscountPerRedemption::from($data, $metadata), + 'restrict-to-exclusive-application' => CouponRestrictionExclusiveApplication::from($data, $metadata), + 'maximum-order-amount' => CouponRestrictionMaximumOrderAmount::from($data, $metadata), + 'minimum-order-amount' => CouponRestrictionMinimumOrderAmount::from($data, $metadata), + 'paid-by-time' => CouponRestrictionPaidByTime::from($data, $metadata), + 'redemptions-per-customer' => CouponRestrictionRedemptionsPerCustomer::from($data, $metadata), + 'restrict-to-bxgy' => CouponRestrictionRestrictToBxgy::from($data, $metadata), + 'restrict-to-countries' => CouponRestrictionRestrictToCountries::from($data, $metadata), + 'restrict-to-customers' => CouponRestrictionRestrictToCustomers::from($data, $metadata), + 'restrict-to-customer-tags' => CouponRestrictionRestrictToCustomerTags::from($data, $metadata), + 'restrict-to-invoices' => CouponRestrictionRestrictToInvoices::from($data, $metadata), + 'restrict-to-plans' => CouponRestrictionRestrictToPlans::from($data, $metadata), + 'restrict-to-products' => CouponRestrictionRestrictToProducts::from($data, $metadata), + 'restrict-to-subscriptions' => CouponRestrictionRestrictToSubscriptions::from($data, $metadata), + 'total-redemptions' => CouponRestrictionTotalRedemptions::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/CouponRestrictionMaximumOrderAmount.php b/src/Model/CouponRestrictionMaximumOrderAmount.php new file mode 100644 index 000000000..81d196a94 --- /dev/null +++ b/src/Model/CouponRestrictionMaximumOrderAmount.php @@ -0,0 +1,88 @@ +setAmount($data['amount']); + } + if (array_key_exists('currency', $data)) { + $this->setCurrency($data['currency']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getType(): string + { + return 'maximum-order-amount'; + } + + public function getAmount(): float + { + return $this->fields['amount']; + } + + public function setAmount(float|string $amount): static + { + if (is_string($amount)) { + $amount = (float) $amount; + } + + $this->fields['amount'] = $amount; + + return $this; + } + + public function getCurrency(): string + { + return $this->fields['currency']; + } + + public function setCurrency(string $currency): static + { + $this->fields['currency'] = $currency; + + return $this; + } + + public function jsonSerialize(): array + { + $data = [ + 'type' => 'maximum-order-amount', + ]; + if (array_key_exists('amount', $this->fields)) { + $data['amount'] = $this->fields['amount']; + } + if (array_key_exists('currency', $this->fields)) { + $data['currency'] = $this->fields['currency']; + } + + return $data; + } +} diff --git a/src/Model/CouponRestrictionMinimumOrderAmount.php b/src/Model/CouponRestrictionMinimumOrderAmount.php index 4be0a1146..0d7beb0d0 100644 --- a/src/Model/CouponRestrictionMinimumOrderAmount.php +++ b/src/Model/CouponRestrictionMinimumOrderAmount.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionMinimumOrderAmount implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionPaidByTime.php b/src/Model/CouponRestrictionPaidByTime.php index b3cf4b20c..6c1c68f2b 100644 --- a/src/Model/CouponRestrictionPaidByTime.php +++ b/src/Model/CouponRestrictionPaidByTime.php @@ -16,21 +16,25 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class CouponRestrictionPaidByTime implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('time', $data)) { $this->setTime($data['time']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRedemptionsPerCustomer.php b/src/Model/CouponRestrictionRedemptionsPerCustomer.php index c4b00a77b..20cc2d29d 100644 --- a/src/Model/CouponRestrictionRedemptionsPerCustomer.php +++ b/src/Model/CouponRestrictionRedemptionsPerCustomer.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRedemptionsPerCustomer implements CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToBxgy.php b/src/Model/CouponRestrictionRestrictToBxgy.php index da55d6894..d0bb2b53d 100644 --- a/src/Model/CouponRestrictionRestrictToBxgy.php +++ b/src/Model/CouponRestrictionRestrictToBxgy.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToBxgy implements CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('buy', $data)) { $this->setBuy($data['buy']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('get', $data)) { $this->setGet($data['get']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToBxgyBuy.php b/src/Model/CouponRestrictionRestrictToBxgyBuy.php index c02fcf34a..aa0cc43fd 100644 --- a/src/Model/CouponRestrictionRestrictToBxgyBuy.php +++ b/src/Model/CouponRestrictionRestrictToBxgyBuy.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CouponRestrictionRestrictToBxgyBuy implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlanId(): string diff --git a/src/Model/CouponRestrictionRestrictToBxgyGet.php b/src/Model/CouponRestrictionRestrictToBxgyGet.php index 223d96958..5fe966368 100644 --- a/src/Model/CouponRestrictionRestrictToBxgyGet.php +++ b/src/Model/CouponRestrictionRestrictToBxgyGet.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CouponRestrictionRestrictToBxgyGet implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlanId(): string diff --git a/src/Model/CouponRestrictionRestrictToCountries.php b/src/Model/CouponRestrictionRestrictToCountries.php index fc9d16c25..a3b306d60 100644 --- a/src/Model/CouponRestrictionRestrictToCountries.php +++ b/src/Model/CouponRestrictionRestrictToCountries.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToCountries implements CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('countries', $data)) { $this->setCountries($data['countries']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToCustomerTags.php b/src/Model/CouponRestrictionRestrictToCustomerTags.php index 533e2dbe7..5c7ab8cda 100644 --- a/src/Model/CouponRestrictionRestrictToCustomerTags.php +++ b/src/Model/CouponRestrictionRestrictToCustomerTags.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToCustomerTags implements CouponRestriction { + use HasMetadata; + public const REQUIRE_ALL_TAGS_TRUE = 'true'; public const REQUIRE_ALL_TAGS_FALSE = 'false'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tags', $data)) { $this->setTags($data['tags']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('requireAllTags', $data)) { $this->setRequireAllTags($data['requireAllTags']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToCustomers.php b/src/Model/CouponRestrictionRestrictToCustomers.php index bd84ba896..f3469ff7c 100644 --- a/src/Model/CouponRestrictionRestrictToCustomers.php +++ b/src/Model/CouponRestrictionRestrictToCustomers.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToCustomers implements CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerIds', $data)) { $this->setCustomerIds($data['customerIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToInvoices.php b/src/Model/CouponRestrictionRestrictToInvoices.php index d0d53b4c7..d773ee00d 100644 --- a/src/Model/CouponRestrictionRestrictToInvoices.php +++ b/src/Model/CouponRestrictionRestrictToInvoices.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToInvoices implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('invoiceIds', $data)) { $this->setInvoiceIds($data['invoiceIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToPlans.php b/src/Model/CouponRestrictionRestrictToPlans.php index 7b072712b..97854c3c2 100644 --- a/src/Model/CouponRestrictionRestrictToPlans.php +++ b/src/Model/CouponRestrictionRestrictToPlans.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToPlans implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planIds', $data)) { $this->setPlanIds($data['planIds']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('minimumQuantity', $data)) { $this->setMinimumQuantity($data['minimumQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToProducts.php b/src/Model/CouponRestrictionRestrictToProducts.php index 9c840bb80..5b6aedf08 100644 --- a/src/Model/CouponRestrictionRestrictToProducts.php +++ b/src/Model/CouponRestrictionRestrictToProducts.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToProducts implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('productIds', $data)) { $this->setProductIds($data['productIds']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('minimumQuantity', $data)) { $this->setMinimumQuantity($data['minimumQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionRestrictToSubscriptions.php b/src/Model/CouponRestrictionRestrictToSubscriptions.php index 085f4a614..fd05fe2c2 100644 --- a/src/Model/CouponRestrictionRestrictToSubscriptions.php +++ b/src/Model/CouponRestrictionRestrictToSubscriptions.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionRestrictToSubscriptions implements RedemptionRestriction, CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('subscriptionIds', $data)) { $this->setSubscriptionIds($data['subscriptionIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CouponRestrictionTotalRedemptions.php b/src/Model/CouponRestrictionTotalRedemptions.php index c822455ae..0e1f7052c 100644 --- a/src/Model/CouponRestrictionTotalRedemptions.php +++ b/src/Model/CouponRestrictionTotalRedemptions.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CouponRestrictionTotalRedemptions implements CouponRestriction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CreationQuote.php b/src/Model/CreationQuote.php index 5b24620f8..3107f5fbc 100644 --- a/src/Model/CreationQuote.php +++ b/src/Model/CreationQuote.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuote implements Quote { + use HasMetadata; + public const ACCEPTANCE_CONDITIONS_CUSTOMER = 'customer'; public const ACCEPTANCE_CONDITIONS_PAYMENT = 'payment'; @@ -37,7 +40,7 @@ class CreationQuote implements Quote private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -108,11 +111,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/CreationQuoteAcceptanceFulfillment.php b/src/Model/CreationQuoteAcceptanceFulfillment.php index b9ac25600..c46711ed4 100644 --- a/src/Model/CreationQuoteAcceptanceFulfillment.php +++ b/src/Model/CreationQuoteAcceptanceFulfillment.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteAcceptanceFulfillment implements JsonSerializable { + use HasMetadata; + public const CONDITION_CUSTOMER = 'customer'; public const CONDITION_PAYMENT = 'payment'; @@ -26,7 +29,7 @@ class CreationQuoteAcceptanceFulfillment implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('condition', $data)) { $this->setCondition($data['condition']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('isFulfilled', $data)) { $this->setIsFulfilled($data['isFulfilled']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCondition(): ?string diff --git a/src/Model/CreationQuoteEmbedded.php b/src/Model/CreationQuoteEmbedded.php index a58d19668..7c17c9960 100644 --- a/src/Model/CreationQuoteEmbedded.php +++ b/src/Model/CreationQuoteEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('invoice', $data)) { $this->setInvoice($data['invoice']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/CreationQuoteInvoicePreview.php b/src/Model/CreationQuoteInvoicePreview.php index 2e98f20f3..d57b6dd0e 100644 --- a/src/Model/CreationQuoteInvoicePreview.php +++ b/src/Model/CreationQuoteInvoicePreview.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteInvoicePreview implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('items', $data)) { $this->setItems($data['items']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/CreationQuoteInvoicePreviewInitialAmounts.php b/src/Model/CreationQuoteInvoicePreviewInitialAmounts.php index 26d86201d..40bd53c19 100644 --- a/src/Model/CreationQuoteInvoicePreviewInitialAmounts.php +++ b/src/Model/CreationQuoteInvoicePreviewInitialAmounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteInvoicePreviewInitialAmounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('taxAmount', $data)) { $this->setTaxAmount($data['taxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/CreationQuoteInvoicePreviewItems.php b/src/Model/CreationQuoteInvoicePreviewItems.php index c615c388a..8fbb5c595 100644 --- a/src/Model/CreationQuoteInvoicePreviewItems.php +++ b/src/Model/CreationQuoteInvoicePreviewItems.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteInvoicePreviewItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quoteItemId', $data)) { $this->setQuoteItemId($data['quoteItemId']); @@ -68,11 +71,12 @@ public function __construct(array $data = []) if (array_key_exists('trialTaxAmount', $data)) { $this->setTrialTaxAmount($data['trialTaxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getQuoteItemId(): ?string diff --git a/src/Model/CreationQuoteInvoicePreviewRecurringAmounts.php b/src/Model/CreationQuoteInvoicePreviewRecurringAmounts.php index 29287ab42..c2f4866df 100644 --- a/src/Model/CreationQuoteInvoicePreviewRecurringAmounts.php +++ b/src/Model/CreationQuoteInvoicePreviewRecurringAmounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteInvoicePreviewRecurringAmounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('taxAmount', $data)) { $this->setTaxAmount($data['taxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/CreationQuoteOrder.php b/src/Model/CreationQuoteOrder.php index ac071c246..5e2a21a27 100644 --- a/src/Model/CreationQuoteOrder.php +++ b/src/Model/CreationQuoteOrder.php @@ -14,13 +14,18 @@ namespace Rebilly\Sdk\Model; +use DateTimeImmutable; +use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteOrder implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -40,11 +45,18 @@ public function __construct(array $data = []) if (array_key_exists('billingAddress', $data)) { $this->setBillingAddress($data['billingAddress']); } + if (array_key_exists('startTime', $data)) { + $this->setStartTime($data['startTime']); + } + if (array_key_exists('isLegacy', $data)) { + $this->setIsLegacy($data['isLegacy']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -135,6 +147,34 @@ public function setBillingAddress(null|ContactObject|array $billingAddress): sta return $this; } + public function getStartTime(): ?DateTimeImmutable + { + return $this->fields['startTime'] ?? null; + } + + public function setStartTime(null|DateTimeImmutable|string $startTime): static + { + if ($startTime !== null && !($startTime instanceof DateTimeImmutable)) { + $startTime = new DateTimeImmutable($startTime); + } + + $this->fields['startTime'] = $startTime; + + return $this; + } + + public function getIsLegacy(): ?bool + { + return $this->fields['isLegacy'] ?? null; + } + + public function setIsLegacy(null|bool $isLegacy): static + { + $this->fields['isLegacy'] = $isLegacy; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -159,6 +199,12 @@ public function jsonSerialize(): array if (array_key_exists('billingAddress', $this->fields)) { $data['billingAddress'] = $this->fields['billingAddress']?->jsonSerialize(); } + if (array_key_exists('startTime', $this->fields)) { + $data['startTime'] = $this->fields['startTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('isLegacy', $this->fields)) { + $data['isLegacy'] = $this->fields['isLegacy']; + } return $data; } diff --git a/src/Model/CreationQuoteSignature.php b/src/Model/CreationQuoteSignature.php index 84a3e9f6d..6d89063f8 100644 --- a/src/Model/CreationQuoteSignature.php +++ b/src/Model/CreationQuoteSignature.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreationQuoteSignature implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('showWrittenSignatureLines', $data)) { $this->setShowWrittenSignatureLines($data['showWrittenSignatureLines']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('organizationPrintedName', $data)) { $this->setOrganizationPrintedName($data['organizationPrintedName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getShowWrittenSignatureLines(): ?bool diff --git a/src/Model/CreditFileCommonDecisionData.php b/src/Model/CreditFileCommonDecisionData.php index 88805b697..9ababbf5b 100644 --- a/src/Model/CreditFileCommonDecisionData.php +++ b/src/Model/CreditFileCommonDecisionData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditFileCommonDecisionData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('lastNameMatch', $data)) { $this->setLastNameMatch($data['lastNameMatch']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('dateOfBirthAsReported', $data)) { $this->setDateOfBirthAsReported($data['dateOfBirthAsReported']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLastNameMatch(): ?string diff --git a/src/Model/CreditFileMatches.php b/src/Model/CreditFileMatches.php index 79d13dae6..abd75ea20 100644 --- a/src/Model/CreditFileMatches.php +++ b/src/Model/CreditFileMatches.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditFileMatches implements JsonSerializable { + use HasMetadata; + public const CREDIT_BUREAU_EQUIFAX = 'equifax'; public const CREDIT_BUREAU_EXPERIAN = 'experian'; @@ -36,7 +39,7 @@ class CreditFileMatches implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('creditBureau', $data)) { $this->setCreditBureau($data['creditBureau']); @@ -59,11 +62,12 @@ public function __construct(array $data = []) if (array_key_exists('referenceData', $data)) { $this->setReferenceData($data['referenceData']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCreditBureau(): ?string diff --git a/src/Model/CreditFileMatchesReferenceData.php b/src/Model/CreditFileMatchesReferenceData.php index e26e77f7d..f3604adf4 100644 --- a/src/Model/CreditFileMatchesReferenceData.php +++ b/src/Model/CreditFileMatchesReferenceData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditFileMatchesReferenceData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('singleSourceHit', $data)) { $this->setSingleSourceHit($data['singleSourceHit']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('dualDecision', $data)) { $this->setDualDecision($data['dualDecision']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSingleSourceHit(): ?string diff --git a/src/Model/CreditFileMatchesTrades.php b/src/Model/CreditFileMatchesTrades.php index ea5f87e83..b7c1e4a41 100644 --- a/src/Model/CreditFileMatchesTrades.php +++ b/src/Model/CreditFileMatchesTrades.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditFileMatchesTrades implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -32,11 +35,12 @@ public function __construct(array $data = []) if (array_key_exists('dateOpened', $data)) { $this->setDateOpened($data['dateOpened']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/CreditMemo.php b/src/Model/CreditMemo.php index b6096e842..7e687359e 100644 --- a/src/Model/CreditMemo.php +++ b/src/Model/CreditMemo.php @@ -17,11 +17,16 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemo implements JsonSerializable { + use HasMetadata; + public const STATUS_DRAFT = 'draft'; + public const STATUS_QUOTATION = 'quotation'; + public const STATUS_ISSUED = 'issued'; public const STATUS_APPLIED = 'applied'; @@ -50,7 +55,7 @@ class CreditMemo implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -109,11 +114,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CreditMemoAllocations.php b/src/Model/CreditMemoAllocations.php index 9f965df15..ff9459d8a 100644 --- a/src/Model/CreditMemoAllocations.php +++ b/src/Model/CreditMemoAllocations.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoAllocations implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactions', $data)) { $this->setTransactions($data['transactions']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('invoices', $data)) { $this->setInvoices($data['invoices']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/CreditMemoAllocationsTransactions.php b/src/Model/CreditMemoAllocationsTransactions.php index 4a73e798a..c91dc7795 100644 --- a/src/Model/CreditMemoAllocationsTransactions.php +++ b/src/Model/CreditMemoAllocationsTransactions.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoAllocationsTransactions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): ?string diff --git a/src/Model/CreditMemoEmbedded.php b/src/Model/CreditMemoEmbedded.php index 8961d0ab3..75ed7fdd7 100644 --- a/src/Model/CreditMemoEmbedded.php +++ b/src/Model/CreditMemoEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/CreditMemoInvoiceAllocation.php b/src/Model/CreditMemoInvoiceAllocation.php index aec035fb1..98a3dce3e 100644 --- a/src/Model/CreditMemoInvoiceAllocation.php +++ b/src/Model/CreditMemoInvoiceAllocation.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoInvoiceAllocation implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('invoiceId', $data)) { $this->setInvoiceId($data['invoiceId']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getInvoiceId(): ?string diff --git a/src/Model/CreditMemoItems.php b/src/Model/CreditMemoItems.php index 8036be239..d7e2edcb4 100644 --- a/src/Model/CreditMemoItems.php +++ b/src/Model/CreditMemoItems.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoItems implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('tax', $data)) { $this->setTax($data['tax']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CreditMemoTaxItem.php b/src/Model/CreditMemoTaxItem.php index d560c65b9..3b4fd7044 100644 --- a/src/Model/CreditMemoTaxItem.php +++ b/src/Model/CreditMemoTaxItem.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoTaxItem implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('jurisdictions', $data)) { $this->setJurisdictions($data['jurisdictions']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): float diff --git a/src/Model/CreditMemoTaxItemJurisdictions.php b/src/Model/CreditMemoTaxItemJurisdictions.php index 342304226..61f88b7ee 100644 --- a/src/Model/CreditMemoTaxItemJurisdictions.php +++ b/src/Model/CreditMemoTaxItemJurisdictions.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoTaxItemJurisdictions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('country', $data)) { $this->setCountry($data['country']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('city', $data)) { $this->setCity($data['city']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCountry(): ?string diff --git a/src/Model/CreditMemoTimeline.php b/src/Model/CreditMemoTimeline.php index ef596ff2a..e39ca51f9 100644 --- a/src/Model/CreditMemoTimeline.php +++ b/src/Model/CreditMemoTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CreditMemoTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_CREATED = 'credit-memo-created'; public const TYPE_APPLIED = 'credit-memo-applied'; @@ -36,7 +39,7 @@ class CreditMemoTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -59,11 +62,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/Credorax.php b/src/Model/Credorax.php index d38570cda..e3cfd200a 100644 --- a/src/Model/Credorax.php +++ b/src/Model/Credorax.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Credorax extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Credorax', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CredoraxCredentials diff --git a/src/Model/CredoraxCredentials.php b/src/Model/CredoraxCredentials.php index 015080cd2..89b47dafe 100644 --- a/src/Model/CredoraxCredentials.php +++ b/src/Model/CredoraxCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CredoraxCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantMd5Signature', $data)) { $this->setMerchantMd5Signature($data['merchantMd5Signature']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/CryptocurrencyToken.php b/src/Model/CryptocurrencyToken.php new file mode 100644 index 000000000..80010514d --- /dev/null +++ b/src/Model/CryptocurrencyToken.php @@ -0,0 +1,310 @@ +setWalletName($data['walletName']); + } + if (array_key_exists('walletAddress', $data)) { + $this->setWalletAddress($data['walletAddress']); + } + if (array_key_exists('billingAddress', $data)) { + $this->setBillingAddress($data['billingAddress']); + } + if (array_key_exists('id', $data)) { + $this->setId($data['id']); + } + if (array_key_exists('isUsed', $data)) { + $this->setIsUsed($data['isUsed']); + } + if (array_key_exists('riskMetadata', $data)) { + $this->setRiskMetadata($data['riskMetadata']); + } + if (array_key_exists('leadSource', $data)) { + $this->setLeadSource($data['leadSource']); + } + if (array_key_exists('createdTime', $data)) { + $this->setCreatedTime($data['createdTime']); + } + if (array_key_exists('updatedTime', $data)) { + $this->setUpdatedTime($data['updatedTime']); + } + if (array_key_exists('usageTime', $data)) { + $this->setUsageTime($data['usageTime']); + } + if (array_key_exists('expirationTime', $data)) { + $this->setExpirationTime($data['expirationTime']); + } + if (array_key_exists('_links', $data)) { + $this->setLinks($data['_links']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getMethod(): string + { + return 'cryptocurrency'; + } + + public function getWalletName(): ?string + { + return $this->fields['walletName'] ?? null; + } + + public function setWalletName(null|string $walletName): static + { + $this->fields['walletName'] = $walletName; + + return $this; + } + + public function getWalletAddress(): ?string + { + return $this->fields['walletAddress'] ?? null; + } + + public function setWalletAddress(null|string $walletAddress): static + { + $this->fields['walletAddress'] = $walletAddress; + + return $this; + } + + public function getBillingAddress(): ?ContactObject + { + return $this->fields['billingAddress'] ?? null; + } + + public function setBillingAddress(null|ContactObject|array $billingAddress): static + { + if ($billingAddress !== null && !($billingAddress instanceof ContactObject)) { + $billingAddress = ContactObject::from($billingAddress); + } + + $this->fields['billingAddress'] = $billingAddress; + + return $this; + } + + public function getId(): ?string + { + return $this->fields['id'] ?? null; + } + + public function getIsUsed(): ?bool + { + return $this->fields['isUsed'] ?? null; + } + + public function getRiskMetadata(): ?RiskMetadata + { + return $this->fields['riskMetadata'] ?? null; + } + + public function setRiskMetadata(null|RiskMetadata|array $riskMetadata): static + { + if ($riskMetadata !== null && !($riskMetadata instanceof RiskMetadata)) { + $riskMetadata = RiskMetadata::from($riskMetadata); + } + + $this->fields['riskMetadata'] = $riskMetadata; + + return $this; + } + + public function getLeadSource(): ?LeadSource + { + return $this->fields['leadSource'] ?? null; + } + + public function setLeadSource(null|LeadSource|array $leadSource): static + { + if ($leadSource !== null && !($leadSource instanceof LeadSource)) { + $leadSource = LeadSource::from($leadSource); + } + + $this->fields['leadSource'] = $leadSource; + + return $this; + } + + public function getCreatedTime(): ?DateTimeImmutable + { + return $this->fields['createdTime'] ?? null; + } + + public function getUpdatedTime(): ?DateTimeImmutable + { + return $this->fields['updatedTime'] ?? null; + } + + public function getUsageTime(): ?DateTimeImmutable + { + return $this->fields['usageTime'] ?? null; + } + + public function getExpirationTime(): ?DateTimeImmutable + { + return $this->fields['expirationTime'] ?? null; + } + + /** + * @return null|ResourceLink[] + */ + public function getLinks(): ?array + { + return $this->fields['_links'] ?? null; + } + + public function jsonSerialize(): array + { + $data = [ + 'method' => 'cryptocurrency', + ]; + if (array_key_exists('walletName', $this->fields)) { + $data['walletName'] = $this->fields['walletName']; + } + if (array_key_exists('walletAddress', $this->fields)) { + $data['walletAddress'] = $this->fields['walletAddress']; + } + if (array_key_exists('billingAddress', $this->fields)) { + $data['billingAddress'] = $this->fields['billingAddress']?->jsonSerialize(); + } + if (array_key_exists('id', $this->fields)) { + $data['id'] = $this->fields['id']; + } + if (array_key_exists('isUsed', $this->fields)) { + $data['isUsed'] = $this->fields['isUsed']; + } + if (array_key_exists('riskMetadata', $this->fields)) { + $data['riskMetadata'] = $this->fields['riskMetadata']?->jsonSerialize(); + } + if (array_key_exists('leadSource', $this->fields)) { + $data['leadSource'] = $this->fields['leadSource']?->jsonSerialize(); + } + if (array_key_exists('createdTime', $this->fields)) { + $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('updatedTime', $this->fields)) { + $data['updatedTime'] = $this->fields['updatedTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('usageTime', $this->fields)) { + $data['usageTime'] = $this->fields['usageTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('expirationTime', $this->fields)) { + $data['expirationTime'] = $this->fields['expirationTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('_links', $this->fields)) { + $data['_links'] = $this->fields['_links'] !== null + ? array_map( + static fn (ResourceLink $resourceLink) => $resourceLink->jsonSerialize(), + $this->fields['_links'], + ) + : null; + } + + return $data; + } + + private function setId(null|string $id): static + { + $this->fields['id'] = $id; + + return $this; + } + + private function setIsUsed(null|bool $isUsed): static + { + $this->fields['isUsed'] = $isUsed; + + return $this; + } + + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static + { + if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { + $createdTime = new DateTimeImmutable($createdTime); + } + + $this->fields['createdTime'] = $createdTime; + + return $this; + } + + private function setUpdatedTime(null|DateTimeImmutable|string $updatedTime): static + { + if ($updatedTime !== null && !($updatedTime instanceof DateTimeImmutable)) { + $updatedTime = new DateTimeImmutable($updatedTime); + } + + $this->fields['updatedTime'] = $updatedTime; + + return $this; + } + + private function setUsageTime(null|DateTimeImmutable|string $usageTime): static + { + if ($usageTime !== null && !($usageTime instanceof DateTimeImmutable)) { + $usageTime = new DateTimeImmutable($usageTime); + } + + $this->fields['usageTime'] = $usageTime; + + return $this; + } + + private function setExpirationTime(null|DateTimeImmutable|string $expirationTime): static + { + if ($expirationTime !== null && !($expirationTime instanceof DateTimeImmutable)) { + $expirationTime = new DateTimeImmutable($expirationTime); + } + + $this->fields['expirationTime'] = $expirationTime; + + return $this; + } + + /** + * @param null|array[]|ResourceLink[] $links + */ + private function setLinks(null|array $links): static + { + $links = $links !== null ? array_map( + fn ($value) => $value instanceof ResourceLink ? $value : ResourceLink::from($value), + $links, + ) : null; + + $this->fields['_links'] = $links; + + return $this; + } +} diff --git a/src/Model/Cryptomus.php b/src/Model/Cryptomus.php index b89ead166..76f682baa 100644 --- a/src/Model/Cryptomus.php +++ b/src/Model/Cryptomus.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cryptomus extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cryptomus', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CryptomusCredentials diff --git a/src/Model/CryptomusCredentials.php b/src/Model/CryptomusCredentials.php index 05dbb6f54..082b77d7f 100644 --- a/src/Model/CryptomusCredentials.php +++ b/src/Model/CryptomusCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CryptomusCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/CryptomusSettings.php b/src/Model/CryptomusSettings.php index 97e465200..2b1d3d67f 100644 --- a/src/Model/CryptomusSettings.php +++ b/src/Model/CryptomusSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CryptomusSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('refundAddress', $data)) { $this->setRefundAddress($data['refundAddress']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRefundAddress(): ?string diff --git a/src/Model/Cryptonator.php b/src/Model/Cryptonator.php index 06c17d83a..259d4bbe2 100644 --- a/src/Model/Cryptonator.php +++ b/src/Model/Cryptonator.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Cryptonator extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Cryptonator', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CryptonatorCredentials diff --git a/src/Model/CryptonatorCredentials.php b/src/Model/CryptonatorCredentials.php index 34999854a..19ed2af80 100644 --- a/src/Model/CryptonatorCredentials.php +++ b/src/Model/CryptonatorCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CryptonatorCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchant_id', $data)) { $this->setMerchantId($data['merchant_id']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/CumulativeSubscriptions.php b/src/Model/CumulativeSubscriptions.php index a08e0ce0e..e9e9a5480 100644 --- a/src/Model/CumulativeSubscriptions.php +++ b/src/Model/CumulativeSubscriptions.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CumulativeSubscriptions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/CumulativeSubscriptionsData.php b/src/Model/CumulativeSubscriptionsData.php index 71140df96..6127003d3 100644 --- a/src/Model/CumulativeSubscriptionsData.php +++ b/src/Model/CumulativeSubscriptionsData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CumulativeSubscriptionsData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('cumulativeCount', $data)) { $this->setCumulativeCount($data['cumulativeCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/CurrenciesSubsetMetadata.php b/src/Model/CurrenciesSubsetMetadata.php index dba3700b7..911bb7aa7 100644 --- a/src/Model/CurrenciesSubsetMetadata.php +++ b/src/Model/CurrenciesSubsetMetadata.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CurrenciesSubsetMetadata implements PaymentMethodMetadataSupportedCurrencies { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('values', $data)) { $this->setValues($data['values']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMode(): string diff --git a/src/Model/CurrenciesUnrestrictedMetadata.php b/src/Model/CurrenciesUnrestrictedMetadata.php index bea738c5a..7b907026b 100644 --- a/src/Model/CurrenciesUnrestrictedMetadata.php +++ b/src/Model/CurrenciesUnrestrictedMetadata.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CurrenciesUnrestrictedMetadata implements PaymentMethodMetadataSupportedCurrencies { + use HasMetadata; + public const MODE_UNKNOWN = 'unknown'; public const MODE_ALL = 'all'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('mode', $data)) { $this->setMode($data['mode']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('values', $data)) { $this->setValues($data['values']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMode(): string diff --git a/src/Model/CustomDomain.php b/src/Model/CustomDomain.php index c200f6b71..7036f8573 100644 --- a/src/Model/CustomDomain.php +++ b/src/Model/CustomDomain.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomDomain implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CustomFieldFactory.php b/src/Model/CustomFieldFactory.php index 11fc32af8..1041f805c 100644 --- a/src/Model/CustomFieldFactory.php +++ b/src/Model/CustomFieldFactory.php @@ -18,17 +18,17 @@ class CustomFieldFactory { - public static function from(array $data = []): CustomField + public static function from(array $data = [], array $metadata = []): CustomField { return match ($data['type']) { - 'array' => ArrayCustomField::from($data), - 'boolean' => BooleanCustomField::from($data), - 'date' => DateCustomField::from($data), - 'datetime' => DateTimeCustomField::from($data), - 'integer' => IntegerCustomField::from($data), - 'monetary' => MonetaryCustomField::from($data), - 'number' => NumberCustomField::from($data), - 'string' => StringCustomField::from($data), + 'array' => ArrayCustomField::from($data, $metadata), + 'boolean' => BooleanCustomField::from($data, $metadata), + 'date' => DateCustomField::from($data, $metadata), + 'datetime' => DateTimeCustomField::from($data, $metadata), + 'integer' => IntegerCustomField::from($data, $metadata), + 'monetary' => MonetaryCustomField::from($data, $metadata), + 'number' => NumberCustomField::from($data, $metadata), + 'string' => StringCustomField::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Customer.php b/src/Model/Customer.php index d07193553..e41f29f82 100644 --- a/src/Model/Customer.php +++ b/src/Model/Customer.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Customer implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -105,17 +108,21 @@ public function __construct(array $data = []) if (array_key_exists('personId', $data)) { $this->setPersonId($data['personId']); } + if (array_key_exists('notificationEmails', $data)) { + $this->setNotificationEmails($data['notificationEmails']); + } if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -389,6 +396,24 @@ public function setPersonId(null|string $personId): static return $this; } + /** + * @return null|string[] + */ + public function getNotificationEmails(): ?array + { + return $this->fields['notificationEmails'] ?? null; + } + + /** + * @param null|string[] $notificationEmails + */ + public function setNotificationEmails(null|array $notificationEmails): static + { + $this->fields['notificationEmails'] = $notificationEmails; + + return $this; + } + /** * @return null|ResourceLink[] */ @@ -507,6 +532,9 @@ public function jsonSerialize(): array if (array_key_exists('personId', $this->fields)) { $data['personId'] = $this->fields['personId']; } + if (array_key_exists('notificationEmails', $this->fields)) { + $data['notificationEmails'] = $this->fields['notificationEmails']; + } if (array_key_exists('_links', $this->fields)) { $data['_links'] = $this->fields['_links'] !== null ? array_map( diff --git a/src/Model/CustomerAverageValue.php b/src/Model/CustomerAverageValue.php index e8a2719d4..0a373d6ad 100644 --- a/src/Model/CustomerAverageValue.php +++ b/src/Model/CustomerAverageValue.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerAverageValue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('amountUsd', $data)) { $this->setAmountUsd($data['amountUsd']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/CustomerCredential.php b/src/Model/CustomerCredential.php index 9d26993f0..2fbf681da 100644 --- a/src/Model/CustomerCredential.php +++ b/src/Model/CustomerCredential.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerCredential implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CustomerDefaultPaymentInstrumentFactory.php b/src/Model/CustomerDefaultPaymentInstrumentFactory.php index 93b8a3aad..548119fb2 100644 --- a/src/Model/CustomerDefaultPaymentInstrumentFactory.php +++ b/src/Model/CustomerDefaultPaymentInstrumentFactory.php @@ -18,208 +18,206 @@ class CustomerDefaultPaymentInstrumentFactory { - public static function from(array $data = []): CustomerDefaultPaymentInstrument + public static function from(array $data = [], array $metadata = []): CustomerDefaultPaymentInstrument { if (isset($data['paymentInstrumentId'])) { - return VaultedInstrument::from($data); + return VaultedInstrument::from($data, $metadata); } return match ($data['method']) { - 'AdvCash' => AlternativePaymentInstrument::from($data), - 'Aera' => AlternativePaymentInstrument::from($data), - 'Affirm' => AlternativePaymentInstrument::from($data), - 'Afterpay' => AlternativePaymentInstrument::from($data), - 'Aircash' => AlternativePaymentInstrument::from($data), - 'Airpay' => AlternativePaymentInstrument::from($data), - 'Alfa-click' => AlternativePaymentInstrument::from($data), - 'Alipay' => AlternativePaymentInstrument::from($data), - 'AmazonPay' => AlternativePaymentInstrument::from($data), - 'Apple Pay' => AlternativePaymentInstrument::from($data), - 'AstroPay Card' => AlternativePaymentInstrument::from($data), - 'AstroPay-GO' => AlternativePaymentInstrument::from($data), - 'Baloto' => AlternativePaymentInstrument::from($data), - 'Bancontact' => AlternativePaymentInstrument::from($data), - 'Bancontact-mobile' => AlternativePaymentInstrument::from($data), - 'BankReferenced' => AlternativePaymentInstrument::from($data), - 'BankSEND' => AlternativePaymentInstrument::from($data), - 'Beeline' => AlternativePaymentInstrument::from($data), - 'Belfius-direct-net' => AlternativePaymentInstrument::from($data), - 'Bizum' => AlternativePaymentInstrument::from($data), - 'Blik' => AlternativePaymentInstrument::from($data), - 'Boleto' => AlternativePaymentInstrument::from($data), - 'Boleto-2' => AlternativePaymentInstrument::from($data), - 'Boleto-3' => AlternativePaymentInstrument::from($data), - 'CASHlib' => AlternativePaymentInstrument::from($data), - 'CCAvenue' => AlternativePaymentInstrument::from($data), - 'CODVoucher' => AlternativePaymentInstrument::from($data), - 'CashToCode' => AlternativePaymentInstrument::from($data), - 'China UnionPay' => AlternativePaymentInstrument::from($data), - 'Clearpay' => AlternativePaymentInstrument::from($data), - 'Cleo' => AlternativePaymentInstrument::from($data), - 'Conekta-oxxo' => AlternativePaymentInstrument::from($data), - 'Conekta-spei' => AlternativePaymentInstrument::from($data), - 'Cupon-de-pagos' => AlternativePaymentInstrument::from($data), - 'CyberSource' => AlternativePaymentInstrument::from($data), - 'Dimoco-pay-smart' => AlternativePaymentInstrument::from($data), - 'Directa24Card' => AlternativePaymentInstrument::from($data), - 'EPS' => AlternativePaymentInstrument::from($data), - 'Efecty' => AlternativePaymentInstrument::from($data), - 'Ethereum' => AlternativePaymentInstrument::from($data), - 'FasterPay' => AlternativePaymentInstrument::from($data), - 'Flexepin' => AlternativePaymentInstrument::from($data), - 'Giropay' => AlternativePaymentInstrument::from($data), - 'Google Pay' => AlternativePaymentInstrument::from($data), - 'Gpaysafe' => AlternativePaymentInstrument::from($data), - 'ING-homepay' => AlternativePaymentInstrument::from($data), - 'INOVAPAY-pin' => AlternativePaymentInstrument::from($data), - 'INOVAPAY-wallet' => AlternativePaymentInstrument::from($data), - 'InstaDebit' => AlternativePaymentInstrument::from($data), - 'InstantPayments' => AlternativePaymentInstrument::from($data), - 'Interac' => AlternativePaymentInstrument::from($data), - 'Interac-eTransfer' => AlternativePaymentInstrument::from($data), - 'Interac-express-connect' => AlternativePaymentInstrument::from($data), - 'Interac-online' => AlternativePaymentInstrument::from($data), - 'Jeton' => AlternativePaymentInstrument::from($data), - 'JetonCash' => AlternativePaymentInstrument::from($data), - 'KNOT' => AlternativePaymentInstrument::from($data), - 'KakaoPay' => AlternativePaymentInstrument::from($data), - 'Khelocard' => AlternativePaymentInstrument::from($data), - 'Klarna' => AlternativePaymentInstrument::from($data), - 'LPG-online' => AlternativePaymentInstrument::from($data), - 'LPG-payment-card' => AlternativePaymentInstrument::from($data), - 'Litecoin' => AlternativePaymentInstrument::from($data), - 'MTS' => AlternativePaymentInstrument::from($data), - 'Matrix' => AlternativePaymentInstrument::from($data), - 'MaxiCash' => AlternativePaymentInstrument::from($data), - 'Megafon' => AlternativePaymentInstrument::from($data), - 'MercadoPago' => AlternativePaymentInstrument::from($data), - 'MiFinity-eWallet' => AlternativePaymentInstrument::from($data), - 'MobilePay' => AlternativePaymentInstrument::from($data), - 'MuchBetter' => AlternativePaymentInstrument::from($data), - 'MuchBetterVoucher' => AlternativePaymentInstrument::from($data), - 'Multibanco' => AlternativePaymentInstrument::from($data), - 'MyFatoorah' => AlternativePaymentInstrument::from($data), - 'Neosurf' => AlternativePaymentInstrument::from($data), - 'Netbanking' => AlternativePaymentInstrument::from($data), - 'Neteller' => AlternativePaymentInstrument::from($data), - 'Nordea-Solo' => AlternativePaymentInstrument::from($data), - 'NordikCoin' => AlternativePaymentInstrument::from($data), - 'OXXO' => AlternativePaymentInstrument::from($data), - 'OchaPay' => AlternativePaymentInstrument::from($data), - 'Onlineueberweisen' => AlternativePaymentInstrument::from($data), - 'P24' => AlternativePaymentInstrument::from($data), - 'PIX' => AlternativePaymentInstrument::from($data), - 'POLi' => AlternativePaymentInstrument::from($data), - 'Pagadito' => AlternativePaymentInstrument::from($data), - 'PagoEffectivo' => AlternativePaymentInstrument::from($data), - 'Pagsmile-deposit-express' => AlternativePaymentInstrument::from($data), - 'Pagsmile-lottery' => AlternativePaymentInstrument::from($data), - 'Pay4Fun' => AlternativePaymentInstrument::from($data), - 'PayCash' => AlternativePaymentInstrument::from($data), - 'PayTabs' => AlternativePaymentInstrument::from($data), - 'PayU' => AlternativePaymentInstrument::from($data), - 'PayULatam' => AlternativePaymentInstrument::from($data), - 'Payco' => AlternativePaymentInstrument::from($data), - 'Payeer' => AlternativePaymentInstrument::from($data), - 'PaymentAsia-crypto' => AlternativePaymentInstrument::from($data), - 'Paymero' => AlternativePaymentInstrument::from($data), - 'Paymero-QR' => AlternativePaymentInstrument::from($data), - 'Paynote' => AlternativePaymentInstrument::from($data), - 'Paysafecard' => AlternativePaymentInstrument::from($data), - 'Perfect-money' => AlternativePaymentInstrument::from($data), - 'PhonePe' => AlternativePaymentInstrument::from($data), - 'Piastrix' => AlternativePaymentInstrument::from($data), - 'PinPay' => AlternativePaymentInstrument::from($data), - 'PostFinance-card' => AlternativePaymentInstrument::from($data), - 'PostFinance-e-finance' => AlternativePaymentInstrument::from($data), - 'QIWI' => AlternativePaymentInstrument::from($data), - 'QPay' => AlternativePaymentInstrument::from($data), - 'QQPay' => AlternativePaymentInstrument::from($data), - 'Resurs' => AlternativePaymentInstrument::from($data), - 'Ripple' => AlternativePaymentInstrument::from($data), - 'SEPA' => AlternativePaymentInstrument::from($data), - 'SMSVoucher' => AlternativePaymentInstrument::from($data), - 'SPEI' => AlternativePaymentInstrument::from($data), - 'SafetyPay' => AlternativePaymentInstrument::from($data), - 'Samsung Pay' => AlternativePaymentInstrument::from($data), - 'Siirto' => AlternativePaymentInstrument::from($data), - 'Skrill' => AlternativePaymentInstrument::from($data), - 'Skrill Rapid Transfer' => AlternativePaymentInstrument::from($data), - 'Sofort' => AlternativePaymentInstrument::from($data), - 'SparkPay' => AlternativePaymentInstrument::from($data), - 'TWINT' => AlternativePaymentInstrument::from($data), - 'Tele2' => AlternativePaymentInstrument::from($data), - 'Telr' => AlternativePaymentInstrument::from($data), - 'Terminaly-RF' => AlternativePaymentInstrument::from($data), - 'Tether' => AlternativePaymentInstrument::from($data), - 'ToditoCash-card' => AlternativePaymentInstrument::from($data), - 'Trustly' => AlternativePaymentInstrument::from($data), - 'Tupay' => AlternativePaymentInstrument::from($data), - 'UPI' => AlternativePaymentInstrument::from($data), - 'UPayCard' => AlternativePaymentInstrument::from($data), - 'USD-coin' => AlternativePaymentInstrument::from($data), - 'UniCrypt' => AlternativePaymentInstrument::from($data), - 'VCreditos' => AlternativePaymentInstrument::from($data), - 'VegaWallet' => AlternativePaymentInstrument::from($data), - 'VenusPoint' => AlternativePaymentInstrument::from($data), - 'Wallet88' => AlternativePaymentInstrument::from($data), - 'WeChat Pay' => AlternativePaymentInstrument::from($data), - 'Webmoney' => AlternativePaymentInstrument::from($data), - 'Webpay' => AlternativePaymentInstrument::from($data), - 'Webpay Card' => AlternativePaymentInstrument::from($data), - 'Webpay-2' => AlternativePaymentInstrument::from($data), - 'XPay-P2P' => AlternativePaymentInstrument::from($data), - 'XPay-QR' => AlternativePaymentInstrument::from($data), - 'Yandex-money' => AlternativePaymentInstrument::from($data), - 'Zimpler' => AlternativePaymentInstrument::from($data), - 'Zip' => AlternativePaymentInstrument::from($data), - 'Zotapay' => AlternativePaymentInstrument::from($data), - 'ach' => AlternativePaymentInstrument::from($data), - 'bank-transfer' => AlternativePaymentInstrument::from($data), - 'bank-transfer-2' => AlternativePaymentInstrument::from($data), - 'bank-transfer-3' => AlternativePaymentInstrument::from($data), - 'bank-transfer-4' => AlternativePaymentInstrument::from($data), - 'bank-transfer-5' => AlternativePaymentInstrument::from($data), - 'bank-transfer-6' => AlternativePaymentInstrument::from($data), - 'bank-transfer-7' => AlternativePaymentInstrument::from($data), - 'bank-transfer-8' => AlternativePaymentInstrument::from($data), - 'bank-transfer-9' => AlternativePaymentInstrument::from($data), - 'bitcoin' => AlternativePaymentInstrument::from($data), - 'cash-deposit' => AlternativePaymentInstrument::from($data), - 'cryptocurrency' => AlternativePaymentInstrument::from($data), - 'domestic-cards' => AlternativePaymentInstrument::from($data), - 'e-wallet' => AlternativePaymentInstrument::from($data), - 'ePay.bg' => AlternativePaymentInstrument::from($data), - 'eZeeWallet' => AlternativePaymentInstrument::from($data), - 'echeck' => AlternativePaymentInstrument::from($data), - 'ecoPayz' => AlternativePaymentInstrument::from($data), - 'ecoPayzTurkey' => AlternativePaymentInstrument::from($data), - 'ecoVoucher' => AlternativePaymentInstrument::from($data), - 'ezyEFT' => AlternativePaymentInstrument::from($data), - 'iCashOne Voucher' => AlternativePaymentInstrument::from($data), - 'iDEAL' => AlternativePaymentInstrument::from($data), - 'iDebit' => AlternativePaymentInstrument::from($data), - 'iWallet' => AlternativePaymentInstrument::from($data), - 'instant-bank-transfer' => AlternativePaymentInstrument::from($data), - 'invoice' => AlternativePaymentInstrument::from($data), - 'jpay' => AlternativePaymentInstrument::from($data), - 'loonie' => AlternativePaymentInstrument::from($data), - 'miscellaneous' => AlternativePaymentInstrument::from($data), - 'online-bank-transfer' => AlternativePaymentInstrument::from($data), - 'oriental-wallet' => AlternativePaymentInstrument::from($data), - 'payment-card' => AlternativePaymentInstrument::from($data), - 'paypal' => AlternativePaymentInstrument::from($data), - 'phone' => AlternativePaymentInstrument::from($data), - 'rapyd-checkout' => AlternativePaymentInstrument::from($data), - 'rebilly-hosted-payment-form' => AlternativePaymentInstrument::from($data), - 'reverse-withdrawal' => AlternativePaymentInstrument::from($data), - 'swift-dbt' => AlternativePaymentInstrument::from($data), - 'voucher' => AlternativePaymentInstrument::from($data), - 'voucher-2' => AlternativePaymentInstrument::from($data), - 'voucher-3' => AlternativePaymentInstrument::from($data), - 'voucher-4' => AlternativePaymentInstrument::from($data), - 'cash' => CashInstrument::from($data), - 'check' => CheckInstrument::from($data), + 'AdvCash' => AlternativePaymentInstrument::from($data, $metadata), + 'Aera' => AlternativePaymentInstrument::from($data, $metadata), + 'Affirm' => AlternativePaymentInstrument::from($data, $metadata), + 'Afterpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Aircash' => AlternativePaymentInstrument::from($data, $metadata), + 'Airpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Alfa-click' => AlternativePaymentInstrument::from($data, $metadata), + 'Alipay' => AlternativePaymentInstrument::from($data, $metadata), + 'AmazonPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Apple Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'AstroPay Card' => AlternativePaymentInstrument::from($data, $metadata), + 'AstroPay-GO' => AlternativePaymentInstrument::from($data, $metadata), + 'Baloto' => AlternativePaymentInstrument::from($data, $metadata), + 'Bancontact' => AlternativePaymentInstrument::from($data, $metadata), + 'Bancontact-mobile' => AlternativePaymentInstrument::from($data, $metadata), + 'BankReferenced' => AlternativePaymentInstrument::from($data, $metadata), + 'BankSEND' => AlternativePaymentInstrument::from($data, $metadata), + 'Beeline' => AlternativePaymentInstrument::from($data, $metadata), + 'Belfius-direct-net' => AlternativePaymentInstrument::from($data, $metadata), + 'Bizum' => AlternativePaymentInstrument::from($data, $metadata), + 'Blik' => AlternativePaymentInstrument::from($data, $metadata), + 'Boleto' => AlternativePaymentInstrument::from($data, $metadata), + 'Boleto-2' => AlternativePaymentInstrument::from($data, $metadata), + 'Boleto-3' => AlternativePaymentInstrument::from($data, $metadata), + 'CASHlib' => AlternativePaymentInstrument::from($data, $metadata), + 'CCAvenue' => AlternativePaymentInstrument::from($data, $metadata), + 'CODVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'CashToCode' => AlternativePaymentInstrument::from($data, $metadata), + 'China UnionPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Clearpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Cleo' => AlternativePaymentInstrument::from($data, $metadata), + 'Conekta-oxxo' => AlternativePaymentInstrument::from($data, $metadata), + 'Conekta-spei' => AlternativePaymentInstrument::from($data, $metadata), + 'Cupon-de-pagos' => AlternativePaymentInstrument::from($data, $metadata), + 'CyberSource' => AlternativePaymentInstrument::from($data, $metadata), + 'Dimoco-pay-smart' => AlternativePaymentInstrument::from($data, $metadata), + 'Directa24Card' => AlternativePaymentInstrument::from($data, $metadata), + 'EPS' => AlternativePaymentInstrument::from($data, $metadata), + 'Efecty' => AlternativePaymentInstrument::from($data, $metadata), + 'Ethereum' => AlternativePaymentInstrument::from($data, $metadata), + 'FasterPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Flexepin' => AlternativePaymentInstrument::from($data, $metadata), + 'Giropay' => AlternativePaymentInstrument::from($data, $metadata), + 'Google Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'Gpaysafe' => AlternativePaymentInstrument::from($data, $metadata), + 'ING-homepay' => AlternativePaymentInstrument::from($data, $metadata), + 'INOVAPAY-pin' => AlternativePaymentInstrument::from($data, $metadata), + 'INOVAPAY-wallet' => AlternativePaymentInstrument::from($data, $metadata), + 'InstaDebit' => AlternativePaymentInstrument::from($data, $metadata), + 'InstantPayments' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac-eTransfer' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac-express-connect' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac-online' => AlternativePaymentInstrument::from($data, $metadata), + 'Jeton' => AlternativePaymentInstrument::from($data, $metadata), + 'JetonCash' => AlternativePaymentInstrument::from($data, $metadata), + 'KNOT' => AlternativePaymentInstrument::from($data, $metadata), + 'KakaoPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Khelocard' => AlternativePaymentInstrument::from($data, $metadata), + 'Klarna' => AlternativePaymentInstrument::from($data, $metadata), + 'LPG-online' => AlternativePaymentInstrument::from($data, $metadata), + 'LPG-payment-card' => AlternativePaymentInstrument::from($data, $metadata), + 'Litecoin' => AlternativePaymentInstrument::from($data, $metadata), + 'MTS' => AlternativePaymentInstrument::from($data, $metadata), + 'Matrix' => AlternativePaymentInstrument::from($data, $metadata), + 'MaxiCash' => AlternativePaymentInstrument::from($data, $metadata), + 'Megafon' => AlternativePaymentInstrument::from($data, $metadata), + 'MercadoPago' => AlternativePaymentInstrument::from($data, $metadata), + 'MiFinity-eWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'MobilePay' => AlternativePaymentInstrument::from($data, $metadata), + 'MuchBetter' => AlternativePaymentInstrument::from($data, $metadata), + 'MuchBetterVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'Multibanco' => AlternativePaymentInstrument::from($data, $metadata), + 'MyFatoorah' => AlternativePaymentInstrument::from($data, $metadata), + 'Neosurf' => AlternativePaymentInstrument::from($data, $metadata), + 'Netbanking' => AlternativePaymentInstrument::from($data, $metadata), + 'Neteller' => AlternativePaymentInstrument::from($data, $metadata), + 'Nordea-Solo' => AlternativePaymentInstrument::from($data, $metadata), + 'NordikCoin' => AlternativePaymentInstrument::from($data, $metadata), + 'OXXO' => AlternativePaymentInstrument::from($data, $metadata), + 'OchaPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Onlineueberweisen' => AlternativePaymentInstrument::from($data, $metadata), + 'P24' => AlternativePaymentInstrument::from($data, $metadata), + 'PIX' => AlternativePaymentInstrument::from($data, $metadata), + 'POLi' => AlternativePaymentInstrument::from($data, $metadata), + 'Pagadito' => AlternativePaymentInstrument::from($data, $metadata), + 'PagoEffectivo' => AlternativePaymentInstrument::from($data, $metadata), + 'Pagsmile-deposit-express' => AlternativePaymentInstrument::from($data, $metadata), + 'Pagsmile-lottery' => AlternativePaymentInstrument::from($data, $metadata), + 'Pay4Fun' => AlternativePaymentInstrument::from($data, $metadata), + 'PayCash' => AlternativePaymentInstrument::from($data, $metadata), + 'PayTabs' => AlternativePaymentInstrument::from($data, $metadata), + 'PayU' => AlternativePaymentInstrument::from($data, $metadata), + 'PayULatam' => AlternativePaymentInstrument::from($data, $metadata), + 'Payco' => AlternativePaymentInstrument::from($data, $metadata), + 'Payeer' => AlternativePaymentInstrument::from($data, $metadata), + 'PaymentAsia-crypto' => AlternativePaymentInstrument::from($data, $metadata), + 'Paymero' => AlternativePaymentInstrument::from($data, $metadata), + 'Paymero-QR' => AlternativePaymentInstrument::from($data, $metadata), + 'Paynote' => AlternativePaymentInstrument::from($data, $metadata), + 'Paysafecard' => AlternativePaymentInstrument::from($data, $metadata), + 'Perfect-money' => AlternativePaymentInstrument::from($data, $metadata), + 'PhonePe' => AlternativePaymentInstrument::from($data, $metadata), + 'Piastrix' => AlternativePaymentInstrument::from($data, $metadata), + 'PinPay' => AlternativePaymentInstrument::from($data, $metadata), + 'PostFinance-card' => AlternativePaymentInstrument::from($data, $metadata), + 'PostFinance-e-finance' => AlternativePaymentInstrument::from($data, $metadata), + 'QIWI' => AlternativePaymentInstrument::from($data, $metadata), + 'QPay' => AlternativePaymentInstrument::from($data, $metadata), + 'QQPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Resurs' => AlternativePaymentInstrument::from($data, $metadata), + 'Ripple' => AlternativePaymentInstrument::from($data, $metadata), + 'SEPA' => AlternativePaymentInstrument::from($data, $metadata), + 'SMSVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'SPEI' => AlternativePaymentInstrument::from($data, $metadata), + 'SafetyPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Samsung Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'Siirto' => AlternativePaymentInstrument::from($data, $metadata), + 'Skrill' => AlternativePaymentInstrument::from($data, $metadata), + 'Skrill Rapid Transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'Sofort' => AlternativePaymentInstrument::from($data, $metadata), + 'SparkPay' => AlternativePaymentInstrument::from($data, $metadata), + 'TWINT' => AlternativePaymentInstrument::from($data, $metadata), + 'Tele2' => AlternativePaymentInstrument::from($data, $metadata), + 'Telr' => AlternativePaymentInstrument::from($data, $metadata), + 'Terminaly-RF' => AlternativePaymentInstrument::from($data, $metadata), + 'Tether' => AlternativePaymentInstrument::from($data, $metadata), + 'ToditoCash-card' => AlternativePaymentInstrument::from($data, $metadata), + 'Trustly' => AlternativePaymentInstrument::from($data, $metadata), + 'Tupay' => AlternativePaymentInstrument::from($data, $metadata), + 'UPI' => AlternativePaymentInstrument::from($data, $metadata), + 'UPayCard' => AlternativePaymentInstrument::from($data, $metadata), + 'USD-coin' => AlternativePaymentInstrument::from($data, $metadata), + 'UniCrypt' => AlternativePaymentInstrument::from($data, $metadata), + 'VCreditos' => AlternativePaymentInstrument::from($data, $metadata), + 'VegaWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'VenusPoint' => AlternativePaymentInstrument::from($data, $metadata), + 'Viva' => AlternativePaymentInstrument::from($data, $metadata), + 'Wallet88' => AlternativePaymentInstrument::from($data, $metadata), + 'WeChat Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'Webmoney' => AlternativePaymentInstrument::from($data, $metadata), + 'Webpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Webpay Card' => AlternativePaymentInstrument::from($data, $metadata), + 'Webpay-2' => AlternativePaymentInstrument::from($data, $metadata), + 'XPay-P2P' => AlternativePaymentInstrument::from($data, $metadata), + 'XPay-QR' => AlternativePaymentInstrument::from($data, $metadata), + 'Yandex-money' => AlternativePaymentInstrument::from($data, $metadata), + 'Zimpler' => AlternativePaymentInstrument::from($data, $metadata), + 'Zip' => AlternativePaymentInstrument::from($data, $metadata), + 'Zotapay' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-2' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-3' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-4' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-5' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-6' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-7' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-8' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-9' => AlternativePaymentInstrument::from($data, $metadata), + 'bitcoin' => AlternativePaymentInstrument::from($data, $metadata), + 'cash-deposit' => AlternativePaymentInstrument::from($data, $metadata), + 'cryptocurrency' => AlternativePaymentInstrument::from($data, $metadata), + 'domestic-cards' => AlternativePaymentInstrument::from($data, $metadata), + 'e-wallet' => AlternativePaymentInstrument::from($data, $metadata), + 'ePay.bg' => AlternativePaymentInstrument::from($data, $metadata), + 'eZeeWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'echeck' => AlternativePaymentInstrument::from($data, $metadata), + 'ecoPayz' => AlternativePaymentInstrument::from($data, $metadata), + 'ecoPayzTurkey' => AlternativePaymentInstrument::from($data, $metadata), + 'ecoVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'ezyEFT' => AlternativePaymentInstrument::from($data, $metadata), + 'iCashOne Voucher' => AlternativePaymentInstrument::from($data, $metadata), + 'iDEAL' => AlternativePaymentInstrument::from($data, $metadata), + 'iDebit' => AlternativePaymentInstrument::from($data, $metadata), + 'iWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'instant-bank-transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'invoice' => AlternativePaymentInstrument::from($data, $metadata), + 'jpay' => AlternativePaymentInstrument::from($data, $metadata), + 'loonie' => AlternativePaymentInstrument::from($data, $metadata), + 'miscellaneous' => AlternativePaymentInstrument::from($data, $metadata), + 'online-bank-transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'oriental-wallet' => AlternativePaymentInstrument::from($data, $metadata), + 'phone' => AlternativePaymentInstrument::from($data, $metadata), + 'rapyd-checkout' => AlternativePaymentInstrument::from($data, $metadata), + 'rebilly-hosted-payment-form' => AlternativePaymentInstrument::from($data, $metadata), + 'reverse-withdrawal' => AlternativePaymentInstrument::from($data, $metadata), + 'swift-dbt' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher-2' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher-3' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher-4' => AlternativePaymentInstrument::from($data, $metadata), + 'cash' => CashInstrument::from($data, $metadata), + 'check' => CheckInstrument::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/CustomerEmbedded.php b/src/Model/CustomerEmbedded.php index e394c09cb..e1a75be35 100644 --- a/src/Model/CustomerEmbedded.php +++ b/src/Model/CustomerEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('defaultPaymentInstrument', $data)) { $this->setDefaultPaymentInstrument($data['defaultPaymentInstrument']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('leadSource', $data)) { $this->setLeadSource($data['leadSource']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDefaultPaymentInstrument(): ?array diff --git a/src/Model/CustomerInformation.php b/src/Model/CustomerInformation.php index 1991fd5fd..e4c265259 100644 --- a/src/Model/CustomerInformation.php +++ b/src/Model/CustomerInformation.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerInformation implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('disputesAmount', $data)) { $this->setDisputesAmount($data['disputesAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/CustomerJWT.php b/src/Model/CustomerJWT.php index 5150e3544..f1e2e4338 100644 --- a/src/Model/CustomerJWT.php +++ b/src/Model/CustomerJWT.php @@ -17,14 +17,17 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerJWT implements JsonSerializable { + use HasMetadata; + public const TYPE_CUSTOMER = 'customer'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -136,11 +140,17 @@ public function setAcl(null|array $acl): static return $this; } + /** + * @return null|array + */ public function getCustomClaims(): ?array { return $this->fields['customClaims'] ?? null; } + /** + * @param null|array $customClaims + */ public function setCustomClaims(null|array $customClaims): static { $this->fields['customClaims'] = $customClaims; diff --git a/src/Model/CustomerLifetimeRevenue.php b/src/Model/CustomerLifetimeRevenue.php index 8f19c8baf..d209e0b9f 100644 --- a/src/Model/CustomerLifetimeRevenue.php +++ b/src/Model/CustomerLifetimeRevenue.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerLifetimeRevenue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('amountUsd', $data)) { $this->setAmountUsd($data['amountUsd']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/CustomerTimeline.php b/src/Model/CustomerTimeline.php index b4882c50f..c0b8395ff 100644 --- a/src/Model/CustomerTimeline.php +++ b/src/Model/CustomerTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomerTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_ACCOUNT_PASSWORD_RESET_REQUESTED = 'account-password-reset-requested'; public const TYPE_ACCOUNT_VERIFICATION_REQUESTED = 'account-verification-requested'; @@ -198,7 +201,7 @@ class CustomerTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -227,11 +230,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/CustomersDataExport.php b/src/Model/CustomersDataExport.php index 822569849..75f826797 100644 --- a/src/Model/CustomersDataExport.php +++ b/src/Model/CustomersDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class CustomersDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class CustomersDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?CustomersDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|CustomersDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof CustomersDataExportDateRange)) { + $dateRange = CustomersDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/CustomersDataExportDateRange.php b/src/Model/CustomersDataExportDateRange.php new file mode 100644 index 000000000..6cf7ef354 --- /dev/null +++ b/src/Model/CustomersDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/CustomersDataExportEmbedded.php b/src/Model/CustomersDataExportEmbedded.php index d8c7503c2..977aef0c9 100644 --- a/src/Model/CustomersDataExportEmbedded.php +++ b/src/Model/CustomersDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CustomersDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/CyberSource.php b/src/Model/CyberSource.php index c8b244337..56ad28263 100644 --- a/src/Model/CyberSource.php +++ b/src/Model/CyberSource.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class CyberSource extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'CyberSource', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): CyberSourceCredentials diff --git a/src/Model/CyberSourceCredentials.php b/src/Model/CyberSourceCredentials.php index 9fe44c19c..765b7b866 100644 --- a/src/Model/CyberSourceCredentials.php +++ b/src/Model/CyberSourceCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class CyberSourceCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accessKey', $data)) { $this->setAccessKey($data['accessKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccessKey(): string diff --git a/src/Model/DLocal.php b/src/Model/DLocal.php index 05c193c00..4be1e8fbb 100644 --- a/src/Model/DLocal.php +++ b/src/Model/DLocal.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class DLocal extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'dLocal', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): DLocalCredentials diff --git a/src/Model/DLocalCredentials.php b/src/Model/DLocalCredentials.php index 67ace2d4e..b57adde6a 100644 --- a/src/Model/DLocalCredentials.php +++ b/src/Model/DLocalCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DLocalCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('xLogin', $data)) { $this->setXLogin($data['xLogin']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('payoutSecretKey', $data)) { $this->setPayoutSecretKey($data['payoutSecretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getXLogin(): string diff --git a/src/Model/DLocalSettings.php b/src/Model/DLocalSettings.php index 9799cb93e..39905251a 100644 --- a/src/Model/DLocalSettings.php +++ b/src/Model/DLocalSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DLocalSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('createInstallmentPlan', $data)) { $this->setCreateInstallmentPlan($data['createInstallmentPlan']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('customerDocumentCustomField', $data)) { $this->setCustomerDocumentCustomField($data['customerDocumentCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCreateInstallmentPlan(): ?bool diff --git a/src/Model/DashboardResponse.php b/src/Model/DashboardResponse.php index 4228f8c3c..f9cec1a33 100644 --- a/src/Model/DashboardResponse.php +++ b/src/Model/DashboardResponse.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DashboardResponse implements JsonSerializable { + use HasMetadata; + public const METRIC_APPROVAL_RATE = 'approvalRate'; public const METRIC_SALES_COUNT = 'salesCount'; @@ -90,6 +93,10 @@ class DashboardResponse implements JsonSerializable public const METRIC_CREDIT_FILE_PROOF_ACCEPTANCE_RATE = 'creditFileProofAcceptanceRate'; + public const METRIC_KYC_ACCEPTANCE_RATE = 'kycAcceptanceRate'; + + public const METRIC_KYC_REVIEW_TIME = 'kycReviewTime'; + public const METRIC_KYC_REJECTION_RATE = 'kycRejectionRate'; public const METRIC_KYC_ACCURACY_RATE = 'kycAccuracyRate'; @@ -114,7 +121,7 @@ class DashboardResponse implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('metric', $data)) { $this->setMetric($data['metric']); @@ -128,11 +135,12 @@ public function __construct(array $data = []) if (array_key_exists('segments', $data)) { $this->setSegments($data['segments']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMetric(): ?string diff --git a/src/Model/DashboardResponseSegments.php b/src/Model/DashboardResponseSegments.php index 063fb7603..e7251bb65 100644 --- a/src/Model/DashboardResponseSegments.php +++ b/src/Model/DashboardResponseSegments.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DashboardResponseSegments implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('timeseries', $data)) { $this->setTimeseries($data['timeseries']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/DashboardResponseSegmentsTimeseries.php b/src/Model/DashboardResponseSegmentsTimeseries.php index 1ced91c3b..37cf495c6 100644 --- a/src/Model/DashboardResponseSegmentsTimeseries.php +++ b/src/Model/DashboardResponseSegmentsTimeseries.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DashboardResponseSegmentsTimeseries implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('date', $data)) { $this->setDate($data['date']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDate(): ?string diff --git a/src/Model/DataCash.php b/src/Model/DataCash.php index c9c96e215..4215501a6 100644 --- a/src/Model/DataCash.php +++ b/src/Model/DataCash.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class DataCash extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'DataCash', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): DataCashCredentials diff --git a/src/Model/DataCashCredentials.php b/src/Model/DataCashCredentials.php index 8e4a49e7f..505669967 100644 --- a/src/Model/DataCashCredentials.php +++ b/src/Model/DataCashCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DataCashCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('client', $data)) { $this->setClient($data['client']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('masterCardPayoutsPassword', $data)) { $this->setMasterCardPayoutsPassword($data['masterCardPayoutsPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClient(): string diff --git a/src/Model/DataCashSettings.php b/src/Model/DataCashSettings.php index e9a8f9178..1c4106f35 100644 --- a/src/Model/DataCashSettings.php +++ b/src/Model/DataCashSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DataCashSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('policy', $data)) { $this->setPolicy($data['policy']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('delay', $data)) { $this->setDelay($data['delay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPolicy(): ?int diff --git a/src/Model/DataExport.php b/src/Model/DataExport.php index df9b7839b..34678bec1 100644 --- a/src/Model/DataExport.php +++ b/src/Model/DataExport.php @@ -73,16 +73,16 @@ public function getUpdatedTime(): ?DateTimeImmutable; public function getStatus(): ?string; - public function getDateRange(): ?DataExportDateRange; + public function getDateRange(): null|AmlChecksDataExportDateRange|CustomersDataExportDateRange|DisputesDataExportDateRange|InvoiceItemsDataExportDateRange|InvoicesDataExportDateRange|JournalRecordsDataExportDateRange|PayoutRequestAllocationsDataExportDateRange|PayoutRequestsDataExportDateRange|SubscriptionsDataExportDateRange|TransactionsDataExportDateRange; - public function setDateRange(null|DataExportDateRange|array $dateRange): static; + public function setDateRange(null|array $dateRange): static; /** * @return null|ResourceLink[] */ public function getLinks(): ?array; - public function getEmbedded(): null|AmlChecksDataExportEmbedded|CustomersDataExportEmbedded|DisputesDataExportEmbedded|InvoiceItemsDataExportEmbedded|InvoicesDataExportEmbedded|JournalRecordsDataExportEmbedded|SubscriptionsDataExportEmbedded|TransactionsDataExportEmbedded; + public function getEmbedded(): null|AmlChecksDataExportEmbedded|CustomersDataExportEmbedded|DisputesDataExportEmbedded|InvoiceItemsDataExportEmbedded|InvoicesDataExportEmbedded|JournalRecordsDataExportEmbedded|PayoutRequestAllocationsDataExportEmbedded|PayoutRequestsDataExportEmbedded|SubscriptionsDataExportEmbedded|TransactionsDataExportEmbedded; public function setEmbedded(null|array $embedded): static; } diff --git a/src/Model/DataExportArguments.php b/src/Model/DataExportArguments.php index 9f335d139..39f97b81d 100644 --- a/src/Model/DataExportArguments.php +++ b/src/Model/DataExportArguments.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DataExportArguments implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('filter', $data)) { $this->setFilter($data['filter']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('q', $data)) { $this->setQ($data['q']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFilter(): ?string diff --git a/src/Model/DataExportFactory.php b/src/Model/DataExportFactory.php index 6911d842a..af68afea1 100644 --- a/src/Model/DataExportFactory.php +++ b/src/Model/DataExportFactory.php @@ -18,17 +18,19 @@ class DataExportFactory { - public static function from(array $data = []): DataExport + public static function from(array $data = [], array $metadata = []): DataExport { return match ($data['resource']) { - 'amlChecks' => AmlChecksDataExport::from($data), - 'customers' => CustomersDataExport::from($data), - 'disputes' => DisputesDataExport::from($data), - 'invoiceItems' => InvoiceItemsDataExport::from($data), - 'invoices' => InvoicesDataExport::from($data), - 'journalRecords' => JournalRecordsDataExport::from($data), - 'subscriptions' => SubscriptionsDataExport::from($data), - 'transactions' => TransactionsDataExport::from($data), + 'amlChecks' => AmlChecksDataExport::from($data, $metadata), + 'customers' => CustomersDataExport::from($data, $metadata), + 'disputes' => DisputesDataExport::from($data, $metadata), + 'invoiceItems' => InvoiceItemsDataExport::from($data, $metadata), + 'invoices' => InvoicesDataExport::from($data, $metadata), + 'journalRecords' => JournalRecordsDataExport::from($data, $metadata), + 'payoutRequestAllocations' => PayoutRequestAllocationsDataExport::from($data, $metadata), + 'payoutRequests' => PayoutRequestsDataExport::from($data, $metadata), + 'subscriptions' => SubscriptionsDataExport::from($data, $metadata), + 'transactions' => TransactionsDataExport::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/DataExportRecurring.php b/src/Model/DataExportRecurring.php index f2225e731..483cb22e7 100644 --- a/src/Model/DataExportRecurring.php +++ b/src/Model/DataExportRecurring.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DataExportRecurring implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('instruction', $data)) { $this->setInstruction($data['instruction']); @@ -30,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('start', $data)) { $this->setStart($data['start']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getInstruction(): string diff --git a/src/Model/DateCustomField.php b/src/Model/DateCustomField.php index a2e95bc20..e93af4b3e 100644 --- a/src/Model/DateCustomField.php +++ b/src/Model/DateCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class DateCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/DateCustomFieldAdditionalSchema.php b/src/Model/DateCustomFieldAdditionalSchema.php index fa2353a20..486a38382 100644 --- a/src/Model/DateCustomFieldAdditionalSchema.php +++ b/src/Model/DateCustomFieldAdditionalSchema.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DateCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('required', $data)) { $this->setRequired($data['required']); @@ -29,11 +32,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRequired(): ?bool diff --git a/src/Model/DateTimeCustomField.php b/src/Model/DateTimeCustomField.php index 3ea4a4e97..669852c27 100644 --- a/src/Model/DateTimeCustomField.php +++ b/src/Model/DateTimeCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class DateTimeCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/DateTimeCustomFieldAdditionalSchema.php b/src/Model/DateTimeCustomFieldAdditionalSchema.php index d8602d3f0..1a076b4ba 100644 --- a/src/Model/DateTimeCustomFieldAdditionalSchema.php +++ b/src/Model/DateTimeCustomFieldAdditionalSchema.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DateTimeCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('required', $data)) { $this->setRequired($data['required']); @@ -30,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRequired(): ?bool diff --git a/src/Model/DccMarkup.php b/src/Model/DccMarkup.php index 0691d4930..9785d3026 100644 --- a/src/Model/DccMarkup.php +++ b/src/Model/DccMarkup.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DccMarkup implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/DccMarkupData.php b/src/Model/DccMarkupData.php index 384bc9b43..5549a3322 100644 --- a/src/Model/DccMarkupData.php +++ b/src/Model/DccMarkupData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DccMarkupData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('unknownSum', $data)) { $this->setUnknownSum($data['unknownSum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/DeleteTagAmlCheckCollectionRequest.php b/src/Model/DeleteTagAmlCheckCollectionRequest.php index 9af871459..26fed4151 100644 --- a/src/Model/DeleteTagAmlCheckCollectionRequest.php +++ b/src/Model/DeleteTagAmlCheckCollectionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DeleteTagAmlCheckCollectionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amlCheckIds', $data)) { $this->setAmlCheckIds($data['amlCheckIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/DeleteTagCustomerCollectionRequest.php b/src/Model/DeleteTagCustomerCollectionRequest.php index 4bea01281..cd554c22f 100644 --- a/src/Model/DeleteTagCustomerCollectionRequest.php +++ b/src/Model/DeleteTagCustomerCollectionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DeleteTagCustomerCollectionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerIds', $data)) { $this->setCustomerIds($data['customerIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/DeleteTagKycDocumentCollectionRequest.php b/src/Model/DeleteTagKycDocumentCollectionRequest.php index 2dc00087e..ee5699ffb 100644 --- a/src/Model/DeleteTagKycDocumentCollectionRequest.php +++ b/src/Model/DeleteTagKycDocumentCollectionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DeleteTagKycDocumentCollectionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('kycDocumentIds', $data)) { $this->setKycDocumentIds($data['kycDocumentIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/Dengi.php b/src/Model/Dengi.php index e5d86aa35..85af706df 100644 --- a/src/Model/Dengi.php +++ b/src/Model/Dengi.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Dengi extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Dengi', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): DengiCredentials diff --git a/src/Model/DengiCredentials.php b/src/Model/DengiCredentials.php index aa5f81ef6..7bdac2b42 100644 --- a/src/Model/DengiCredentials.php +++ b/src/Model/DengiCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DengiCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('projectId', $data)) { $this->setProjectId($data['projectId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('refundKey', $data)) { $this->setRefundKey($data['refundKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProjectId(): string diff --git a/src/Model/DepositCustomPropertySet.php b/src/Model/DepositCustomPropertySet.php index 9f7efedb4..ca65ff20c 100644 --- a/src/Model/DepositCustomPropertySet.php +++ b/src/Model/DepositCustomPropertySet.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositCustomPropertySet implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/DepositRequest.php b/src/Model/DepositRequest.php index e93ac878c..45b914615 100644 --- a/src/Model/DepositRequest.php +++ b/src/Model/DepositRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_CREATED = 'created'; public const STATUS_PENDING = 'pending'; @@ -34,7 +37,7 @@ class DepositRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -96,11 +99,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/DepositRequestCustomAmount.php b/src/Model/DepositRequestCustomAmount.php index e2eed3e5f..34977183f 100644 --- a/src/Model/DepositRequestCustomAmount.php +++ b/src/Model/DepositRequestCustomAmount.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositRequestCustomAmount implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('maximum', $data)) { $this->setMaximum($data['maximum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): float diff --git a/src/Model/DepositRequestEmbedded.php b/src/Model/DepositRequestEmbedded.php index 40d2b40bc..54a19d8f1 100644 --- a/src/Model/DepositRequestEmbedded.php +++ b/src/Model/DepositRequestEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositRequestEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('transactions', $data)) { $this->setTransactions($data['transactions']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/DepositStrategy.php b/src/Model/DepositStrategy.php index 2f51eb334..9fb2b829a 100644 --- a/src/Model/DepositStrategy.php +++ b/src/Model/DepositStrategy.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositStrategy implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -54,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/DepositStrategyAmounts.php b/src/Model/DepositStrategyAmounts.php index 063c8951f..41a4e15c4 100644 --- a/src/Model/DepositStrategyAmounts.php +++ b/src/Model/DepositStrategyAmounts.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositStrategyAmounts implements JsonSerializable { + use HasMetadata; + public const CALCULATOR_ABSOLUTE = 'absolute'; public const CALCULATOR_PERCENT = 'percent'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('calculator', $data)) { $this->setCalculator($data['calculator']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('minimumBaseAmount', $data)) { $this->setMinimumBaseAmount($data['minimumBaseAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCalculator(): string diff --git a/src/Model/DepositStrategyCustomAmount.php b/src/Model/DepositStrategyCustomAmount.php index 62fffaf20..67a01a680 100644 --- a/src/Model/DepositStrategyCustomAmount.php +++ b/src/Model/DepositStrategyCustomAmount.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DepositStrategyCustomAmount implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('maximum', $data)) { $this->setMaximum($data['maximum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): float diff --git a/src/Model/DigitalWalletOnboardingApplePay.php b/src/Model/DigitalWalletOnboardingApplePay.php index 6b6f32ea1..eb51f26e3 100644 --- a/src/Model/DigitalWalletOnboardingApplePay.php +++ b/src/Model/DigitalWalletOnboardingApplePay.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DigitalWalletOnboardingApplePay implements JsonSerializable { + use HasMetadata; + public const STATUS_FAILED = 'failed'; public const STATUS_REGISTERED = 'registered'; @@ -26,7 +29,7 @@ class DigitalWalletOnboardingApplePay implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('domain', $data)) { $this->setDomain($data['domain']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDomain(): string diff --git a/src/Model/DigitalWalletToken.php b/src/Model/DigitalWalletToken.php index bde7ade17..f21e32abe 100644 --- a/src/Model/DigitalWalletToken.php +++ b/src/Model/DigitalWalletToken.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class DigitalWalletToken implements CompositeToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/DigitalWalletTokenPaymentInstrument.php b/src/Model/DigitalWalletTokenPaymentInstrument.php index 9cf1a47fc..8ba1cc866 100644 --- a/src/Model/DigitalWalletTokenPaymentInstrument.php +++ b/src/Model/DigitalWalletTokenPaymentInstrument.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DigitalWalletTokenPaymentInstrument implements JsonSerializable { + use HasMetadata; + public const TYPE_APPLE_PAY = 'Apple Pay'; public const TYPE_GOOGLE_PAY = 'Google Pay'; @@ -54,7 +57,7 @@ class DigitalWalletTokenPaymentInstrument implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -86,11 +89,12 @@ public function __construct(array $data = []) if (array_key_exists('payload', $data)) { $this->setPayload($data['payload']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/DigitalWalletValidation.php b/src/Model/DigitalWalletValidation.php index 29a090a5b..e10e4428e 100644 --- a/src/Model/DigitalWalletValidation.php +++ b/src/Model/DigitalWalletValidation.php @@ -16,25 +16,29 @@ use InvalidArgumentException; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; abstract class DigitalWalletValidation implements JsonSerializable { + use HasMetadata; + public const TYPE_APPLE_PAY = 'Apple Pay'; private array $fields = []; - protected function __construct(array $data = []) + protected function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { switch ($data['type']) { case 'Apple Pay': - return ApplePayValidation::from($data); + return ApplePayValidation::from($data, $metadata); } throw new InvalidArgumentException("Unsupported type value: '{$data['type']}'"); diff --git a/src/Model/DigitalWallets.php b/src/Model/DigitalWallets.php index 7e3b4ccb7..d5bc5eba2 100644 --- a/src/Model/DigitalWallets.php +++ b/src/Model/DigitalWallets.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DigitalWallets implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('applePay', $data)) { $this->setApplePay($data['applePay']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('googlePay', $data)) { $this->setGooglePay($data['googlePay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApplePay(): ?DigitalWalletsApplePay diff --git a/src/Model/DigitalWalletsApplePay.php b/src/Model/DigitalWalletsApplePay.php index adb4566f6..73d9e60ba 100644 --- a/src/Model/DigitalWalletsApplePay.php +++ b/src/Model/DigitalWalletsApplePay.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DigitalWalletsApplePay implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('isEnabled', $data)) { $this->setIsEnabled($data['isEnabled']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('country', $data)) { $this->setCountry($data['country']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIsEnabled(): bool diff --git a/src/Model/DigitalWalletsGooglePay.php b/src/Model/DigitalWalletsGooglePay.php index 3d359d37e..4e2560d5a 100644 --- a/src/Model/DigitalWalletsGooglePay.php +++ b/src/Model/DigitalWalletsGooglePay.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DigitalWalletsGooglePay implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('isEnabled', $data)) { $this->setIsEnabled($data['isEnabled']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('country', $data)) { $this->setCountry($data['country']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIsEnabled(): bool diff --git a/src/Model/Dimoco.php b/src/Model/Dimoco.php index d865a171b..ddf51c93f 100644 --- a/src/Model/Dimoco.php +++ b/src/Model/Dimoco.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Dimoco extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Dimoco', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): DimocoCredentials diff --git a/src/Model/DimocoCredentials.php b/src/Model/DimocoCredentials.php index 1137df06b..ab777b218 100644 --- a/src/Model/DimocoCredentials.php +++ b/src/Model/DimocoCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DimocoCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Directa24.php b/src/Model/Directa24.php index 65aabbd10..274eeebf2 100644 --- a/src/Model/Directa24.php +++ b/src/Model/Directa24.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Directa24 extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Directa24', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): Directa24Credentials diff --git a/src/Model/Directa24Credentials.php b/src/Model/Directa24Credentials.php index 3b743627c..24a1d4fc0 100644 --- a/src/Model/Directa24Credentials.php +++ b/src/Model/Directa24Credentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Directa24Credentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('x_login', $data)) { $this->setXLogin($data['x_login']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('chargebackSecretKey', $data)) { $this->setChargebackSecretKey($data['chargebackSecretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getXLogin(): string diff --git a/src/Model/Directa24Settings.php b/src/Model/Directa24Settings.php index 9308675dd..5a9bc075a 100644 --- a/src/Model/Directa24Settings.php +++ b/src/Model/Directa24Settings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Directa24Settings implements JsonSerializable { + use HasMetadata; + public const BANKS_AA = 'AA'; public const BANKS_AL = 'AL'; @@ -166,7 +169,7 @@ class Directa24Settings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('banks', $data)) { $this->setBanks($data['banks']); @@ -180,11 +183,12 @@ public function __construct(array $data = []) if (array_key_exists('storeIdNumber', $data)) { $this->setStoreIdNumber($data['storeIdNumber']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/DiscountFactory.php b/src/Model/DiscountFactory.php index 066502ee0..2bd807d4f 100644 --- a/src/Model/DiscountFactory.php +++ b/src/Model/DiscountFactory.php @@ -18,11 +18,11 @@ class DiscountFactory { - public static function from(array $data = []): Discount + public static function from(array $data = [], array $metadata = []): Discount { return match ($data['type']) { - 'fixed' => DiscountFixed::from($data), - 'percent' => DiscountPercent::from($data), + 'fixed' => DiscountFixed::from($data, $metadata), + 'percent' => DiscountPercent::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/DiscountFixed.php b/src/Model/DiscountFixed.php index 11bcc671a..90f6bd5de 100644 --- a/src/Model/DiscountFixed.php +++ b/src/Model/DiscountFixed.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class DiscountFixed implements Discount { + use HasMetadata; + public const CONTEXT_ITEMS = 'items'; public const CONTEXT_SHIPPING = 'shipping'; @@ -24,7 +28,7 @@ class DiscountFixed implements Discount private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('context', $data)) { $this->setContext($data['context']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/DiscountPercent.php b/src/Model/DiscountPercent.php index 5a45f6e38..6bc6eae0c 100644 --- a/src/Model/DiscountPercent.php +++ b/src/Model/DiscountPercent.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class DiscountPercent implements Discount { + use HasMetadata; + public const CONTEXT_ITEMS = 'items'; public const CONTEXT_SHIPPING = 'shipping'; @@ -24,7 +28,7 @@ class DiscountPercent implements Discount private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('value', $data)) { $this->setValue($data['value']); @@ -32,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('context', $data)) { $this->setContext($data['context']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Dispute.php b/src/Model/Dispute.php index e08516fe6..7c5ec07b3 100644 --- a/src/Model/Dispute.php +++ b/src/Model/Dispute.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Dispute implements JsonSerializable { + use HasMetadata; + public const CATEGORY_FRAUD = 'fraud'; public const CATEGORY_AUTHORIZATION = 'authorization'; @@ -82,7 +85,7 @@ class Dispute implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -150,11 +153,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/DisputeEmbedded.php b/src/Model/DisputeEmbedded.php index 5d8dd8e74..539be67a3 100644 --- a/src/Model/DisputeEmbedded.php +++ b/src/Model/DisputeEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DisputeEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transaction', $data)) { $this->setTransaction($data['transaction']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransaction(): ?Transaction diff --git a/src/Model/DisputesDataExport.php b/src/Model/DisputesDataExport.php index eac73ace9..d51ffedb4 100644 --- a/src/Model/DisputesDataExport.php +++ b/src/Model/DisputesDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class DisputesDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class DisputesDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?DisputesDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|DisputesDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof DisputesDataExportDateRange)) { + $dateRange = DisputesDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/DataExportDateRange.php b/src/Model/DisputesDataExportDateRange.php similarity index 83% rename from src/Model/DataExportDateRange.php rename to src/Model/DisputesDataExportDateRange.php index bd5063f05..528726733 100644 --- a/src/Model/DataExportDateRange.php +++ b/src/Model/DisputesDataExportDateRange.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; -class DataExportDateRange implements JsonSerializable +class DisputesDataExportDateRange implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('start', $data)) { $this->setStart($data['start']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('field', $data)) { $this->setField($data['field']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStart(): string diff --git a/src/Model/DisputesDataExportEmbedded.php b/src/Model/DisputesDataExportEmbedded.php index 0a53f90ba..3664c6f3a 100644 --- a/src/Model/DisputesDataExportEmbedded.php +++ b/src/Model/DisputesDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DisputesDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/Dragonphoenix.php b/src/Model/Dragonphoenix.php index 7205f21a4..b5fe56794 100644 --- a/src/Model/Dragonphoenix.php +++ b/src/Model/Dragonphoenix.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Dragonphoenix extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Dragonphoenix', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): DragonphoenixCredentials diff --git a/src/Model/DragonphoenixCredentials.php b/src/Model/DragonphoenixCredentials.php index 084d9556c..399e899df 100644 --- a/src/Model/DragonphoenixCredentials.php +++ b/src/Model/DragonphoenixCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DragonphoenixCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sid', $data)) { $this->setSid($data['sid']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('rcode', $data)) { $this->setRcode($data['rcode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSid(): string diff --git a/src/Model/Dropayment.php b/src/Model/Dropayment.php index 4d9ca8e1f..bdb9c9fed 100644 --- a/src/Model/Dropayment.php +++ b/src/Model/Dropayment.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Dropayment extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Dropayment', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): DropaymentCredentials diff --git a/src/Model/DropaymentCredentials.php b/src/Model/DropaymentCredentials.php index 14b196b2b..8d4ac1828 100644 --- a/src/Model/DropaymentCredentials.php +++ b/src/Model/DropaymentCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class DropaymentCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('login', $data)) { $this->setLogin($data['login']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLogin(): string diff --git a/src/Model/EBANX.php b/src/Model/EBANX.php index 710349d02..4d9487923 100644 --- a/src/Model/EBANX.php +++ b/src/Model/EBANX.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EBANX extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'EBANX', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EBANXCredentials diff --git a/src/Model/EBANXCredentials.php b/src/Model/EBANXCredentials.php index e6d88af87..55c11043b 100644 --- a/src/Model/EBANXCredentials.php +++ b/src/Model/EBANXCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EBANXCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('integrationKey', $data)) { $this->setIntegrationKey($data['integrationKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIntegrationKey(): string diff --git a/src/Model/EMS.php b/src/Model/EMS.php index 92e5bb0cd..5654fd4d1 100644 --- a/src/Model/EMS.php +++ b/src/Model/EMS.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EMS extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'EMS', - ] + $data); + ] + $data, $metadata); if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSettings(): ?EMSSettings diff --git a/src/Model/EMSCredentials.php b/src/Model/EMSCredentials.php index f8e8def88..d0ebc8289 100644 --- a/src/Model/EMSCredentials.php +++ b/src/Model/EMSCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EMSCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('storeId', $data)) { $this->setStoreId($data['storeId']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('sftpPrivateKey', $data)) { $this->setSftpPrivateKey($data['sftpPrivateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStoreId(): string diff --git a/src/Model/EMSSettings.php b/src/Model/EMSSettings.php index 9e5414a62..6ebfcfbdc 100644 --- a/src/Model/EMSSettings.php +++ b/src/Model/EMSSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EMSSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('delay', $data)) { $this->setDelay($data['delay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDelay(): ?int diff --git a/src/Model/EMerchantPay.php b/src/Model/EMerchantPay.php index a04ab1fa6..e6836eefc 100644 --- a/src/Model/EMerchantPay.php +++ b/src/Model/EMerchantPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EMerchantPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'eMerchantPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EMerchantPayCredentials diff --git a/src/Model/EMerchantPayCredentials.php b/src/Model/EMerchantPayCredentials.php index 6ea3ed3a6..e73e10850 100644 --- a/src/Model/EMerchantPayCredentials.php +++ b/src/Model/EMerchantPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EMerchantPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): ?string diff --git a/src/Model/EMerchantPaySettings.php b/src/Model/EMerchantPaySettings.php index 1dea24b8f..c4d350254 100644 --- a/src/Model/EMerchantPaySettings.php +++ b/src/Model/EMerchantPaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EMerchantPaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useGenesisPlatform', $data)) { $this->setUseGenesisPlatform($data['useGenesisPlatform']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseGenesisPlatform(): ?bool diff --git a/src/Model/EPG.php b/src/Model/EPG.php index 5999c9d69..9944c85db 100644 --- a/src/Model/EPG.php +++ b/src/Model/EPG.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EPG extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'EPG', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EPGCredentials diff --git a/src/Model/EPGCredentials.php b/src/Model/EPGCredentials.php index 2403171d1..ccb4e91c1 100644 --- a/src/Model/EPGCredentials.php +++ b/src/Model/EPGCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EPGCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantKey', $data)) { $this->setMerchantKey($data['merchantKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/EPay.php b/src/Model/EPay.php index cea6613ed..41b9f868a 100644 --- a/src/Model/EPay.php +++ b/src/Model/EPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ePay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EPayCredentials diff --git a/src/Model/EPayCredentials.php b/src/Model/EPayCredentials.php index 0eb98676d..68ab0fa31 100644 --- a/src/Model/EPayCredentials.php +++ b/src/Model/EPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/EPro.php b/src/Model/EPro.php index cb277a17e..bfc6bfdcb 100644 --- a/src/Model/EPro.php +++ b/src/Model/EPro.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EPro extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'EPro', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EProCredentials diff --git a/src/Model/EProCredentials.php b/src/Model/EProCredentials.php index 858c6ca38..1262b4957 100644 --- a/src/Model/EProCredentials.php +++ b/src/Model/EProCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EProCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiSecretKey', $data)) { $this->setApiSecretKey($data['apiSecretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiSecretKey(): string diff --git a/src/Model/EZeeWallet.php b/src/Model/EZeeWallet.php index a795b0b62..cf9f09732 100644 --- a/src/Model/EZeeWallet.php +++ b/src/Model/EZeeWallet.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EZeeWallet extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'eZeeWallet', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EZeeWalletCredentials diff --git a/src/Model/EZeeWalletCredentials.php b/src/Model/EZeeWalletCredentials.php index 544d5748d..df359bbb0 100644 --- a/src/Model/EZeeWalletCredentials.php +++ b/src/Model/EZeeWalletCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EZeeWalletCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiUsername', $data)) { $this->setApiUsername($data['apiUsername']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiPassword', $data)) { $this->setApiPassword($data['apiPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiUsername(): string diff --git a/src/Model/EasyPayDirect.php b/src/Model/EasyPayDirect.php index aa7da0207..057e3e8f2 100644 --- a/src/Model/EasyPayDirect.php +++ b/src/Model/EasyPayDirect.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EasyPayDirect extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'EasyPayDirect', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EasyPayDirectCredentials diff --git a/src/Model/EasyPayDirectCredentials.php b/src/Model/EasyPayDirectCredentials.php index 60f790e1b..ce3791281 100644 --- a/src/Model/EasyPayDirectCredentials.php +++ b/src/Model/EasyPayDirectCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EasyPayDirectCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSecretKey(): string diff --git a/src/Model/EcoPayz.php b/src/Model/EcoPayz.php index b2cdc8cec..39bdc8c63 100644 --- a/src/Model/EcoPayz.php +++ b/src/Model/EcoPayz.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EcoPayz extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ecoPayz', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EcoPayzCredentials diff --git a/src/Model/EcoPayzCredentials.php b/src/Model/EcoPayzCredentials.php index 17385d8be..5d63bb529 100644 --- a/src/Model/EcoPayzCredentials.php +++ b/src/Model/EcoPayzCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EcoPayzCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentPageId', $data)) { $this->setPaymentPageId($data['paymentPageId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantPassword', $data)) { $this->setMerchantPassword($data['merchantPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentPageId(): string diff --git a/src/Model/EcoPayzSettings.php b/src/Model/EcoPayzSettings.php index 2af3ad0b6..1b7c2ad78 100644 --- a/src/Model/EcoPayzSettings.php +++ b/src/Model/EcoPayzSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EcoPayzSettings implements JsonSerializable { + use HasMetadata; + public const VALID_CURRENCY_CAD = 'CAD'; public const VALID_CURRENCY_EUR = 'EUR'; @@ -28,16 +31,17 @@ class EcoPayzSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('validCurrency', $data)) { $this->setValidCurrency($data['validCurrency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getValidCurrency(): string diff --git a/src/Model/EcoPayzTurkey.php b/src/Model/EcoPayzTurkey.php index a9ee63bdc..d9b921422 100644 --- a/src/Model/EcoPayzTurkey.php +++ b/src/Model/EcoPayzTurkey.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EcoPayzTurkey extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ecoPayzTurkey', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EcoPayzTurkeyCredentials diff --git a/src/Model/EcoPayzTurkeyCredentials.php b/src/Model/EcoPayzTurkeyCredentials.php index 66b11f934..432415e15 100644 --- a/src/Model/EcoPayzTurkeyCredentials.php +++ b/src/Model/EcoPayzTurkeyCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EcoPayzTurkeyCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentPageId', $data)) { $this->setPaymentPageId($data['paymentPageId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantPassword', $data)) { $this->setMerchantPassword($data['merchantPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentPageId(): string diff --git a/src/Model/EcoPayzTurkeySettings.php b/src/Model/EcoPayzTurkeySettings.php index cd976fbef..4e01d1ea5 100644 --- a/src/Model/EcoPayzTurkeySettings.php +++ b/src/Model/EcoPayzTurkeySettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EcoPayzTurkeySettings implements JsonSerializable { + use HasMetadata; + public const VALID_CURRENCY_CAD = 'CAD'; public const VALID_CURRENCY_EUR = 'EUR'; @@ -28,16 +31,17 @@ class EcoPayzTurkeySettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('validCurrency', $data)) { $this->setValidCurrency($data['validCurrency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getValidCurrency(): string diff --git a/src/Model/EcorePay.php b/src/Model/EcorePay.php index b6202eb0d..480aca189 100644 --- a/src/Model/EcorePay.php +++ b/src/Model/EcorePay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EcorePay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'EcorePay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EcorePayCredentials diff --git a/src/Model/EcorePayCredentials.php b/src/Model/EcorePayCredentials.php index 7dc8f21a6..98b473e89 100644 --- a/src/Model/EcorePayCredentials.php +++ b/src/Model/EcorePayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EcorePayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('accountAuth', $data)) { $this->setAccountAuth($data['accountAuth']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountId(): string diff --git a/src/Model/Edd.php b/src/Model/Edd.php index e28013730..92e620e85 100644 --- a/src/Model/Edd.php +++ b/src/Model/Edd.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Edd implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('parsedScore', $data)) { $this->setParsedScore($data['parsedScore']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getParsedScore(): ?EddParsedScore diff --git a/src/Model/EddParsedScore.php b/src/Model/EddParsedScore.php index 5bb71de12..0221e3645 100644 --- a/src/Model/EddParsedScore.php +++ b/src/Model/EddParsedScore.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EddParsedScore implements JsonSerializable { + use HasMetadata; + public const OCCUPATION_NOT_FOUND = 'not-found'; public const OCCUPATION_UNLIKELY = 'unlikely'; @@ -60,7 +63,7 @@ class EddParsedScore implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('occupation', $data)) { $this->setOccupation($data['occupation']); @@ -86,11 +89,12 @@ public function __construct(array $data = []) if (array_key_exists('fraudDetails', $data)) { $this->setFraudDetails($data['fraudDetails']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOccupation(): ?string diff --git a/src/Model/EddScore.php b/src/Model/EddScore.php index 0676add1e..628862893 100644 --- a/src/Model/EddScore.php +++ b/src/Model/EddScore.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EddScore implements JsonSerializable { + use HasMetadata; + public const OCCUPATION_NOT_FOUND = 'not-found'; public const OCCUPATION_UNLIKELY = 'unlikely'; @@ -60,7 +63,7 @@ class EddScore implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('occupation', $data)) { $this->setOccupation($data['occupation']); @@ -74,11 +77,12 @@ public function __construct(array $data = []) if (array_key_exists('fraud', $data)) { $this->setFraud($data['fraud']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOccupation(): ?string diff --git a/src/Model/EddScoreDetails.php b/src/Model/EddScoreDetails.php index 09fc1be1f..83f7294ab 100644 --- a/src/Model/EddScoreDetails.php +++ b/src/Model/EddScoreDetails.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EddScoreDetails implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('url', $data)) { $this->setUrl($data['url']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('details', $data)) { $this->setDetails($data['details']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUrl(): ?string diff --git a/src/Model/EddSearchResult.php b/src/Model/EddSearchResult.php index c5e3c2b3f..677513af5 100644 --- a/src/Model/EddSearchResult.php +++ b/src/Model/EddSearchResult.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EddSearchResult implements JsonSerializable { + use HasMetadata; + public const TYPE_OCCUPATION = 'occupation'; public const TYPE_ARREST = 'arrest'; @@ -30,7 +33,7 @@ class EddSearchResult implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/EddTimeline.php b/src/Model/EddTimeline.php index cf55dcde9..1949cd861 100644 --- a/src/Model/EddTimeline.php +++ b/src/Model/EddTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EddTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_EDD_SEARCH_PERFORMED = 'edd-search-performed'; public const TYPE_EDD_SCORE_MANUALLY_UPDATED = 'edd-score-manually-updated'; @@ -34,7 +37,7 @@ class EddTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -57,11 +60,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/Elavon.php b/src/Model/Elavon.php index bfaa060f8..db6a73d4b 100644 --- a/src/Model/Elavon.php +++ b/src/Model/Elavon.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Elavon extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Elavon', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ElavonCredentials diff --git a/src/Model/ElavonCredentials.php b/src/Model/ElavonCredentials.php index 44faf845b..c7dae79fd 100644 --- a/src/Model/ElavonCredentials.php +++ b/src/Model/ElavonCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ElavonCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('ssl_merchant_id', $data)) { $this->setSslMerchantId($data['ssl_merchant_id']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('ssl_pin', $data)) { $this->setSslPin($data['ssl_pin']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSslMerchantId(): string diff --git a/src/Model/EmailDeliverySetting.php b/src/Model/EmailDeliverySetting.php index f99e6a420..788d3917b 100644 --- a/src/Model/EmailDeliverySetting.php +++ b/src/Model/EmailDeliverySetting.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EmailDeliverySetting implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_VERIFIED = 'verified'; @@ -38,7 +41,7 @@ class EmailDeliverySetting implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -70,11 +73,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/EmailMessage.php b/src/Model/EmailMessage.php index e2aecd026..fe603375b 100644 --- a/src/Model/EmailMessage.php +++ b/src/Model/EmailMessage.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EmailMessage implements JsonSerializable { + use HasMetadata; + public const STATUS_DRAFT = 'draft'; public const STATUS_OUTBOX = 'outbox'; @@ -30,7 +33,7 @@ class EmailMessage implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -89,11 +92,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/EmailMessageAttachments.php b/src/Model/EmailMessageAttachments.php index 642dc0d06..6c62b0e9a 100644 --- a/src/Model/EmailMessageAttachments.php +++ b/src/Model/EmailMessageAttachments.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EmailMessageAttachments implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('resourceType', $data)) { $this->setResourceType($data['resourceType']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('resourceId', $data)) { $this->setResourceId($data['resourceId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResourceType(): string diff --git a/src/Model/EmailNotification.php b/src/Model/EmailNotification.php index 58920da69..7934ae02b 100644 --- a/src/Model/EmailNotification.php +++ b/src/Model/EmailNotification.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EmailNotification implements JsonSerializable { + use HasMetadata; + public const EVENT_TYPE_ACCOUNT_PASSWORD_RESET_REQUESTED = 'account-password-reset-requested'; public const EVENT_TYPE_ACCOUNT_VERIFICATION_REQUESTED = 'account-verification-requested'; @@ -212,7 +215,7 @@ class EmailNotification implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('eventType', $data)) { $this->setEventType($data['eventType']); @@ -229,11 +232,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEventType(): ?string diff --git a/src/Model/EmailNotificationNotifications.php b/src/Model/EmailNotificationNotifications.php index 466e4a0ae..0cdf1a0fd 100644 --- a/src/Model/EmailNotificationNotifications.php +++ b/src/Model/EmailNotificationNotifications.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EmailNotificationNotifications implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('labels', $data)) { $this->setLabels($data['labels']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('isActive', $data)) { $this->setIsActive($data['isActive']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/Euteller.php b/src/Model/Euteller.php index 1ae74d378..3f5da7830 100644 --- a/src/Model/Euteller.php +++ b/src/Model/Euteller.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Euteller extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Euteller', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EutellerCredentials diff --git a/src/Model/EutellerCredentials.php b/src/Model/EutellerCredentials.php index bf1b030d9..a3c7bb8d1 100644 --- a/src/Model/EutellerCredentials.php +++ b/src/Model/EutellerCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EutellerCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/ExperianCredential.php b/src/Model/ExperianCredential.php index 7f0ff16de..d1cd26650 100644 --- a/src/Model/ExperianCredential.php +++ b/src/Model/ExperianCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ExperianCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class ExperianCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/ExternalIdentifier.php b/src/Model/ExternalIdentifier.php index 5259ad7dd..695757234 100644 --- a/src/Model/ExternalIdentifier.php +++ b/src/Model/ExternalIdentifier.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ExternalIdentifier implements JsonSerializable { + use HasMetadata; + public const RESOURCE_CUSTOMERS = 'customers'; public const RESOURCE_INVOICES = 'invoices'; @@ -36,7 +39,7 @@ class ExternalIdentifier implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('resource', $data)) { $this->setResource($data['resource']); @@ -59,11 +62,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): ?string diff --git a/src/Model/ExternalServiceSettings.php b/src/Model/ExternalServiceSettings.php index 50c3e3546..a8bdb099b 100644 --- a/src/Model/ExternalServiceSettings.php +++ b/src/Model/ExternalServiceSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ExternalServiceSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quickBooksOnline', $data)) { $this->setQuickBooksOnline($data['quickBooksOnline']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getQuickBooksOnline(): ?QuickBooksOnlineExternalServiceSettings diff --git a/src/Model/Ezeebill.php b/src/Model/Ezeebill.php index 5281a823a..0b5a47e4f 100644 --- a/src/Model/Ezeebill.php +++ b/src/Model/Ezeebill.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Ezeebill extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Ezeebill', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EzeebillCredentials diff --git a/src/Model/EzeebillCredentials.php b/src/Model/EzeebillCredentials.php index c4728fe0c..1bc53b293 100644 --- a/src/Model/EzeebillCredentials.php +++ b/src/Model/EzeebillCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EzeebillCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('hashKey', $data)) { $this->setHashKey($data['hashKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/EzyEFT.php b/src/Model/EzyEFT.php index 5bea8487b..487ac4313 100644 --- a/src/Model/EzyEFT.php +++ b/src/Model/EzyEFT.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class EzyEFT extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ezyEFT', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): EzyEFTCredentials diff --git a/src/Model/EzyEFTCredentials.php b/src/Model/EzyEFTCredentials.php index e64ef5234..e28cb8c93 100644 --- a/src/Model/EzyEFTCredentials.php +++ b/src/Model/EzyEFTCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class EzyEFTCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantToken', $data)) { $this->setMerchantToken($data['merchantToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Fee.php b/src/Model/Fee.php index 0658904b8..26b231999 100644 --- a/src/Model/Fee.php +++ b/src/Model/Fee.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Fee implements JsonSerializable { + use HasMetadata; + public const TYPE_BUY = 'buy'; public const TYPE_SELL = 'sell'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/FeeFormulaFactory.php b/src/Model/FeeFormulaFactory.php index 1b8535d42..191d06a48 100644 --- a/src/Model/FeeFormulaFactory.php +++ b/src/Model/FeeFormulaFactory.php @@ -18,11 +18,11 @@ class FeeFormulaFactory { - public static function from(array $data = []): FeeFormula + public static function from(array $data = [], array $metadata = []): FeeFormula { return match ($data['type']) { - 'fixed-fee' => FixedFeeFormula::from($data), - 'percentage' => PercentageFeeFormula::from($data), + 'fixed-fee' => FixedFeeFormula::from($data, $metadata), + 'percentage' => PercentageFeeFormula::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/File.php b/src/Model/File.php index a8baa9c48..e24c4894a 100644 --- a/src/Model/File.php +++ b/src/Model/File.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class File implements JsonSerializable { + use HasMetadata; + public const SOURCE_TYPE_UPLOAD = 'upload'; public const SOURCE_TYPE_CAMERA = 'camera'; @@ -46,7 +49,7 @@ class File implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -96,11 +99,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/FileCreateFromInline.php b/src/Model/FileCreateFromInline.php index af420e846..1879ce33c 100644 --- a/src/Model/FileCreateFromInline.php +++ b/src/Model/FileCreateFromInline.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class FileCreateFromInline implements PostFileRequest { + use HasMetadata; + public const SOURCE_TYPE_UPLOAD = 'upload'; public const SOURCE_TYPE_CAMERA = 'camera'; @@ -28,7 +32,7 @@ class FileCreateFromInline implements PostFileRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -48,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('tags', $data)) { $this->setTags($data['tags']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): string diff --git a/src/Model/FileCreateFromUrl.php b/src/Model/FileCreateFromUrl.php index e2d4fcc8b..f222ed2c5 100644 --- a/src/Model/FileCreateFromUrl.php +++ b/src/Model/FileCreateFromUrl.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class FileCreateFromUrl implements PostFileRequest { + use HasMetadata; + public const SOURCE_TYPE_UPLOAD = 'upload'; public const SOURCE_TYPE_CAMERA = 'camera'; @@ -28,7 +32,7 @@ class FileCreateFromUrl implements PostFileRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('url', $data)) { $this->setUrl($data['url']); @@ -48,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('tags', $data)) { $this->setTags($data['tags']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUrl(): string diff --git a/src/Model/FinTecSystems.php b/src/Model/FinTecSystems.php index 144591d74..4abe50d4f 100644 --- a/src/Model/FinTecSystems.php +++ b/src/Model/FinTecSystems.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class FinTecSystems extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'FinTecSystems', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): FinTecSystemsCredentials diff --git a/src/Model/FinTecSystemsCredentials.php b/src/Model/FinTecSystemsCredentials.php index 19a1fc610..08dc81d17 100644 --- a/src/Model/FinTecSystemsCredentials.php +++ b/src/Model/FinTecSystemsCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FinTecSystemsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/FinTecSystemsSettings.php b/src/Model/FinTecSystemsSettings.php index 893b05054..57b389b09 100644 --- a/src/Model/FinTecSystemsSettings.php +++ b/src/Model/FinTecSystemsSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FinTecSystemsSettings implements JsonSerializable { + use HasMetadata; + public const RECIPIENT_COUNTRY_AT = 'AT'; public const RECIPIENT_COUNTRY_CH = 'CH'; @@ -26,7 +29,7 @@ class FinTecSystemsSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('recipientIBAN', $data)) { $this->setRecipientIBAN($data['recipientIBAN']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('recipientHolder', $data)) { $this->setRecipientHolder($data['recipientHolder']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRecipientIBAN(): string diff --git a/src/Model/Finrax.php b/src/Model/Finrax.php index e96b1b22b..f3e154ff0 100644 --- a/src/Model/Finrax.php +++ b/src/Model/Finrax.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Finrax extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Finrax', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): FinraxCredentials diff --git a/src/Model/FinraxCredentials.php b/src/Model/FinraxCredentials.php index efddd3465..c1b84ca8b 100644 --- a/src/Model/FinraxCredentials.php +++ b/src/Model/FinraxCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FinraxCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('businessId', $data)) { $this->setBusinessId($data['businessId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBusinessId(): string diff --git a/src/Model/FinraxSettings.php b/src/Model/FinraxSettings.php index 6d1bdcfc6..1f36f73dc 100644 --- a/src/Model/FinraxSettings.php +++ b/src/Model/FinraxSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FinraxSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tolerancePercentage', $data)) { $this->setTolerancePercentage($data['tolerancePercentage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTolerancePercentage(): int diff --git a/src/Model/FixedFeeFormula.php b/src/Model/FixedFeeFormula.php index 0b5be922c..635535e5c 100644 --- a/src/Model/FixedFeeFormula.php +++ b/src/Model/FixedFeeFormula.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class FixedFeeFormula implements FeeFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Flexepin.php b/src/Model/Flexepin.php index 12c4f2b92..ed8e261ab 100644 --- a/src/Model/Flexepin.php +++ b/src/Model/Flexepin.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Flexepin extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Flexepin', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): FlexepinCredentials diff --git a/src/Model/FlexepinCredentials.php b/src/Model/FlexepinCredentials.php index b0e3d136e..d251e4db7 100644 --- a/src/Model/FlexepinCredentials.php +++ b/src/Model/FlexepinCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FlexepinCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/FlexepinSettings.php b/src/Model/FlexepinSettings.php index 5cc039632..8b8509c87 100644 --- a/src/Model/FlexepinSettings.php +++ b/src/Model/FlexepinSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FlexepinSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('adjustAmountFromVoucher', $data)) { $this->setAdjustAmountFromVoucher($data['adjustAmountFromVoucher']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAdjustAmountFromVoucher(): ?bool diff --git a/src/Model/FlexiblePlan.php b/src/Model/FlexiblePlan.php index 6e776b9ef..ba4c18f77 100644 --- a/src/Model/FlexiblePlan.php +++ b/src/Model/FlexiblePlan.php @@ -18,7 +18,7 @@ interface FlexiblePlan extends ConfigurablePlan { - public function getId(): ?string; + public function getId(): string; public function getName(): string; diff --git a/src/Model/FlexiblePlanFactory.php b/src/Model/FlexiblePlanFactory.php index 8f78e4ecd..b9b22671d 100644 --- a/src/Model/FlexiblePlanFactory.php +++ b/src/Model/FlexiblePlanFactory.php @@ -16,15 +16,15 @@ class FlexiblePlanFactory { - public static function from(array $data = []): FlexiblePlan + public static function from(array $data = [], array $metadata = []): FlexiblePlan { if ($data['isTrialOnly'] ?? false) { - return TrialOnlyPlan::from($data); + return TrialOnlyPlan::from($data, $metadata); } if (isset($data['recurringInterval'])) { - return SubscriptionPlan::from($data); + return SubscriptionPlan::from($data, $metadata); } - return OneTimeSalePlan::from($data); + return OneTimeSalePlan::from($data, $metadata); } } diff --git a/src/Model/ForgotPassword.php b/src/Model/ForgotPassword.php index a5dae7a7e..1cc6b13b6 100644 --- a/src/Model/ForgotPassword.php +++ b/src/Model/ForgotPassword.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ForgotPassword implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('email', $data)) { $this->setEmail($data['email']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEmail(): string diff --git a/src/Model/Forte.php b/src/Model/Forte.php index 6ca890668..68d650f9f 100644 --- a/src/Model/Forte.php +++ b/src/Model/Forte.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Forte extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Forte', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ForteCredentials diff --git a/src/Model/ForteCredentials.php b/src/Model/ForteCredentials.php index eab4df6b9..32f48063c 100644 --- a/src/Model/ForteCredentials.php +++ b/src/Model/ForteCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ForteCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecretKey', $data)) { $this->setApiSecretKey($data['apiSecretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountId(): string diff --git a/src/Model/FundSend.php b/src/Model/FundSend.php index 66aad0c36..40c063ad5 100644 --- a/src/Model/FundSend.php +++ b/src/Model/FundSend.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class FundSend extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'FundSend', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): FundSendCredentials diff --git a/src/Model/FundSendCredentials.php b/src/Model/FundSendCredentials.php index 1c5a8a479..b264ac128 100644 --- a/src/Model/FundSendCredentials.php +++ b/src/Model/FundSendCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FundSendCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretWord', $data)) { $this->setSecretWord($data['secretWord']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/FundsMatches.php b/src/Model/FundsMatches.php index cf234f66a..2cd436118 100644 --- a/src/Model/FundsMatches.php +++ b/src/Model/FundsMatches.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FundsMatches implements JsonSerializable { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -74,7 +77,7 @@ class FundsMatches implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -85,11 +88,12 @@ public function __construct(array $data = []) if (array_key_exists('documentSubtype', $data)) { $this->setDocumentSubtype($data['documentSubtype']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/FutureRenewals.php b/src/Model/FutureRenewals.php index 4c48beb56..a9bc1c872 100644 --- a/src/Model/FutureRenewals.php +++ b/src/Model/FutureRenewals.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FutureRenewals implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/FutureRenewalsData.php b/src/Model/FutureRenewalsData.php index e30deadcc..97f58faef 100644 --- a/src/Model/FutureRenewalsData.php +++ b/src/Model/FutureRenewalsData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FutureRenewalsData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('date', $data)) { $this->setDate($data['date']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('plansCount', $data)) { $this->setPlansCount($data['plansCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDate(): ?string diff --git a/src/Model/FutureRenewalsDataPlansCount.php b/src/Model/FutureRenewalsDataPlansCount.php index 36b98f249..a5ae45acd 100644 --- a/src/Model/FutureRenewalsDataPlansCount.php +++ b/src/Model/FutureRenewalsDataPlansCount.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class FutureRenewalsDataPlansCount implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('count', $data)) { $this->setCount($data['count']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlanId(): ?string diff --git a/src/Model/GET.php b/src/Model/GET.php index c68102be5..f7211f992 100644 --- a/src/Model/GET.php +++ b/src/Model/GET.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class GET extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'GET', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GETCredentials diff --git a/src/Model/GETCredentials.php b/src/Model/GETCredentials.php index 4c632898e..db82685f3 100644 --- a/src/Model/GETCredentials.php +++ b/src/Model/GETCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GETCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountId(): string diff --git a/src/Model/Gate2way.php b/src/Model/Gate2way.php index dfd27e392..ed735b78e 100644 --- a/src/Model/Gate2way.php +++ b/src/Model/Gate2way.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Gate2way extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'gate2way', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): Gate2wayCredentials diff --git a/src/Model/Gate2wayCredentials.php b/src/Model/Gate2wayCredentials.php index ebd175bd9..3a109fe04 100644 --- a/src/Model/Gate2wayCredentials.php +++ b/src/Model/Gate2wayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Gate2wayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/GatewayAccount.php b/src/Model/GatewayAccount.php index 669b606c5..211581fd3 100644 --- a/src/Model/GatewayAccount.php +++ b/src/Model/GatewayAccount.php @@ -18,9 +18,12 @@ use DateTimeInterface; use InvalidArgumentException; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; abstract class GatewayAccount implements JsonSerializable { + use HasMetadata; + public const GATEWAY_NAME_A1_GATEWAY = 'A1Gateway'; public const GATEWAY_NAME_ACI = 'ACI'; @@ -449,6 +452,8 @@ abstract class GatewayAccount implements JsonSerializable public const GATEWAY_NAME_VEGA_WALLET = 'VegaWallet'; + public const GATEWAY_NAME_VIVA = 'Viva'; + public const GATEWAY_NAME_WALLET88 = 'Wallet88'; public const GATEWAY_NAME_WALPAY = 'Walpay'; @@ -885,16 +890,6 @@ abstract class GatewayAccount implements JsonSerializable public const ACQUIRER_NAME_ZOTAPAY = 'Zotapay'; - public const METHOD_PAYMENT_CARD = 'payment-card'; - - public const METHOD_ACH = 'ach'; - - public const METHOD_CASH = 'cash'; - - public const METHOD_CHECK = 'check'; - - public const METHOD_PAYPAL = 'paypal'; - public const METHOD_ADV_CASH = 'AdvCash'; public const METHOD_AERA = 'Aera'; @@ -1243,6 +1238,8 @@ abstract class GatewayAccount implements JsonSerializable public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -1329,7 +1326,7 @@ abstract class GatewayAccount implements JsonSerializable private array $fields = []; - protected function __construct(array $data = []) + protected function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -1430,455 +1427,458 @@ protected function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { switch ($data['gatewayName']) { case 'A1Gateway': - return A1Gateway::from($data); + return A1Gateway::from($data, $metadata); case 'ACI': - return ACI::from($data); + return ACI::from($data, $metadata); case 'Adyen': - return Adyen::from($data); + return Adyen::from($data, $metadata); case 'Aera': - return Aera::from($data); + return Aera::from($data, $metadata); case 'Aircash': - return Aircash::from($data); + return Aircash::from($data, $metadata); case 'Airpay': - return Airpay::from($data); + return Airpay::from($data, $metadata); case 'Airwallex': - return Airwallex::from($data); + return Airwallex::from($data, $metadata); case 'AmazonPay': - return AmazonPay::from($data); + return AmazonPay::from($data, $metadata); case 'AmexVPC': - return AmexVPC::from($data); + return AmexVPC::from($data, $metadata); case 'Antom': - return Antom::from($data); + return Antom::from($data, $metadata); case 'ApcoPay': - return ApcoPay::from($data); + return ApcoPay::from($data, $metadata); case 'AsiaPay': - return AsiaPay::from($data); + return AsiaPay::from($data, $metadata); case 'AsiaPaymentGateway': - return AsiaPaymentGateway::from($data); + return AsiaPaymentGateway::from($data, $metadata); case 'AstroPayCard': - return AstroPayCard::from($data); + return AstroPayCard::from($data, $metadata); case 'AuthorizeNet': - return AuthorizeNet::from($data); + return AuthorizeNet::from($data, $metadata); case 'Awepay': - return Awepay::from($data); + return Awepay::from($data, $metadata); case 'Bambora': - return Bambora::from($data); + return Bambora::from($data, $metadata); case 'BankSEND': - return BankSEND::from($data); + return BankSEND::from($data, $metadata); case 'BitPay': - return BitPay::from($data); + return BitPay::from($data, $metadata); case 'BlueSnap': - return BlueSnap::from($data); + return BlueSnap::from($data, $metadata); case 'BraintreePayments': - return BraintreePayments::from($data); + return BraintreePayments::from($data, $metadata); case 'Buckaroo': - return Buckaroo::from($data); + return Buckaroo::from($data, $metadata); case 'BVNK': - return BVNK::from($data); + return BVNK::from($data, $metadata); case 'Cardknox': - return Cardknox::from($data); + return Cardknox::from($data, $metadata); case 'Cashflows': - return Cashflows::from($data); + return Cashflows::from($data, $metadata); case 'CASHlib': - return CASHlib::from($data); + return CASHlib::from($data, $metadata); case 'Cashterminal': - return Cashterminal::from($data); + return Cashterminal::from($data, $metadata); case 'CashToCode': - return CashToCode::from($data); + return CashToCode::from($data, $metadata); case 'CauriPayment': - return CauriPayment::from($data); + return CauriPayment::from($data, $metadata); case 'Cayan': - return Cayan::from($data); + return Cayan::from($data, $metadata); case 'CCAvenue': - return CCAvenue::from($data); + return CCAvenue::from($data, $metadata); case 'Chase': - return Chase::from($data); + return Chase::from($data, $metadata); case 'CheckoutCom': - return CheckoutCom::from($data); + return CheckoutCom::from($data, $metadata); case 'Chillstock': - return Chillstock::from($data); + return Chillstock::from($data, $metadata); case 'Circle': - return Circle::from($data); + return Circle::from($data, $metadata); case 'Citadel': - return Citadel::from($data); + return Citadel::from($data, $metadata); case 'Clearhaus': - return Clearhaus::from($data); + return Clearhaus::from($data, $metadata); case 'Cleo': - return Cleo::from($data); + return Cleo::from($data, $metadata); case 'CODVoucher': - return CODVoucher::from($data); + return CODVoucher::from($data, $metadata); case 'Coinbase': - return Coinbase::from($data); + return Coinbase::from($data, $metadata); case 'CoinGate': - return CoinGate::from($data); + return CoinGate::from($data, $metadata); case 'CoinPayments': - return CoinPayments::from($data); + return CoinPayments::from($data, $metadata); case 'Conekta': - return Conekta::from($data); + return Conekta::from($data, $metadata); case 'Coppr': - return Coppr::from($data); + return Coppr::from($data, $metadata); case 'Credorax': - return Credorax::from($data); + return Credorax::from($data, $metadata); case 'Cryptomus': - return Cryptomus::from($data); + return Cryptomus::from($data, $metadata); case 'Cryptonator': - return Cryptonator::from($data); + return Cryptonator::from($data, $metadata); case 'CyberSource': - return CyberSource::from($data); + return CyberSource::from($data, $metadata); case 'DataCash': - return DataCash::from($data); + return DataCash::from($data, $metadata); case 'Dengi': - return Dengi::from($data); + return Dengi::from($data, $metadata); case 'Dimoco': - return Dimoco::from($data); + return Dimoco::from($data, $metadata); case 'Directa24': - return Directa24::from($data); + return Directa24::from($data, $metadata); case 'dLocal': - return DLocal::from($data); + return DLocal::from($data, $metadata); case 'Dragonphoenix': - return Dragonphoenix::from($data); + return Dragonphoenix::from($data, $metadata); case 'Dropayment': - return Dropayment::from($data); + return Dropayment::from($data, $metadata); case 'EasyPayDirect': - return EasyPayDirect::from($data); + return EasyPayDirect::from($data, $metadata); case 'EBANX': - return EBANX::from($data); + return EBANX::from($data, $metadata); case 'ecoPayz': - return EcoPayz::from($data); + return EcoPayz::from($data, $metadata); case 'ecoPayzTurkey': - return EcoPayzTurkey::from($data); + return EcoPayzTurkey::from($data, $metadata); case 'EcorePay': - return EcorePay::from($data); + return EcorePay::from($data, $metadata); case 'Elavon': - return Elavon::from($data); + return Elavon::from($data, $metadata); case 'eMerchantPay': - return EMerchantPay::from($data); + return EMerchantPay::from($data, $metadata); case 'EMS': - return EMS::from($data); + return EMS::from($data, $metadata); case 'ePay': - return EPay::from($data); + return EPay::from($data, $metadata); case 'EPG': - return EPG::from($data); + return EPG::from($data, $metadata); case 'EPro': - return EPro::from($data); + return EPro::from($data, $metadata); case 'Euteller': - return Euteller::from($data); + return Euteller::from($data, $metadata); case 'Ezeebill': - return Ezeebill::from($data); + return Ezeebill::from($data, $metadata); case 'eZeeWallet': - return EZeeWallet::from($data); + return EZeeWallet::from($data, $metadata); case 'ezyEFT': - return EzyEFT::from($data); + return EzyEFT::from($data, $metadata); case 'Finrax': - return Finrax::from($data); + return Finrax::from($data, $metadata); case 'FinTecSystems': - return FinTecSystems::from($data); + return FinTecSystems::from($data, $metadata); case 'Flexepin': - return Flexepin::from($data); + return Flexepin::from($data, $metadata); case 'Forte': - return Forte::from($data); + return Forte::from($data, $metadata); case 'FundSend': - return FundSend::from($data); + return FundSend::from($data, $metadata); case 'gate2way': - return Gate2way::from($data); + return Gate2way::from($data, $metadata); case 'GET': - return GET::from($data); + return GET::from($data, $metadata); case 'Gigadat': - return Gigadat::from($data); + return Gigadat::from($data, $metadata); case 'GlobalOne': - return GlobalOne::from($data); + return GlobalOne::from($data, $metadata); case 'GoCardless': - return GoCardless::from($data); + return GoCardless::from($data, $metadata); case 'Gooney': - return Gooney::from($data); + return Gooney::from($data, $metadata); case 'Gpaysafe': - return Gpaysafe::from($data); + return Gpaysafe::from($data, $metadata); case 'Greenbox': - return Greenbox::from($data); + return Greenbox::from($data, $metadata); case 'HiPay': - return HiPay::from($data); + return HiPay::from($data, $metadata); case 'iCanPay': - return ICanPay::from($data); + return ICanPay::from($data, $metadata); case 'iCashOne': - return ICashOne::from($data); + return ICashOne::from($data, $metadata); case 'ICEPAY': - return ICEPAY::from($data); + return ICEPAY::from($data, $metadata); case 'iCheque': - return ICheque::from($data); + return ICheque::from($data, $metadata); case 'iDebit': - return IDebit::from($data); + return IDebit::from($data, $metadata); case 'Ilixium': - return Ilixium::from($data); + return Ilixium::from($data, $metadata); case 'Ingenico': - return Ingenico::from($data); + return Ingenico::from($data, $metadata); case 'INOVAPAY': - return INOVAPAY::from($data); + return INOVAPAY::from($data, $metadata); case 'Inovio': - return Inovio::from($data); + return Inovio::from($data, $metadata); case 'InstaDebit': - return InstaDebit::from($data); + return InstaDebit::from($data, $metadata); case 'Intuit': - return Intuit::from($data); + return Intuit::from($data, $metadata); case 'IpayOptions': - return IpayOptions::from($data); + return IpayOptions::from($data, $metadata); case 'Jeton': - return Jeton::from($data); + return Jeton::from($data, $metadata); case 'JetPay': - return JetPay::from($data); + return JetPay::from($data, $metadata); case 'JPMOrbital': - return JPMOrbital::from($data); + return JPMOrbital::from($data, $metadata); case 'Khelocard': - return Khelocard::from($data); + return Khelocard::from($data, $metadata); case 'Klarna': - return Klarna::from($data); + return Klarna::from($data, $metadata); case 'Konnektive': - return Konnektive::from($data); + return Konnektive::from($data, $metadata); case 'Kushki': - return Kushki::from($data); + return Kushki::from($data, $metadata); case 'LaCore': - return LaCore::from($data); + return LaCore::from($data, $metadata); case 'Limepay': - return Limepay::from($data); + return Limepay::from($data, $metadata); case 'loonie': - return Loonie::from($data); + return Loonie::from($data, $metadata); case 'Loonio': - return Loonio::from($data); + return Loonio::from($data, $metadata); case 'LPG': - return LPG::from($data); + return LPG::from($data, $metadata); case 'MaxiCash': - return MaxiCash::from($data); + return MaxiCash::from($data, $metadata); case 'MercadoPago': - return MercadoPago::from($data); + return MercadoPago::from($data, $metadata); case 'MiFinity': - return MiFinity::from($data); + return MiFinity::from($data, $metadata); case 'MobilePay': - return MobilePay::from($data); + return MobilePay::from($data, $metadata); case 'Moneris': - return Moneris::from($data); + return Moneris::from($data, $metadata); case 'Monolo': - return Monolo::from($data); + return Monolo::from($data, $metadata); case 'MonRem': - return MonRem::from($data); + return MonRem::from($data, $metadata); case 'MtaPay': - return MtaPay::from($data); + return MtaPay::from($data, $metadata); case 'MuchBetter': - return MuchBetter::from($data); + return MuchBetter::from($data, $metadata); case 'MuchBetterGateway': - return MuchBetterGateway::from($data); + return MuchBetterGateway::from($data, $metadata); case 'MyFatoorah': - return MyFatoorah::from($data); + return MyFatoorah::from($data, $metadata); case 'Naewe': - return Naewe::from($data); + return Naewe::from($data, $metadata); case 'Neosurf': - return Neosurf::from($data); + return Neosurf::from($data, $metadata); case 'Netbanking': - return Netbanking::from($data); + return Netbanking::from($data, $metadata); case 'Neteller': - return Neteller::from($data); + return Neteller::from($data, $metadata); case 'NGenius': - return NGenius::from($data); + return NGenius::from($data, $metadata); case 'NinjaWallet': - return NinjaWallet::from($data); + return NinjaWallet::from($data, $metadata); case 'NMI': - return NMI::from($data); + return NMI::from($data, $metadata); case 'NordikCoin': - return NordikCoin::from($data); + return NordikCoin::from($data, $metadata); case 'NOWPayments': - return NOWPayments::from($data); + return NOWPayments::from($data, $metadata); case 'NuaPay': - return NuaPay::from($data); + return NuaPay::from($data, $metadata); case 'OchaPay': - return OchaPay::from($data); + return OchaPay::from($data, $metadata); case 'OmniMatrix': - return OmniMatrix::from($data); + return OmniMatrix::from($data, $metadata); case 'Onlineueberweisen': - return Onlineueberweisen::from($data); + return Onlineueberweisen::from($data, $metadata); case 'OnRamp': - return OnRamp::from($data); + return OnRamp::from($data, $metadata); case 'Orbital': - return Orbital::from($data); + return Orbital::from($data, $metadata); case 'Pagadito': - return Pagadito::from($data); + return Pagadito::from($data, $metadata); case 'Pagsmile': - return Pagsmile::from($data); + return Pagsmile::from($data, $metadata); case 'Panamerican': - return Panamerican::from($data); + return Panamerican::from($data, $metadata); case 'PandaGateway': - return PandaGateway::from($data); + return PandaGateway::from($data, $metadata); case 'ParamountCommerce': - return ParamountCommerce::from($data); + return ParamountCommerce::from($data, $metadata); case 'ParamountEft': - return ParamountEft::from($data); + return ParamountEft::from($data, $metadata); case 'ParamountInterac': - return ParamountInterac::from($data); + return ParamountInterac::from($data, $metadata); case 'Pay4Fun': - return Pay4Fun::from($data); + return Pay4Fun::from($data, $metadata); case 'Paybilt': - return Paybilt::from($data); + return Paybilt::from($data, $metadata); case 'PayCash': - return PayCash::from($data); + return PayCash::from($data, $metadata); case 'PayClub': - return PayClub::from($data); + return PayClub::from($data, $metadata); case 'Paycly': - return Paycly::from($data); + return Paycly::from($data, $metadata); case 'PayCom': - return PayCom::from($data); + return PayCom::from($data, $metadata); case 'PayEcards': - return PayEcards::from($data); + return PayEcards::from($data, $metadata); case 'Payeezy': - return Payeezy::from($data); + return Payeezy::from($data, $metadata); case 'Payflow': - return Payflow::from($data); + return Payflow::from($data, $metadata); case 'PaymentAsia': - return PaymentAsia::from($data); + return PaymentAsia::from($data, $metadata); case 'PaymenTechnologies': - return PaymenTechnologies::from($data); + return PaymenTechnologies::from($data, $metadata); case 'PaymentsOS': - return PaymentsOS::from($data); + return PaymentsOS::from($data, $metadata); case 'Paymero': - return Paymero::from($data); + return Paymero::from($data, $metadata); case 'Paynote': - return Paynote::from($data); + return Paynote::from($data, $metadata); case 'PayPal': - return PayPal::from($data); + return PayPal::from($data, $metadata); case 'Payper': - return Payper::from($data); + return Payper::from($data, $metadata); case 'Payr': - return Payr::from($data); + return Payr::from($data, $metadata); case 'PayRedeem': - return PayRedeem::from($data); + return PayRedeem::from($data, $metadata); case 'PayRetailers': - return PayRetailers::from($data); + return PayRetailers::from($data, $metadata); case 'Paysafe': - return Paysafe::from($data); + return Paysafe::from($data, $metadata); case 'Paysafecard': - return Paysafecard::from($data); + return Paysafecard::from($data, $metadata); case 'Paysafecash': - return Paysafecash::from($data); + return Paysafecash::from($data, $metadata); case 'PayTabs': - return PayTabs::from($data); + return PayTabs::from($data, $metadata); case 'PayU': - return PayU::from($data); + return PayU::from($data, $metadata); case 'PayULatam': - return PayULatam::from($data); + return PayULatam::from($data, $metadata); case 'Payvision': - return Payvision::from($data); + return Payvision::from($data, $metadata); case 'PharosPayments': - return PharosPayments::from($data); + return PharosPayments::from($data, $metadata); case 'Piastrix': - return Piastrix::from($data); + return Piastrix::from($data, $metadata); case 'Pin4Pay': - return Pin4Pay::from($data); + return Pin4Pay::from($data, $metadata); case 'Plugnpay': - return Plugnpay::from($data); + return Plugnpay::from($data, $metadata); case 'PostFinance': - return PostFinance::from($data); + return PostFinance::from($data, $metadata); case 'Powertranz': - return Powertranz::from($data); + return Powertranz::from($data, $metadata); case 'PPRO': - return PPRO::from($data); + return PPRO::from($data, $metadata); case 'Prosa': - return Prosa::from($data); + return Prosa::from($data, $metadata); case 'PSiGate': - return PSiGate::from($data); + return PSiGate::from($data, $metadata); case 'Rapyd': - return Rapyd::from($data); + return Rapyd::from($data, $metadata); case 'Realex': - return Realex::from($data); + return Realex::from($data, $metadata); case 'Realtime': - return Realtime::from($data); + return Realtime::from($data, $metadata); case 'Redsys': - return Redsys::from($data); + return Redsys::from($data, $metadata); case 'Rotessa': - return Rotessa::from($data); + return Rotessa::from($data, $metadata); case 'RPN': - return RPN::from($data); + return RPN::from($data, $metadata); case 'Safecharge': - return Safecharge::from($data); + return Safecharge::from($data, $metadata); case 'Sagepay': - return Sagepay::from($data); + return Sagepay::from($data, $metadata); case 'SaltarPay': - return SaltarPay::from($data); + return SaltarPay::from($data, $metadata); case 'SeamlessChex': - return SeamlessChex::from($data); + return SeamlessChex::from($data, $metadata); case 'SecureTrading': - return SecureTrading::from($data); + return SecureTrading::from($data, $metadata); case 'SecurionPay': - return SecurionPay::from($data); + return SecurionPay::from($data, $metadata); case 'Skrill': - return Skrill::from($data); + return Skrill::from($data, $metadata); case 'SmartInvoice': - return SmartInvoice::from($data); + return SmartInvoice::from($data, $metadata); case 'SMSVoucher': - return SMSVoucher::from($data); + return SMSVoucher::from($data, $metadata); case 'Sofort': - return Sofort::from($data); + return Sofort::from($data, $metadata); case 'SparkPay': - return SparkPay::from($data); + return SparkPay::from($data, $metadata); case 'Splitit': - return Splitit::from($data); + return Splitit::from($data, $metadata); case 'StaticGateway': - return StaticGateway::from($data); + return StaticGateway::from($data, $metadata); case 'STPMexico': - return STPMexico::from($data); + return STPMexico::from($data, $metadata); case 'Stripe': - return Stripe::from($data); + return Stripe::from($data, $metadata); case 'Tabby': - return Tabby::from($data); + return Tabby::from($data, $metadata); case 'Telr': - return Telr::from($data); + return Telr::from($data, $metadata); case 'TestProcessor': - return TestProcessor::from($data); + return TestProcessor::from($data, $metadata); case 'ToditoCash': - return ToditoCash::from($data); + return ToditoCash::from($data, $metadata); case 'Triple000': - return Triple000::from($data); + return Triple000::from($data, $metadata); case 'Truevo': - return Truevo::from($data); + return Truevo::from($data, $metadata); case 'Trustly': - return Trustly::from($data); + return Trustly::from($data, $metadata); case 'TrustsPay': - return TrustsPay::from($data); + return TrustsPay::from($data, $metadata); case 'TWINT': - return TWINT::from($data); + return TWINT::from($data, $metadata); case 'Unlimit': - return Unlimit::from($data); + return Unlimit::from($data, $metadata); case 'UPayCard': - return UPayCard::from($data); + return UPayCard::from($data, $metadata); case 'USAePay': - return USAePay::from($data); + return USAePay::from($data, $metadata); case 'VantivLitle': - return VantivLitle::from($data); + return VantivLitle::from($data, $metadata); case 'VCreditos': - return VCreditos::from($data); + return VCreditos::from($data, $metadata); case 'vegaaH': - return VegaaH::from($data); + return VegaaH::from($data, $metadata); case 'VegaWallet': - return VegaWallet::from($data); + return VegaWallet::from($data, $metadata); + case 'Viva': + return Viva::from($data, $metadata); case 'Wallet88': - return Wallet88::from($data); + return Wallet88::from($data, $metadata); case 'Walpay': - return Walpay::from($data); + return Walpay::from($data, $metadata); case 'WesternUnion': - return WesternUnion::from($data); + return WesternUnion::from($data, $metadata); case 'Wirecard': - return Wirecard::from($data); + return Wirecard::from($data, $metadata); case 'WorldlineAtosFrankfurt': - return WorldlineAtosFrankfurt::from($data); + return WorldlineAtosFrankfurt::from($data, $metadata); case 'Worldpay': - return Worldpay::from($data); + return Worldpay::from($data, $metadata); case 'XPay': - return XPay::from($data); + return XPay::from($data, $metadata); case 'Zimpler': - return Zimpler::from($data); + return Zimpler::from($data, $metadata); case 'Zotapay': - return Zotapay::from($data); + return Zotapay::from($data, $metadata); } throw new InvalidArgumentException("Unsupported gatewayName value: '{$data['gatewayName']}'"); diff --git a/src/Model/GatewayAccountDowntimeSchedule.php b/src/Model/GatewayAccountDowntimeSchedule.php index c3caf125e..120ee5a9e 100644 --- a/src/Model/GatewayAccountDowntimeSchedule.php +++ b/src/Model/GatewayAccountDowntimeSchedule.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GatewayAccountDowntimeSchedule implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_ONGOING = 'ongoing'; @@ -34,7 +37,7 @@ class GatewayAccountDowntimeSchedule implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -60,11 +63,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/GatewayAccountFinancialSettings.php b/src/Model/GatewayAccountFinancialSettings.php index c377ee629..29818e460 100644 --- a/src/Model/GatewayAccountFinancialSettings.php +++ b/src/Model/GatewayAccountFinancialSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GatewayAccountFinancialSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('settlementSettings', $data)) { $this->setSettlementSettings($data['settlementSettings']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('riskReserveSettings', $data)) { $this->setRiskReserveSettings($data['riskReserveSettings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSettlementSettings(): SettlementSettings diff --git a/src/Model/GatewayAccountFinancialSettingsRiskReserveSettings.php b/src/Model/GatewayAccountFinancialSettingsRiskReserveSettings.php index d9fca629a..8e97b7139 100644 --- a/src/Model/GatewayAccountFinancialSettingsRiskReserveSettings.php +++ b/src/Model/GatewayAccountFinancialSettingsRiskReserveSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GatewayAccountFinancialSettingsRiskReserveSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('filter', $data)) { $this->setFilter($data['filter']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFilter(): string diff --git a/src/Model/GatewayAccountLimit.php b/src/Model/GatewayAccountLimit.php index 3a0e3ac2d..7afbd90f0 100644 --- a/src/Model/GatewayAccountLimit.php +++ b/src/Model/GatewayAccountLimit.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GatewayAccountLimit implements JsonSerializable { + use HasMetadata; + public const STATUS_MONITORING = 'monitoring'; public const STATUS_REACHED = 'reached'; @@ -34,7 +37,7 @@ class GatewayAccountLimit implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -69,11 +72,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/GatewayAccountPickInstruction.php b/src/Model/GatewayAccountPickInstruction.php index 7b7c865f8..13a44f6fc 100644 --- a/src/Model/GatewayAccountPickInstruction.php +++ b/src/Model/GatewayAccountPickInstruction.php @@ -16,9 +16,12 @@ use InvalidArgumentException; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; abstract class GatewayAccountPickInstruction implements JsonSerializable { + use HasMetadata; + public const STRATEGY_WEIGHTED_RANDOM = 'weighted-random'; public const STRATEGY_ROUND_ROBIN = 'round-robin'; @@ -29,7 +32,7 @@ abstract class GatewayAccountPickInstruction implements JsonSerializable private array $fields = []; - protected function __construct(array $data = []) + protected function __construct(array $data = [], array $metadata = []) { if (array_key_exists('strategy', $data)) { $this->setStrategy($data['strategy']); @@ -37,15 +40,16 @@ protected function __construct(array $data = []) if (array_key_exists('method', $data)) { $this->setMethod($data['method']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { switch ($data['method']) { case 'gateway-account-weights': - return PickInstructionGatewayAccountWeights::from($data); + return PickInstructionGatewayAccountWeights::from($data, $metadata); case 'gateway-acquirer-weights': - return PickInstructionGatewayAcquirerWeights::from($data); + return PickInstructionGatewayAcquirerWeights::from($data, $metadata); } throw new InvalidArgumentException("Unsupported method value: '{$data['method']}'"); diff --git a/src/Model/GatewayAccountTimeline.php b/src/Model/GatewayAccountTimeline.php index 8382aedf0..2443348f6 100644 --- a/src/Model/GatewayAccountTimeline.php +++ b/src/Model/GatewayAccountTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GatewayAccountTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_CREATED = 'gateway-account-created'; public const TYPE_CHANGED = 'gateway-account-changed'; @@ -50,7 +53,7 @@ class GatewayAccountTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -73,11 +76,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/GetKycAcceptanceSummaryReportResponse.php b/src/Model/GetKycAcceptanceSummaryReportResponse.php index dafd8bbfe..c50af0da0 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponse.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponse.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponse implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseData.php b/src/Model/GetKycAcceptanceSummaryReportResponseData.php index d3c5a882d..d1a4316eb 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseData.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('documentType', $data)) { $this->setDocumentType($data['documentType']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('manualReviewTime', $data)) { $this->setManualReviewTime($data['manualReviewTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): ?GetKycAcceptanceSummaryReportResponseDataDocumentType diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseDataDocumentType.php b/src/Model/GetKycAcceptanceSummaryReportResponseDataDocumentType.php index f966dd724..a6db6c0c6 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseDataDocumentType.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseDataDocumentType.php @@ -15,16 +15,20 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseDataDocumentType implements JsonSerializable { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function jsonSerialize(): array diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatistics.php b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatistics.php index e520aaa58..2cef5cdb1 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatistics.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatistics.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseDataStatusStatistics implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accepted', $data)) { $this->setAccepted($data['accepted']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('archived', $data)) { $this->setArchived($data['archived']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccepted(): ?GetKycAcceptanceSummaryReportResponseDataStatusStatisticsAccepted diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsAccepted.php b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsAccepted.php index caeb03e4b..4b11c75ce 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsAccepted.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsAccepted.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseDataStatusStatisticsAccepted implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('total', $data)) { $this->setTotal($data['total']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('afterAutoRejected', $data)) { $this->setAfterAutoRejected($data['afterAutoRejected']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTotal(): ?int diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsArchived.php b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsArchived.php index 928198321..b0e74c5a9 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsArchived.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsArchived.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseDataStatusStatisticsArchived implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('total', $data)) { $this->setTotal($data['total']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTotal(): ?int diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsPending.php b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsPending.php index 2b59275f3..eae8037a7 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsPending.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsPending.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseDataStatusStatisticsPending implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('total', $data)) { $this->setTotal($data['total']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTotal(): ?int diff --git a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsRejected.php b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsRejected.php index 77eb51125..180f1c233 100644 --- a/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsRejected.php +++ b/src/Model/GetKycAcceptanceSummaryReportResponseDataStatusStatisticsRejected.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetKycAcceptanceSummaryReportResponseDataStatusStatisticsRejected implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('total', $data)) { $this->setTotal($data['total']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('afterAutoAccepted', $data)) { $this->setAfterAutoAccepted($data['afterAutoAccepted']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTotal(): ?int diff --git a/src/Model/GetPaymentCardBankNameCollectionResponse.php b/src/Model/GetPaymentCardBankNameCollectionResponse.php index bd47d5a4e..337ac58dc 100644 --- a/src/Model/GetPaymentCardBankNameCollectionResponse.php +++ b/src/Model/GetPaymentCardBankNameCollectionResponse.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetPaymentCardBankNameCollectionResponse implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/GetPayoutRequestBatchPreviewResponse.php b/src/Model/GetPayoutRequestBatchPreviewResponse.php new file mode 100644 index 000000000..60d885e76 --- /dev/null +++ b/src/Model/GetPayoutRequestBatchPreviewResponse.php @@ -0,0 +1,112 @@ +setMatchingCount($data['matchingCount']); + } + if (array_key_exists('customerCount', $data)) { + $this->setCustomerCount($data['customerCount']); + } + if (array_key_exists('totalAmountByCurrency', $data)) { + $this->setTotalAmountByCurrency($data['totalAmountByCurrency']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getMatchingCount(): ?int + { + return $this->fields['matchingCount'] ?? null; + } + + public function setMatchingCount(null|int $matchingCount): static + { + $this->fields['matchingCount'] = $matchingCount; + + return $this; + } + + public function getCustomerCount(): ?int + { + return $this->fields['customerCount'] ?? null; + } + + public function setCustomerCount(null|int $customerCount): static + { + $this->fields['customerCount'] = $customerCount; + + return $this; + } + + /** + * @return null|GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency[] + */ + public function getTotalAmountByCurrency(): ?array + { + return $this->fields['totalAmountByCurrency'] ?? null; + } + + /** + * @param null|array[]|GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency[] $totalAmountByCurrency + */ + public function setTotalAmountByCurrency(null|array $totalAmountByCurrency): static + { + $totalAmountByCurrency = $totalAmountByCurrency !== null ? array_map( + fn ($value) => $value instanceof GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency ? $value : GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency::from($value), + $totalAmountByCurrency, + ) : null; + + $this->fields['totalAmountByCurrency'] = $totalAmountByCurrency; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('matchingCount', $this->fields)) { + $data['matchingCount'] = $this->fields['matchingCount']; + } + if (array_key_exists('customerCount', $this->fields)) { + $data['customerCount'] = $this->fields['customerCount']; + } + if (array_key_exists('totalAmountByCurrency', $this->fields)) { + $data['totalAmountByCurrency'] = $this->fields['totalAmountByCurrency'] !== null + ? array_map( + static fn (GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency $getPayoutRequestBatchPreviewResponseTotalAmountByCurrency) => $getPayoutRequestBatchPreviewResponseTotalAmountByCurrency->jsonSerialize(), + $this->fields['totalAmountByCurrency'], + ) + : null; + } + + return $data; + } +} diff --git a/src/Model/GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency.php b/src/Model/GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency.php new file mode 100644 index 000000000..65ed6f80a --- /dev/null +++ b/src/Model/GetPayoutRequestBatchPreviewResponseTotalAmountByCurrency.php @@ -0,0 +1,82 @@ +setCurrency($data['currency']); + } + if (array_key_exists('amount', $data)) { + $this->setAmount($data['amount']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getCurrency(): string + { + return $this->fields['currency']; + } + + public function setCurrency(string $currency): static + { + $this->fields['currency'] = $currency; + + return $this; + } + + public function getAmount(): float + { + return $this->fields['amount']; + } + + public function setAmount(float|string $amount): static + { + if (is_string($amount)) { + $amount = (float) $amount; + } + + $this->fields['amount'] = $amount; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('currency', $this->fields)) { + $data['currency'] = $this->fields['currency']; + } + if (array_key_exists('amount', $this->fields)) { + $data['amount'] = $this->fields['amount']; + } + + return $data; + } +} diff --git a/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php b/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php index 56256698a..cf310828e 100644 --- a/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php +++ b/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetPayoutRequestPaymentInstrumentsResponse implements JsonSerializable { + use HasMetadata; + public const GATEWAY_NAME_A1_GATEWAY = 'A1Gateway'; public const GATEWAY_NAME_ACI = 'ACI'; @@ -448,6 +451,8 @@ class GetPayoutRequestPaymentInstrumentsResponse implements JsonSerializable public const GATEWAY_NAME_VEGA_WALLET = 'VegaWallet'; + public const GATEWAY_NAME_VIVA = 'Viva'; + public const GATEWAY_NAME_WALLET88 = 'Wallet88'; public const GATEWAY_NAME_WALPAY = 'Walpay'; @@ -468,7 +473,7 @@ class GetPayoutRequestPaymentInstrumentsResponse implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrumentId', $data)) { $this->setPaymentInstrumentId($data['paymentInstrumentId']); @@ -488,11 +493,12 @@ public function __construct(array $data = []) if (array_key_exists('lastPayoutTime', $data)) { $this->setLastPayoutTime($data['lastPayoutTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentInstrumentId(): ?string diff --git a/src/Model/GetPayoutRequestV2PaymentInstrumentsResponse.php b/src/Model/GetPayoutRequestV2PaymentInstrumentsResponse.php index c39761661..f319e4e61 100644 --- a/src/Model/GetPayoutRequestV2PaymentInstrumentsResponse.php +++ b/src/Model/GetPayoutRequestV2PaymentInstrumentsResponse.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GetPayoutRequestV2PaymentInstrumentsResponse implements JsonSerializable { + use HasMetadata; + public const GATEWAY_NAME_A1_GATEWAY = 'A1Gateway'; public const GATEWAY_NAME_ACI = 'ACI'; @@ -448,6 +451,8 @@ class GetPayoutRequestV2PaymentInstrumentsResponse implements JsonSerializable public const GATEWAY_NAME_VEGA_WALLET = 'VegaWallet'; + public const GATEWAY_NAME_VIVA = 'Viva'; + public const GATEWAY_NAME_WALLET88 = 'Wallet88'; public const GATEWAY_NAME_WALPAY = 'Walpay'; @@ -466,9 +471,17 @@ class GetPayoutRequestV2PaymentInstrumentsResponse implements JsonSerializable public const GATEWAY_NAME_ZOTAPAY = 'Zotapay'; + public const GATEWAY_PAYOUT_INSTRUCTION_ALL = 'all'; + + public const GATEWAY_PAYOUT_INSTRUCTION_COVERED_PAYOUT = 'covered-payout'; + + public const GATEWAY_PAYOUT_INSTRUCTION_APPROVED_PAYMENT = 'approved-payment'; + + public const GATEWAY_PAYOUT_INSTRUCTION_NONE = 'none'; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrumentId', $data)) { $this->setPaymentInstrumentId($data['paymentInstrumentId']); @@ -479,6 +492,9 @@ public function __construct(array $data = []) if (array_key_exists('gatewayAccountId', $data)) { $this->setGatewayAccountId($data['gatewayAccountId']); } + if (array_key_exists('gatewayPayoutInstruction', $data)) { + $this->setGatewayPayoutInstruction($data['gatewayPayoutInstruction']); + } if (array_key_exists('exposureAmount', $data)) { $this->setExposureAmount($data['exposureAmount']); } @@ -491,11 +507,12 @@ public function __construct(array $data = []) if (array_key_exists('lastPayoutTime', $data)) { $this->setLastPayoutTime($data['lastPayoutTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentInstrumentId(): ?string @@ -534,6 +551,18 @@ public function setGatewayAccountId(null|string $gatewayAccountId): static return $this; } + public function getGatewayPayoutInstruction(): ?string + { + return $this->fields['gatewayPayoutInstruction'] ?? null; + } + + public function setGatewayPayoutInstruction(null|string $gatewayPayoutInstruction): static + { + $this->fields['gatewayPayoutInstruction'] = $gatewayPayoutInstruction; + + return $this; + } + public function getExposureAmount(): ?float { return $this->fields['exposureAmount'] ?? null; @@ -610,6 +639,9 @@ public function jsonSerialize(): array if (array_key_exists('gatewayAccountId', $this->fields)) { $data['gatewayAccountId'] = $this->fields['gatewayAccountId']; } + if (array_key_exists('gatewayPayoutInstruction', $this->fields)) { + $data['gatewayPayoutInstruction'] = $this->fields['gatewayPayoutInstruction']; + } if (array_key_exists('exposureAmount', $this->fields)) { $data['exposureAmount'] = $this->fields['exposureAmount']; } diff --git a/src/Model/Gigadat.php b/src/Model/Gigadat.php index 3da132baa..6e6a6d8a7 100644 --- a/src/Model/Gigadat.php +++ b/src/Model/Gigadat.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Gigadat extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Gigadat', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GigadatCredentials diff --git a/src/Model/GigadatCredentials.php b/src/Model/GigadatCredentials.php index 1d34f921f..fbd8104eb 100644 --- a/src/Model/GigadatCredentials.php +++ b/src/Model/GigadatCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GigadatCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('campaignId', $data)) { $this->setCampaignId($data['campaignId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('securityToken', $data)) { $this->setSecurityToken($data['securityToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCampaignId(): string diff --git a/src/Model/GigadatSettings.php b/src/Model/GigadatSettings.php index 841483912..370c05209 100644 --- a/src/Model/GigadatSettings.php +++ b/src/Model/GigadatSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GigadatSettings implements JsonSerializable { + use HasMetadata; + public const METHOD_TYPE_CPI = 'CPI'; public const METHOD_TYPE_ETI = 'ETI'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sandbox', $data)) { $this->setSandbox($data['sandbox']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('bypassAutodepositLookup', $data)) { $this->setBypassAutodepositLookup($data['bypassAutodepositLookup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSandbox(): bool diff --git a/src/Model/GlobalOne.php b/src/Model/GlobalOne.php index c3b802d1b..5cf59af2a 100644 --- a/src/Model/GlobalOne.php +++ b/src/Model/GlobalOne.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class GlobalOne extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'GlobalOne', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GlobalOneCredentials diff --git a/src/Model/GlobalOneCredentials.php b/src/Model/GlobalOneCredentials.php index 866ddd552..5665568cc 100644 --- a/src/Model/GlobalOneCredentials.php +++ b/src/Model/GlobalOneCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GlobalOneCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('terminalId', $data)) { $this->setTerminalId($data['terminalId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('sharedSecret', $data)) { $this->setSharedSecret($data['sharedSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTerminalId(): string diff --git a/src/Model/GlobalWebhook.php b/src/Model/GlobalWebhook.php index 5d5c6ea52..cb01fd4d0 100644 --- a/src/Model/GlobalWebhook.php +++ b/src/Model/GlobalWebhook.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GlobalWebhook implements JsonSerializable { + use HasMetadata; + public const EVENTS_FILTER_AML_LIST_POSSIBLY_MATCHED = 'aml-list-possibly-matched'; public const EVENTS_FILTER_AUTODEPOSIT_LOOKUP_PERFORMED = 'autodeposit-lookup-performed'; @@ -178,7 +181,7 @@ class GlobalWebhook implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -216,11 +219,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/GlobalWebhookHeaders.php b/src/Model/GlobalWebhookHeaders.php index 1866ffc9c..b3a7779cb 100644 --- a/src/Model/GlobalWebhookHeaders.php +++ b/src/Model/GlobalWebhookHeaders.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GlobalWebhookHeaders implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/GoCardless.php b/src/Model/GoCardless.php index cf80cc3ea..f60db586b 100644 --- a/src/Model/GoCardless.php +++ b/src/Model/GoCardless.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class GoCardless extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'GoCardless', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GoCardlessCredentials diff --git a/src/Model/GoCardlessCredentials.php b/src/Model/GoCardlessCredentials.php index 22c9d0eba..433f4c8c3 100644 --- a/src/Model/GoCardlessCredentials.php +++ b/src/Model/GoCardlessCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GoCardlessCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/GooglePayFeature.php b/src/Model/GooglePayFeature.php index 94db87cf5..a8714cb42 100644 --- a/src/Model/GooglePayFeature.php +++ b/src/Model/GooglePayFeature.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class GooglePayFeature implements PaymentCardFeature { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantName', $data)) { $this->setMerchantName($data['merchantName']); @@ -29,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('country', $data)) { $this->setCountry($data['country']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/GoogleSpreadsheet.php b/src/Model/GoogleSpreadsheet.php index 4806839b2..ddb2319b6 100644 --- a/src/Model/GoogleSpreadsheet.php +++ b/src/Model/GoogleSpreadsheet.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GoogleSpreadsheet implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/Gooney.php b/src/Model/Gooney.php index bfab75e67..b59baaa23 100644 --- a/src/Model/Gooney.php +++ b/src/Model/Gooney.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Gooney extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Gooney', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GooneyCredentials diff --git a/src/Model/GooneyCredentials.php b/src/Model/GooneyCredentials.php index 9b036acda..5527da565 100644 --- a/src/Model/GooneyCredentials.php +++ b/src/Model/GooneyCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GooneyCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiUser', $data)) { $this->setApiUser($data['apiUser']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiUser(): string diff --git a/src/Model/Gpaysafe.php b/src/Model/Gpaysafe.php index fc707d625..c8f63fb26 100644 --- a/src/Model/Gpaysafe.php +++ b/src/Model/Gpaysafe.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Gpaysafe extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Gpaysafe', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GpaysafeCredentials diff --git a/src/Model/GpaysafeCredentials.php b/src/Model/GpaysafeCredentials.php index 9f011e6df..b3e454159 100644 --- a/src/Model/GpaysafeCredentials.php +++ b/src/Model/GpaysafeCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GpaysafeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Greenbox.php b/src/Model/Greenbox.php index 3b9a02c5e..45d08f518 100644 --- a/src/Model/Greenbox.php +++ b/src/Model/Greenbox.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Greenbox extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Greenbox', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): GreenboxCredentials diff --git a/src/Model/GreenboxCredentials.php b/src/Model/GreenboxCredentials.php index 8040eaecf..fc3898e12 100644 --- a/src/Model/GreenboxCredentials.php +++ b/src/Model/GreenboxCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GreenboxCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('clientSecret', $data)) { $this->setClientSecret($data['clientSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/GridSegment.php b/src/Model/GridSegment.php index c4f22d249..7514e70ab 100644 --- a/src/Model/GridSegment.php +++ b/src/Model/GridSegment.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GridSegment implements JsonSerializable { + use HasMetadata; + public const SCOPE_PRIVATE = 'private'; public const SCOPE_PUBLIC = 'public'; @@ -26,7 +29,7 @@ class GridSegment implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('systemId', $data)) { $this->setSystemId($data['systemId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/GridSegmentData.php b/src/Model/GridSegmentData.php index 7bf7ad474..554505828 100644 --- a/src/Model/GridSegmentData.php +++ b/src/Model/GridSegmentData.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GridSegmentData implements JsonSerializable { + use HasMetadata; + public const PAGE_DATA_TABLES = 'data-tables'; public const PAGE_CUSTOMER_DETAILS = 'customer-details'; @@ -50,6 +53,10 @@ class GridSegmentData implements JsonSerializable public const TYPE_PAYOUT_REQUESTS = 'payout-requests'; + public const TYPE_PAYOUT_ALLOCATIONS = 'payout-allocations'; + + public const TYPE_PAYOUT_REQUEST_BATCHES = 'payout-request-batches'; + public const TYPE_ORGANIZATIONS = 'organizations'; public const TYPE_QUOTES = 'quotes'; @@ -58,7 +65,7 @@ class GridSegmentData implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -78,11 +85,12 @@ public function __construct(array $data = []) if (array_key_exists('type', $data)) { $this->setType($data['type']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/GridSegmentOwner.php b/src/Model/GridSegmentOwner.php index d37bbad91..291b9f21a 100644 --- a/src/Model/GridSegmentOwner.php +++ b/src/Model/GridSegmentOwner.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GridSegmentOwner implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/GridSegmentUsers.php b/src/Model/GridSegmentUsers.php index d22dbc342..9655fc578 100644 --- a/src/Model/GridSegmentUsers.php +++ b/src/Model/GridSegmentUsers.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class GridSegmentUsers implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/HiPay.php b/src/Model/HiPay.php index 1903150f3..b36bbd18c 100644 --- a/src/Model/HiPay.php +++ b/src/Model/HiPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class HiPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'HiPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): HiPayCredentials diff --git a/src/Model/HiPayCredentials.php b/src/Model/HiPayCredentials.php index 7b1a1b123..902931335 100644 --- a/src/Model/HiPayCredentials.php +++ b/src/Model/HiPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class HiPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiUsername', $data)) { $this->setApiUsername($data['apiUsername']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiPassword', $data)) { $this->setApiPassword($data['apiPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiUsername(): string diff --git a/src/Model/HistogramData.php b/src/Model/HistogramData.php index a6394f13d..2fc900de7 100644 --- a/src/Model/HistogramData.php +++ b/src/Model/HistogramData.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class HistogramData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/HistogramDataData.php b/src/Model/HistogramDataData.php index 56557118c..970f093de 100644 --- a/src/Model/HistogramDataData.php +++ b/src/Model/HistogramDataData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class HistogramDataData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('date', $data)) { $this->setDate($data['date']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDate(): ?string diff --git a/src/Model/IBANInstrument.php b/src/Model/IBANInstrument.php index 384ce93af..fe08c5d01 100644 --- a/src/Model/IBANInstrument.php +++ b/src/Model/IBANInstrument.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class IBANInstrument implements BankAccountInstrument { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountNumber', $data)) { $this->setAccountNumber($data['accountNumber']); @@ -32,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('last4', $data)) { $this->setLast4($data['last4']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountNumberType(): string diff --git a/src/Model/IBANType.php b/src/Model/IBANType.php index 01a09c155..740da67fe 100644 --- a/src/Model/IBANType.php +++ b/src/Model/IBANType.php @@ -14,18 +14,18 @@ namespace Rebilly\Sdk\Model; -class IBANType extends BankAccountCreatePlain +use Rebilly\Sdk\Trait\HasMetadata; + +class IBANType implements BankAccountCreatePlain { + use HasMetadata; + public const METHOD_ACH = 'ach'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { - parent::__construct([ - 'accountNumberType' => 'IBAN', - ] + $data); - if (array_key_exists('method', $data)) { $this->setMethod($data['method']); } @@ -53,11 +53,17 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); + } + + public function getAccountNumberType(): string + { + return 'IBAN'; } public function getMethod(): string @@ -178,7 +184,9 @@ public function setUseAsBackup(null|bool $useAsBackup): static public function jsonSerialize(): array { - $data = []; + $data = [ + 'accountNumberType' => 'IBAN', + ]; if (array_key_exists('method', $this->fields)) { $data['method'] = $this->fields['method']; } @@ -207,6 +215,6 @@ public function jsonSerialize(): array $data['useAsBackup'] = $this->fields['useAsBackup']; } - return parent::jsonSerialize() + $data; + return $data; } } diff --git a/src/Model/ICEPAY.php b/src/Model/ICEPAY.php index 485e6c9b1..d6651769e 100644 --- a/src/Model/ICEPAY.php +++ b/src/Model/ICEPAY.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ICEPAY extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ICEPAY', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ICEPAYCredentials diff --git a/src/Model/ICEPAYCredentials.php b/src/Model/ICEPAYCredentials.php index 819b565d3..aafd97141 100644 --- a/src/Model/ICEPAYCredentials.php +++ b/src/Model/ICEPAYCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ICEPAYCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/ICanPay.php b/src/Model/ICanPay.php index 9954754c4..fe77e2322 100644 --- a/src/Model/ICanPay.php +++ b/src/Model/ICanPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ICanPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'iCanPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ICanPayCredentials diff --git a/src/Model/ICanPayCredentials.php b/src/Model/ICanPayCredentials.php index 16ee91309..fcb4a7769 100644 --- a/src/Model/ICanPayCredentials.php +++ b/src/Model/ICanPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ICanPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authenticateId', $data)) { $this->setAuthenticateId($data['authenticateId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthenticateId(): string diff --git a/src/Model/ICanPaySettings.php b/src/Model/ICanPaySettings.php index 3f0181cbd..a3bcd6ebc 100644 --- a/src/Model/ICanPaySettings.php +++ b/src/Model/ICanPaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ICanPaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('use3DSEndpoint', $data)) { $this->setUse3DSEndpoint($data['use3DSEndpoint']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUse3DSEndpoint(): ?bool diff --git a/src/Model/ICashOne.php b/src/Model/ICashOne.php index de25ff646..c7098ea3d 100644 --- a/src/Model/ICashOne.php +++ b/src/Model/ICashOne.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ICashOne extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'iCashOne', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ICashOneCredentials diff --git a/src/Model/ICashOneCredentials.php b/src/Model/ICashOneCredentials.php index 9f2e388ff..5a188b1a2 100644 --- a/src/Model/ICashOneCredentials.php +++ b/src/Model/ICashOneCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ICashOneCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/ICashOneSettings.php b/src/Model/ICashOneSettings.php index 796549f7f..87ca67e72 100644 --- a/src/Model/ICashOneSettings.php +++ b/src/Model/ICashOneSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ICashOneSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantName', $data)) { $this->setMerchantName($data['merchantName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantName(): ?string diff --git a/src/Model/ICheque.php b/src/Model/ICheque.php index 74f64af00..d82bea563 100644 --- a/src/Model/ICheque.php +++ b/src/Model/ICheque.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ICheque extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'iCheque', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): IChequeCredentials diff --git a/src/Model/IChequeCredentials.php b/src/Model/IChequeCredentials.php index 08dcd5e91..08ead0ee1 100644 --- a/src/Model/IChequeCredentials.php +++ b/src/Model/IChequeCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IChequeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecurityToken', $data)) { $this->setApiSecurityToken($data['apiSecurityToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/IDebit.php b/src/Model/IDebit.php index 8df269caa..d809cce63 100644 --- a/src/Model/IDebit.php +++ b/src/Model/IDebit.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class IDebit extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'iDebit', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): IDebitCredentials diff --git a/src/Model/IDebitCredentials.php b/src/Model/IDebitCredentials.php index 1bf57fd79..ed518e1b7 100644 --- a/src/Model/IDebitCredentials.php +++ b/src/Model/IDebitCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IDebitCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/IDebitSettings.php b/src/Model/IDebitSettings.php index f652d8baf..51de8cebb 100644 --- a/src/Model/IDebitSettings.php +++ b/src/Model/IDebitSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IDebitSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantSubId', $data)) { $this->setMerchantSubId($data['merchantSubId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantSubId(): ?int diff --git a/src/Model/INOVAPAY.php b/src/Model/INOVAPAY.php index 844fa84c1..4e61b8d7b 100644 --- a/src/Model/INOVAPAY.php +++ b/src/Model/INOVAPAY.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class INOVAPAY extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'INOVAPAY', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): INOVAPAYCredentials diff --git a/src/Model/INOVAPAYCredentials.php b/src/Model/INOVAPAYCredentials.php index 286243673..c50e2e656 100644 --- a/src/Model/INOVAPAYCredentials.php +++ b/src/Model/INOVAPAYCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class INOVAPAYCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Ilixium.php b/src/Model/Ilixium.php index a8192a112..d1f5865b8 100644 --- a/src/Model/Ilixium.php +++ b/src/Model/Ilixium.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Ilixium extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Ilixium', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): IlixiumCredentials diff --git a/src/Model/IlixiumCredentials.php b/src/Model/IlixiumCredentials.php index d61677ce8..e84f3b084 100644 --- a/src/Model/IlixiumCredentials.php +++ b/src/Model/IlixiumCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IlixiumCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('sftpKeyPassphrase', $data)) { $this->setSftpKeyPassphrase($data['sftpKeyPassphrase']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/IlixiumSettings.php b/src/Model/IlixiumSettings.php index d190a888b..fc617f180 100644 --- a/src/Model/IlixiumSettings.php +++ b/src/Model/IlixiumSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IlixiumSettings implements JsonSerializable { + use HasMetadata; + public const PLATFORM_ITIX = 'itix'; public const PLATFORM_TPG = 'tpg'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useIpFrame', $data)) { $this->setUseIpFrame($data['useIpFrame']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('usePaceCreditEndpoint', $data)) { $this->setUsePaceCreditEndpoint($data['usePaceCreditEndpoint']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseIpFrame(): ?bool diff --git a/src/Model/IlixiumThreeDSecureServer.php b/src/Model/IlixiumThreeDSecureServer.php index 1faf9e709..2f1d5a03e 100644 --- a/src/Model/IlixiumThreeDSecureServer.php +++ b/src/Model/IlixiumThreeDSecureServer.php @@ -15,23 +15,27 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IlixiumThreeDSecureServer implements JsonSerializable { + use HasMetadata; + public const NAME_ILIXIUM3_DS_SERVER = 'Ilixium3dsServer'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/Ingenico.php b/src/Model/Ingenico.php index 4f3226bdc..78bcd2572 100644 --- a/src/Model/Ingenico.php +++ b/src/Model/Ingenico.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Ingenico extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Ingenico', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): IngenicoCredentials diff --git a/src/Model/IngenicoCredentials.php b/src/Model/IngenicoCredentials.php index f2d1b47a2..fef7de0ef 100644 --- a/src/Model/IngenicoCredentials.php +++ b/src/Model/IngenicoCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IngenicoCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('skipFraudService', $data)) { $this->setSkipFraudService($data['skipFraudService']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Inovio.php b/src/Model/Inovio.php index 14c6e876f..2f95e1304 100644 --- a/src/Model/Inovio.php +++ b/src/Model/Inovio.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Inovio extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Inovio', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): InovioCredentials diff --git a/src/Model/InovioCredentials.php b/src/Model/InovioCredentials.php index f5c0e418a..5d0708f3f 100644 --- a/src/Model/InovioCredentials.php +++ b/src/Model/InovioCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InovioCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/InovioSettings.php b/src/Model/InovioSettings.php index 56883f1f3..19a786dd9 100644 --- a/src/Model/InovioSettings.php +++ b/src/Model/InovioSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InovioSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('productId', $data)) { $this->setProductId($data['productId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string diff --git a/src/Model/InstaDebit.php b/src/Model/InstaDebit.php index f306769f8..063637a23 100644 --- a/src/Model/InstaDebit.php +++ b/src/Model/InstaDebit.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class InstaDebit extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'InstaDebit', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): InstaDebitCredentials diff --git a/src/Model/InstaDebitCredentials.php b/src/Model/InstaDebitCredentials.php index 73262314d..f6a8ef6b9 100644 --- a/src/Model/InstaDebitCredentials.php +++ b/src/Model/InstaDebitCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InstaDebitCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/InstaDebitSettings.php b/src/Model/InstaDebitSettings.php index 09aca3632..9db8912da 100644 --- a/src/Model/InstaDebitSettings.php +++ b/src/Model/InstaDebitSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InstaDebitSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantSubId', $data)) { $this->setMerchantSubId($data['merchantSubId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantSubId(): ?int diff --git a/src/Model/IntegerCustomField.php b/src/Model/IntegerCustomField.php index a6bd4b82c..d24cc6736 100644 --- a/src/Model/IntegerCustomField.php +++ b/src/Model/IntegerCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class IntegerCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/IntegerCustomFieldAdditionalSchema.php b/src/Model/IntegerCustomFieldAdditionalSchema.php index cfba7141c..fc3b630ec 100644 --- a/src/Model/IntegerCustomFieldAdditionalSchema.php +++ b/src/Model/IntegerCustomFieldAdditionalSchema.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IntegerCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): ?int diff --git a/src/Model/Integration.php b/src/Model/Integration.php index 469dfdbe5..abd4dd4d4 100644 --- a/src/Model/Integration.php +++ b/src/Model/Integration.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Integration implements JsonSerializable { + use HasMetadata; + public const SERVICE_GOOGLE_SHEETS = 'google-sheets'; public const SERVICE_INTUIT_QUICKBOOKS = 'intuit-quickbooks'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('service', $data)) { $this->setService($data['service']); @@ -38,11 +41,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getService(): ?string diff --git a/src/Model/IntegrationConfigurations.php b/src/Model/IntegrationConfigurations.php index 60f5e57a7..4e8c8a062 100644 --- a/src/Model/IntegrationConfigurations.php +++ b/src/Model/IntegrationConfigurations.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IntegrationConfigurations implements JsonSerializable { + use HasMetadata; + public const EVENT_TYPE_ACCOUNT_PASSWORD_RESET_REQUESTED = 'account-password-reset-requested'; public const EVENT_TYPE_ACCOUNT_VERIFICATION_REQUESTED = 'account-verification-requested'; @@ -212,7 +215,7 @@ class IntegrationConfigurations implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('labels', $data)) { $this->setLabels($data['labels']); @@ -223,11 +226,12 @@ public function __construct(array $data = []) if (array_key_exists('title', $data)) { $this->setTitle($data['title']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/Intuit.php b/src/Model/Intuit.php index 587eea16d..8dce7d80c 100644 --- a/src/Model/Intuit.php +++ b/src/Model/Intuit.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Intuit extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Intuit', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): IntuitCredentials diff --git a/src/Model/IntuitCredentials.php b/src/Model/IntuitCredentials.php index 4fc2c937c..b25a6ace2 100644 --- a/src/Model/IntuitCredentials.php +++ b/src/Model/IntuitCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IntuitCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('clientSecret', $data)) { $this->setClientSecret($data['clientSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/Invoice.php b/src/Model/Invoice.php index b50d94f21..45f278bce 100644 --- a/src/Model/Invoice.php +++ b/src/Model/Invoice.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Invoice implements JsonSerializable { + use HasMetadata; + public const STATUS_DRAFT = 'draft'; public const STATUS_QUOTATION = 'quotation'; @@ -60,7 +63,7 @@ class Invoice implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -200,11 +203,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/InvoiceCustomerTaxIdNumber.php b/src/Model/InvoiceCustomerTaxIdNumber.php index e771fb324..8ca46ec77 100644 --- a/src/Model/InvoiceCustomerTaxIdNumber.php +++ b/src/Model/InvoiceCustomerTaxIdNumber.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceCustomerTaxIdNumber implements JsonSerializable { + use HasMetadata; + public const TYPE_EU_VAT = 'eu-vat'; public const TYPE_OTHER = 'other'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -32,11 +35,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/InvoiceDiscounts.php b/src/Model/InvoiceDiscounts.php index d6235d03e..7aa234fd3 100644 --- a/src/Model/InvoiceDiscounts.php +++ b/src/Model/InvoiceDiscounts.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceDiscounts implements JsonSerializable { + use HasMetadata; + public const CONTEXT_ITEMS = 'items'; public const CONTEXT_SHIPPING = 'shipping'; @@ -26,7 +29,7 @@ class InvoiceDiscounts implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('couponId', $data)) { $this->setCouponId($data['couponId']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('context', $data)) { $this->setContext($data['context']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCouponId(): ?string diff --git a/src/Model/InvoiceEmbedded.php b/src/Model/InvoiceEmbedded.php index 7c6fabc03..0b5ee0a34 100644 --- a/src/Model/InvoiceEmbedded.php +++ b/src/Model/InvoiceEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('shippingRate', $data)) { $this->setShippingRate($data['shippingRate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/InvoiceIssue.php b/src/Model/InvoiceIssue.php index b09ee3cda..cf55110f9 100644 --- a/src/Model/InvoiceIssue.php +++ b/src/Model/InvoiceIssue.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceIssue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('issuedTime', $data)) { $this->setIssuedTime($data['issuedTime']); @@ -30,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('dueTime', $data)) { $this->setDueTime($data['dueTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIssuedTime(): ?DateTimeImmutable diff --git a/src/Model/InvoiceItem.php b/src/Model/InvoiceItem.php index 0a1433427..74ebc7332 100644 --- a/src/Model/InvoiceItem.php +++ b/src/Model/InvoiceItem.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceItem implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -82,11 +85,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/InvoiceItemEmbedded.php b/src/Model/InvoiceItemEmbedded.php index 609edc5bc..a90e07929 100644 --- a/src/Model/InvoiceItemEmbedded.php +++ b/src/Model/InvoiceItemEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceItemEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('product', $data)) { $this->setProduct($data['product']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('plan', $data)) { $this->setPlan($data['plan']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProduct(): ?Product diff --git a/src/Model/InvoiceItemsDataExport.php b/src/Model/InvoiceItemsDataExport.php index ebf500cb1..399f5c296 100644 --- a/src/Model/InvoiceItemsDataExport.php +++ b/src/Model/InvoiceItemsDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceItemsDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class InvoiceItemsDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?InvoiceItemsDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|InvoiceItemsDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof InvoiceItemsDataExportDateRange)) { + $dateRange = InvoiceItemsDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/InvoiceItemsDataExportDateRange.php b/src/Model/InvoiceItemsDataExportDateRange.php new file mode 100644 index 000000000..cde32006e --- /dev/null +++ b/src/Model/InvoiceItemsDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/InvoiceItemsDataExportEmbedded.php b/src/Model/InvoiceItemsDataExportEmbedded.php index 24cfc2489..1f17799b6 100644 --- a/src/Model/InvoiceItemsDataExportEmbedded.php +++ b/src/Model/InvoiceItemsDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceItemsDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/InvoiceOrganizationTaxIdNumber.php b/src/Model/InvoiceOrganizationTaxIdNumber.php index a65e5fc4b..76aece471 100644 --- a/src/Model/InvoiceOrganizationTaxIdNumber.php +++ b/src/Model/InvoiceOrganizationTaxIdNumber.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceOrganizationTaxIdNumber implements JsonSerializable { + use HasMetadata; + public const TYPE_EU_VAT = 'eu-vat'; public const TYPE_OTHER = 'other'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -32,11 +35,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/InvoiceReissue.php b/src/Model/InvoiceReissue.php index 22e9dad29..09ccefcf8 100644 --- a/src/Model/InvoiceReissue.php +++ b/src/Model/InvoiceReissue.php @@ -17,21 +17,25 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceReissue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('dueTime', $data)) { $this->setDueTime($data['dueTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDueTime(): ?DateTimeImmutable diff --git a/src/Model/InvoiceRetryAmountAdjustmentInstructionFactory.php b/src/Model/InvoiceRetryAmountAdjustmentInstructionFactory.php index ab31f4582..b0ac8687e 100644 --- a/src/Model/InvoiceRetryAmountAdjustmentInstructionFactory.php +++ b/src/Model/InvoiceRetryAmountAdjustmentInstructionFactory.php @@ -18,11 +18,11 @@ class InvoiceRetryAmountAdjustmentInstructionFactory { - public static function from(array $data = []): InvoiceRetryAmountAdjustmentInstruction + public static function from(array $data = [], array $metadata = []): InvoiceRetryAmountAdjustmentInstruction { return match ($data['method']) { - 'none' => AmountAdjustmentInstructionNone::from($data), - 'partial' => AmountAdjustmentInstructionPartial::from($data), + 'none' => AmountAdjustmentInstructionNone::from($data, $metadata), + 'partial' => AmountAdjustmentInstructionPartial::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/InvoiceRetryInstruction.php b/src/Model/InvoiceRetryInstruction.php index 2dae941b0..7447add2c 100644 --- a/src/Model/InvoiceRetryInstruction.php +++ b/src/Model/InvoiceRetryInstruction.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceRetryInstruction implements JsonSerializable { + use HasMetadata; + public const AFTER_ATTEMPT_POLICIES_CHANGE_SUBSCRIPTION_RENEWAL_TIME = 'change-subscription-renewal-time'; public const AFTER_RETRY_END_POLICIES_ABANDON_INVOICE = 'abandon-invoice'; @@ -26,7 +29,7 @@ class InvoiceRetryInstruction implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('attempts', $data)) { $this->setAttempts($data['attempts']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('afterRetryEndPolicies', $data)) { $this->setAfterRetryEndPolicies($data['afterRetryEndPolicies']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/InvoiceRetryInstructionAttempts.php b/src/Model/InvoiceRetryInstructionAttempts.php index ac401ce7c..f63f0a780 100644 --- a/src/Model/InvoiceRetryInstructionAttempts.php +++ b/src/Model/InvoiceRetryInstructionAttempts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceRetryInstructionAttempts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('scheduleInstruction', $data)) { $this->setScheduleInstruction($data['scheduleInstruction']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('tryBackupInstruments', $data)) { $this->setTryBackupInstruments($data['tryBackupInstruments']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScheduleInstruction(): InvoiceRetryScheduleInstruction diff --git a/src/Model/InvoiceRetryScheduleInstructionFactory.php b/src/Model/InvoiceRetryScheduleInstructionFactory.php index cf9754f54..6303de1f6 100644 --- a/src/Model/InvoiceRetryScheduleInstructionFactory.php +++ b/src/Model/InvoiceRetryScheduleInstructionFactory.php @@ -18,14 +18,14 @@ class InvoiceRetryScheduleInstructionFactory { - public static function from(array $data = []): InvoiceRetryScheduleInstruction + public static function from(array $data = [], array $metadata = []): InvoiceRetryScheduleInstruction { return match ($data['method']) { - 'date-interval' => SchedulingMethodDateInterval::from($data), - 'day-of-month' => SchedulingMethodDayOfMonth::from($data), - 'day-of-week' => SchedulingMethodDayOfWeek::from($data), - 'immediately' => SchedulingMethodImmediately::from($data), - 'intelligent' => SchedulingMethodIntelligent::from($data), + 'date-interval' => SchedulingMethodDateInterval::from($data, $metadata), + 'day-of-month' => SchedulingMethodDayOfMonth::from($data, $metadata), + 'day-of-week' => SchedulingMethodDayOfWeek::from($data, $metadata), + 'immediately' => SchedulingMethodImmediately::from($data, $metadata), + 'intelligent' => SchedulingMethodIntelligent::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/InvoiceTimeShift.php b/src/Model/InvoiceTimeShift.php index 257ae7447..620c6de6e 100644 --- a/src/Model/InvoiceTimeShift.php +++ b/src/Model/InvoiceTimeShift.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceTimeShift implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('issueTimeShift', $data)) { $this->setIssueTimeShift($data['issueTimeShift']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('dueTimeShift', $data)) { $this->setDueTimeShift($data['dueTimeShift']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIssueTimeShift(): ?InvoiceTimeShiftIssueTimeShift diff --git a/src/Model/InvoiceTimeShiftDueTimeShift.php b/src/Model/InvoiceTimeShiftDueTimeShift.php index 42da3be03..181c4542b 100644 --- a/src/Model/InvoiceTimeShiftDueTimeShift.php +++ b/src/Model/InvoiceTimeShiftDueTimeShift.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceTimeShiftDueTimeShift implements JsonSerializable { + use HasMetadata; + public const UNIT_SECOND = 'second'; public const UNIT_MINUTE = 'minute'; @@ -44,7 +47,7 @@ class InvoiceTimeShiftDueTimeShift implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('duration', $data)) { $this->setDuration($data['duration']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('unit', $data)) { $this->setUnit($data['unit']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDuration(): int diff --git a/src/Model/InvoiceTimeShiftIssueTimeShift.php b/src/Model/InvoiceTimeShiftIssueTimeShift.php index 9ec44a110..9f0bf8a9a 100644 --- a/src/Model/InvoiceTimeShiftIssueTimeShift.php +++ b/src/Model/InvoiceTimeShiftIssueTimeShift.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceTimeShiftIssueTimeShift implements JsonSerializable { + use HasMetadata; + public const CHRONOLOGY_BEFORE = 'before'; public const UNIT_SECOND = 'second'; @@ -46,7 +49,7 @@ class InvoiceTimeShiftIssueTimeShift implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('chronology', $data)) { $this->setChronology($data['chronology']); @@ -57,11 +60,12 @@ public function __construct(array $data = []) if (array_key_exists('unit', $data)) { $this->setUnit($data['unit']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getChronology(): string diff --git a/src/Model/InvoiceTimeline.php b/src/Model/InvoiceTimeline.php index 234736664..252986030 100644 --- a/src/Model/InvoiceTimeline.php +++ b/src/Model/InvoiceTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_COUPON_APPLIED = 'coupon-applied'; public const TYPE_EMAIL_MESSAGE_SENT = 'email-message-sent'; @@ -88,7 +91,7 @@ class InvoiceTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -111,11 +114,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/InvoiceTransaction.php b/src/Model/InvoiceTransaction.php index b99f1c4b9..04a4c6109 100644 --- a/src/Model/InvoiceTransaction.php +++ b/src/Model/InvoiceTransaction.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceTransaction implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): string diff --git a/src/Model/InvoiceTransactionAllocation.php b/src/Model/InvoiceTransactionAllocation.php index 9ac8eeaaa..460705408 100644 --- a/src/Model/InvoiceTransactionAllocation.php +++ b/src/Model/InvoiceTransactionAllocation.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoiceTransactionAllocation implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('invoiceId', $data)) { $this->setInvoiceId($data['invoiceId']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getInvoiceId(): ?string diff --git a/src/Model/InvoicesDataExport.php b/src/Model/InvoicesDataExport.php index b5675bc7c..2ffe8eb1f 100644 --- a/src/Model/InvoicesDataExport.php +++ b/src/Model/InvoicesDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class InvoicesDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -39,7 +42,7 @@ class InvoicesDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -92,11 +95,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -236,15 +240,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?InvoicesDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|InvoicesDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof InvoicesDataExportDateRange)) { + $dateRange = InvoicesDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/InvoicesDataExportDateRange.php b/src/Model/InvoicesDataExportDateRange.php new file mode 100644 index 000000000..62cf50fbb --- /dev/null +++ b/src/Model/InvoicesDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/InvoicesDataExportEmbedded.php b/src/Model/InvoicesDataExportEmbedded.php index 630512b20..59626376d 100644 --- a/src/Model/InvoicesDataExportEmbedded.php +++ b/src/Model/InvoicesDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class InvoicesDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/IpayOptions.php b/src/Model/IpayOptions.php index 358707957..e462e6cd6 100644 --- a/src/Model/IpayOptions.php +++ b/src/Model/IpayOptions.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class IpayOptions extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'IpayOptions', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): IpayOptionsCredentials diff --git a/src/Model/IpayOptionsCredentials.php b/src/Model/IpayOptionsCredentials.php index aca7feb23..b9d633764 100644 --- a/src/Model/IpayOptionsCredentials.php +++ b/src/Model/IpayOptionsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IpayOptionsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sid', $data)) { $this->setSid($data['sid']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('rcode', $data)) { $this->setRcode($data['rcode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSid(): string diff --git a/src/Model/IpayOptionsSettings.php b/src/Model/IpayOptionsSettings.php index 3c090d111..6ea91e8c5 100644 --- a/src/Model/IpayOptionsSettings.php +++ b/src/Model/IpayOptionsSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class IpayOptionsSettings implements JsonSerializable { + use HasMetadata; + public const SUBDOMAIN_MIGLITE = 'miglite'; public const SUBDOMAIN_W88_ASIAPAY = 'w88asiapay'; @@ -36,7 +39,7 @@ class IpayOptionsSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('extraStep', $data)) { $this->setExtraStep($data['extraStep']); @@ -50,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('cardType', $data)) { $this->setCardType($data['cardType']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExtraStep(): ?bool diff --git a/src/Model/JPMOrbital.php b/src/Model/JPMOrbital.php index 356ef756c..2b339426c 100644 --- a/src/Model/JPMOrbital.php +++ b/src/Model/JPMOrbital.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class JPMOrbital extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'JPMOrbital', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): JPMOrbitalCredentials diff --git a/src/Model/JPMOrbitalCredentials.php b/src/Model/JPMOrbitalCredentials.php index 547877d8d..6ae206b27 100644 --- a/src/Model/JPMOrbitalCredentials.php +++ b/src/Model/JPMOrbitalCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JPMOrbitalCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/JetPay.php b/src/Model/JetPay.php index 652936667..cbb7f50c6 100644 --- a/src/Model/JetPay.php +++ b/src/Model/JetPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class JetPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'JetPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): JetPayCredentials diff --git a/src/Model/JetPayCredentials.php b/src/Model/JetPayCredentials.php index 988f906f0..65c2f9df2 100644 --- a/src/Model/JetPayCredentials.php +++ b/src/Model/JetPayCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JetPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('TerminalID', $data)) { $this->setTerminalID($data['TerminalID']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTerminalID(): string diff --git a/src/Model/Jeton.php b/src/Model/Jeton.php index 377e6ed2e..7f1151b2d 100644 --- a/src/Model/Jeton.php +++ b/src/Model/Jeton.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Jeton extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Jeton', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): JetonCredentials diff --git a/src/Model/JetonCredentials.php b/src/Model/JetonCredentials.php index 33697d37a..5b54125bd 100644 --- a/src/Model/JetonCredentials.php +++ b/src/Model/JetonCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JetonCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/JetonSettings.php b/src/Model/JetonSettings.php index 9bc27bc4c..ab9f9f0bc 100644 --- a/src/Model/JetonSettings.php +++ b/src/Model/JetonSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JetonSettings implements JsonSerializable { + use HasMetadata; + public const METHOD_CHECKOUT = 'CHECKOUT'; public const METHOD_DIRECT = 'DIRECT'; @@ -28,16 +31,17 @@ class JetonSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/JournalAccount.php b/src/Model/JournalAccount.php index df4af5b1e..0d2a08af7 100644 --- a/src/Model/JournalAccount.php +++ b/src/Model/JournalAccount.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalAccount implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/JournalEntry.php b/src/Model/JournalEntry.php index bfce3a9ee..48a8dcfa5 100644 --- a/src/Model/JournalEntry.php +++ b/src/Model/JournalEntry.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalEntry implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -54,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/JournalEntryPeriod.php b/src/Model/JournalEntryPeriod.php index 81e4241d4..47201fbdb 100644 --- a/src/Model/JournalEntryPeriod.php +++ b/src/Model/JournalEntryPeriod.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalEntryPeriod implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('startDate', $data)) { $this->setStartDate($data['startDate']); @@ -29,11 +32,12 @@ public function __construct(array $data = []) if (array_key_exists('endDate', $data)) { $this->setEndDate($data['endDate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStartDate(): ?DateTimeImmutable diff --git a/src/Model/JournalRecord.php b/src/Model/JournalRecord.php index b0e25bf11..b76b2702d 100644 --- a/src/Model/JournalRecord.php +++ b/src/Model/JournalRecord.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalRecord implements JsonSerializable { + use HasMetadata; + public const TYPE_AUTOMATED = 'automated'; public const TYPE_MANUAL = 'manual'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -70,11 +73,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/JournalRecordEmbedded.php b/src/Model/JournalRecordEmbedded.php index 1727c1507..fee45e3bc 100644 --- a/src/Model/JournalRecordEmbedded.php +++ b/src/Model/JournalRecordEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalRecordEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('journalEntry', $data)) { $this->setJournalEntry($data['journalEntry']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/JournalRecordsDataExport.php b/src/Model/JournalRecordsDataExport.php index 56c813f46..b83c9125d 100644 --- a/src/Model/JournalRecordsDataExport.php +++ b/src/Model/JournalRecordsDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class JournalRecordsDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class JournalRecordsDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?JournalRecordsDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|JournalRecordsDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof JournalRecordsDataExportDateRange)) { + $dateRange = JournalRecordsDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/JournalRecordsDataExportDateRange.php b/src/Model/JournalRecordsDataExportDateRange.php new file mode 100644 index 000000000..01fe46202 --- /dev/null +++ b/src/Model/JournalRecordsDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/JournalRecordsDataExportEmbedded.php b/src/Model/JournalRecordsDataExportEmbedded.php index 1dbb06533..b08eb039a 100644 --- a/src/Model/JournalRecordsDataExportEmbedded.php +++ b/src/Model/JournalRecordsDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalRecordsDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/JournalSummaryReport.php b/src/Model/JournalSummaryReport.php index a4429c2b1..35ce1a8ed 100644 --- a/src/Model/JournalSummaryReport.php +++ b/src/Model/JournalSummaryReport.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalSummaryReport implements JsonSerializable { + use HasMetadata; + public const AGGREGATION_FIELD_CREDIT_ACCOUNT_ID = 'journalRecord.creditAccountId'; public const AGGREGATION_FIELD_DEBIT_ACCOUNT_ID = 'journalRecord.debitAccountId'; @@ -28,7 +31,7 @@ class JournalSummaryReport implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationField', $data)) { $this->setAggregationField($data['aggregationField']); @@ -51,11 +54,12 @@ public function __construct(array $data = []) if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationField(): ?string diff --git a/src/Model/JournalSummaryReportData.php b/src/Model/JournalSummaryReportData.php index ee36aa5dc..d48483cf6 100644 --- a/src/Model/JournalSummaryReportData.php +++ b/src/Model/JournalSummaryReportData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalSummaryReportData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('breakdown', $data)) { $this->setBreakdown($data['breakdown']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriod(): ?string diff --git a/src/Model/JournalSummaryReportDataBreakdown.php b/src/Model/JournalSummaryReportDataBreakdown.php index 8c83650a2..b9e065934 100644 --- a/src/Model/JournalSummaryReportDataBreakdown.php +++ b/src/Model/JournalSummaryReportDataBreakdown.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class JournalSummaryReportDataBreakdown implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('journalAccountId', $data)) { $this->setJournalAccountId($data['journalAccountId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('estimatedAmount', $data)) { $this->setEstimatedAmount($data['estimatedAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getJournalAccountId(): ?string diff --git a/src/Model/Khelocard.php b/src/Model/Khelocard.php index 538da181d..5290a2781 100644 --- a/src/Model/Khelocard.php +++ b/src/Model/Khelocard.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Khelocard extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Khelocard', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): KhelocardCredentials diff --git a/src/Model/KhelocardCard.php b/src/Model/KhelocardCard.php index 585431724..d585903e5 100644 --- a/src/Model/KhelocardCard.php +++ b/src/Model/KhelocardCard.php @@ -16,16 +16,19 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class KhelocardCard implements PaymentInstrument { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_DEACTIVATED = 'deactivated'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -84,11 +87,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/KhelocardCardEmbedded.php b/src/Model/KhelocardCardEmbedded.php index 5893e741c..abb5f3d7e 100644 --- a/src/Model/KhelocardCardEmbedded.php +++ b/src/Model/KhelocardCardEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KhelocardCardEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/KhelocardCardToken.php b/src/Model/KhelocardCardToken.php index cd4127abd..b872d5b43 100644 --- a/src/Model/KhelocardCardToken.php +++ b/src/Model/KhelocardCardToken.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class KhelocardCardToken implements CompositeToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/KhelocardCardTokenPaymentInstrument.php b/src/Model/KhelocardCardTokenPaymentInstrument.php index 28df0a1b4..6713c34ab 100644 --- a/src/Model/KhelocardCardTokenPaymentInstrument.php +++ b/src/Model/KhelocardCardTokenPaymentInstrument.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KhelocardCardTokenPaymentInstrument implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('number', $data)) { $this->setNumber($data['number']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('expYear', $data)) { $this->setExpYear($data['expYear']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getNumber(): string diff --git a/src/Model/KhelocardCredentials.php b/src/Model/KhelocardCredentials.php index 114389d81..ca6e857c3 100644 --- a/src/Model/KhelocardCredentials.php +++ b/src/Model/KhelocardCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KhelocardCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Klarna.php b/src/Model/Klarna.php index dec06a2e2..e61bc18b8 100644 --- a/src/Model/Klarna.php +++ b/src/Model/Klarna.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Klarna extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Klarna', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): KlarnaCredentials diff --git a/src/Model/KlarnaCredentials.php b/src/Model/KlarnaCredentials.php index 29ce8b711..0fbd6a357 100644 --- a/src/Model/KlarnaCredentials.php +++ b/src/Model/KlarnaCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KlarnaCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/KlarnaFeature.php b/src/Model/KlarnaFeature.php index 0ea299697..ba5db166e 100644 --- a/src/Model/KlarnaFeature.php +++ b/src/Model/KlarnaFeature.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class KlarnaFeature implements ReadyToPayKlarnaMethodFeature { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientToken', $data)) { $this->setClientToken($data['clientToken']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('sessionId', $data)) { $this->setSessionId($data['sessionId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/KlarnaSettings.php b/src/Model/KlarnaSettings.php index 6478c3f25..0e758fee1 100644 --- a/src/Model/KlarnaSettings.php +++ b/src/Model/KlarnaSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KlarnaSettings implements JsonSerializable { + use HasMetadata; + public const REGION_EU = 'EU'; public const REGION_NA = 'NA'; @@ -26,7 +29,7 @@ class KlarnaSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('region', $data)) { $this->setRegion($data['region']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('usePayNowStandalone', $data)) { $this->setUsePayNowStandalone($data['usePayNowStandalone']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRegion(): string diff --git a/src/Model/KlarnaToken.php b/src/Model/KlarnaToken.php index dd53212ca..820967fae 100644 --- a/src/Model/KlarnaToken.php +++ b/src/Model/KlarnaToken.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class KlarnaToken implements CompositeToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/KlarnaTokenPaymentInstrument.php b/src/Model/KlarnaTokenPaymentInstrument.php index 4f2ece2fc..d2e668f75 100644 --- a/src/Model/KlarnaTokenPaymentInstrument.php +++ b/src/Model/KlarnaTokenPaymentInstrument.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KlarnaTokenPaymentInstrument implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('klarnaAuthorizationToken', $data)) { $this->setKlarnaAuthorizationToken($data['klarnaAuthorizationToken']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('klarnaSessionId', $data)) { $this->setKlarnaSessionId($data['klarnaSessionId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getKlarnaAuthorizationToken(): string diff --git a/src/Model/Konnektive.php b/src/Model/Konnektive.php index 962ae5d82..52ae8f733 100644 --- a/src/Model/Konnektive.php +++ b/src/Model/Konnektive.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Konnektive extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Konnektive', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): KonnektiveCredentials diff --git a/src/Model/KonnektiveCredentials.php b/src/Model/KonnektiveCredentials.php index bc435f37e..ccea52b01 100644 --- a/src/Model/KonnektiveCredentials.php +++ b/src/Model/KonnektiveCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KonnektiveCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('loginId', $data)) { $this->setLoginId($data['loginId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLoginId(): string diff --git a/src/Model/KonnektiveSettings.php b/src/Model/KonnektiveSettings.php index ae1e09f2d..a20e47b4b 100644 --- a/src/Model/KonnektiveSettings.php +++ b/src/Model/KonnektiveSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KonnektiveSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('campaignId', $data)) { $this->setCampaignId($data['campaignId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('productId', $data)) { $this->setProductId($data['productId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCampaignId(): string diff --git a/src/Model/Kushki.php b/src/Model/Kushki.php index fd045db36..6ad8d06ab 100644 --- a/src/Model/Kushki.php +++ b/src/Model/Kushki.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Kushki extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Kushki', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): KushkiCredentials diff --git a/src/Model/KushkiCredentials.php b/src/Model/KushkiCredentials.php index 8f5532541..ef2f9a715 100644 --- a/src/Model/KushkiCredentials.php +++ b/src/Model/KushkiCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KushkiCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrivateKey(): string diff --git a/src/Model/KushkiSettings.php b/src/Model/KushkiSettings.php index c6597b55c..fff1c78f9 100644 --- a/src/Model/KushkiSettings.php +++ b/src/Model/KushkiSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KushkiSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sandbox', $data)) { $this->setSandbox($data['sandbox']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSandbox(): ?bool diff --git a/src/Model/KycAddressMatches.php b/src/Model/KycAddressMatches.php index 65d42cb5f..941388b1f 100644 --- a/src/Model/KycAddressMatches.php +++ b/src/Model/KycAddressMatches.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use DateTimeImmutable; +use Rebilly\Sdk\Trait\HasMetadata; class KycAddressMatches implements PostKycDocumentMatchesRequest { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -74,7 +77,7 @@ class KycAddressMatches implements PostKycDocumentMatchesRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -112,11 +115,12 @@ public function __construct(array $data = []) if (array_key_exists('isTampered', $data)) { $this->setIsTampered($data['isTampered']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/KycDocumentCheck.php b/src/Model/KycDocumentCheck.php index b237fe06d..56551a5fa 100644 --- a/src/Model/KycDocumentCheck.php +++ b/src/Model/KycDocumentCheck.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycDocumentCheck implements JsonSerializable { + use HasMetadata; + public const NAME_CITY = 'city'; public const NAME_CONTAINS_IMAGE = 'containsImage'; @@ -62,7 +65,7 @@ class KycDocumentCheck implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -76,11 +79,12 @@ public function __construct(array $data = []) if (array_key_exists('reason', $data)) { $this->setReason($data['reason']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/KycDocumentFactory.php b/src/Model/KycDocumentFactory.php index 986292cbe..f2aefc7dc 100644 --- a/src/Model/KycDocumentFactory.php +++ b/src/Model/KycDocumentFactory.php @@ -18,14 +18,14 @@ class KycDocumentFactory { - public static function from(array $data = []): KycDocument + public static function from(array $data = [], array $metadata = []): KycDocument { return match ($data['documentType']) { - 'address-proof' => ProofOfAddressKycDocument::from($data), - 'credit-file-proof' => ProofOfCreditFileKycDocument::from($data), - 'funds-proof' => ProofOfFundsKycDocument::from($data), - 'identity-proof' => ProofOfIdentityKycDocument::from($data), - 'purchase-proof' => ProofOfPurchaseKycDocument::from($data), + 'address-proof' => ProofOfAddressKycDocument::from($data, $metadata), + 'credit-file-proof' => ProofOfCreditFileKycDocument::from($data, $metadata), + 'funds-proof' => ProofOfFundsKycDocument::from($data, $metadata), + 'identity-proof' => ProofOfIdentityKycDocument::from($data, $metadata), + 'purchase-proof' => ProofOfPurchaseKycDocument::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/KycDocumentRejection.php b/src/Model/KycDocumentRejection.php index f57765802..bc477f554 100644 --- a/src/Model/KycDocumentRejection.php +++ b/src/Model/KycDocumentRejection.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycDocumentRejection implements JsonSerializable { + use HasMetadata; + public const TYPE_DOCUMENT_UNREADABLE = 'document-unreadable'; public const TYPE_DOCUMENT_EXPIRED = 'document-expired'; @@ -54,7 +57,7 @@ class KycDocumentRejection implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('message', $data)) { $this->setMessage($data['message']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/KycIdentityMatches.php b/src/Model/KycIdentityMatches.php index fb33a69b9..4875b163c 100644 --- a/src/Model/KycIdentityMatches.php +++ b/src/Model/KycIdentityMatches.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class KycIdentityMatches implements PostKycDocumentMatchesRequest { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -75,7 +78,7 @@ class KycIdentityMatches implements PostKycDocumentMatchesRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('containsImage', $data)) { $this->setContainsImage($data['containsImage']); @@ -131,17 +134,21 @@ public function __construct(array $data = []) if (array_key_exists('isDigitallyTampered', $data)) { $this->setIsDigitallyTampered($data['isDigitallyTampered']); } + if (array_key_exists('isPhotocopy', $data)) { + $this->setIsPhotocopy($data['isPhotocopy']); + } if (array_key_exists('hasCompletedFaceLiveness', $data)) { $this->setHasCompletedFaceLiveness($data['hasCompletedFaceLiveness']); } if (array_key_exists('expiryDate', $data)) { $this->setExpiryDate($data['expiryDate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getContainsImage(): ?bool @@ -361,6 +368,18 @@ public function setIsDigitallyTampered(null|bool $isDigitallyTampered): static return $this; } + public function getIsPhotocopy(): ?bool + { + return $this->fields['isPhotocopy'] ?? null; + } + + public function setIsPhotocopy(null|bool $isPhotocopy): static + { + $this->fields['isPhotocopy'] = $isPhotocopy; + + return $this; + } + public function getHasCompletedFaceLiveness(): ?bool { return $this->fields['hasCompletedFaceLiveness'] ?? null; @@ -439,6 +458,9 @@ public function jsonSerialize(): array if (array_key_exists('isDigitallyTampered', $this->fields)) { $data['isDigitallyTampered'] = $this->fields['isDigitallyTampered']; } + if (array_key_exists('isPhotocopy', $this->fields)) { + $data['isPhotocopy'] = $this->fields['isPhotocopy']; + } if (array_key_exists('hasCompletedFaceLiveness', $this->fields)) { $data['hasCompletedFaceLiveness'] = $this->fields['hasCompletedFaceLiveness']; } diff --git a/src/Model/KycRequest.php b/src/Model/KycRequest.php index 3b79204e9..09ac53cb9 100644 --- a/src/Model/KycRequest.php +++ b/src/Model/KycRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_GATHERING = 'gathering'; public const STATUS_ATTEMPTED = 'attempted'; @@ -44,7 +47,7 @@ class KycRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -85,11 +88,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/KycRequestDocument.php b/src/Model/KycRequestDocument.php index cb184250a..fd8279b3e 100644 --- a/src/Model/KycRequestDocument.php +++ b/src/Model/KycRequestDocument.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycRequestDocument implements JsonSerializable { + use HasMetadata; + public const TYPE_IDENTITY_PROOF = 'identity-proof'; public const TYPE_ADDRESS_PROOF = 'address-proof'; @@ -84,7 +87,7 @@ class KycRequestDocument implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -101,11 +104,12 @@ public function __construct(array $data = []) if (array_key_exists('faceLivenessRequired', $data)) { $this->setFaceLivenessRequired($data['faceLivenessRequired']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/KycRequestEmbedded.php b/src/Model/KycRequestEmbedded.php index e8cdcf28a..809d54d28 100644 --- a/src/Model/KycRequestEmbedded.php +++ b/src/Model/KycRequestEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycRequestEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('documents', $data)) { $this->setDocuments($data['documents']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/KycSettings.php b/src/Model/KycSettings.php index ddf13a2df..6d80a30b2 100644 --- a/src/Model/KycSettings.php +++ b/src/Model/KycSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettings implements JsonSerializable { + use HasMetadata; + public const UI_VERSION_1 = '1'; public const UI_VERSION_2 = '2'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('identityProof', $data)) { $this->setIdentityProof($data['identityProof']); @@ -35,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('uiVersion', $data)) { $this->setUiVersion($data['uiVersion']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIdentityProof(): ?KycSettingsIdentity diff --git a/src/Model/KycSettingsAddress.php b/src/Model/KycSettingsAddress.php index a8d9e2b4f..2a52711b6 100644 --- a/src/Model/KycSettingsAddress.php +++ b/src/Model/KycSettingsAddress.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsAddress implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('weights', $data)) { $this->setWeights($data['weights']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('thresholds', $data)) { $this->setThresholds($data['thresholds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWeights(): ?KycSettingsAddressWeights diff --git a/src/Model/KycSettingsAddressThresholds.php b/src/Model/KycSettingsAddressThresholds.php index f8f2aa7b5..f7b9b003f 100644 --- a/src/Model/KycSettingsAddressThresholds.php +++ b/src/Model/KycSettingsAddressThresholds.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsAddressThresholds implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rejectBelow', $data)) { $this->setRejectBelow($data['rejectBelow']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('acceptAbove', $data)) { $this->setAcceptAbove($data['acceptAbove']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRejectBelow(): ?int diff --git a/src/Model/KycSettingsAddressWeights.php b/src/Model/KycSettingsAddressWeights.php index a328cac20..250baec5d 100644 --- a/src/Model/KycSettingsAddressWeights.php +++ b/src/Model/KycSettingsAddressWeights.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsAddressWeights implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('isTampered', $data)) { $this->setIsTampered($data['isTampered']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?int diff --git a/src/Model/KycSettingsIdentity.php b/src/Model/KycSettingsIdentity.php index 624777cc0..d466b55a8 100644 --- a/src/Model/KycSettingsIdentity.php +++ b/src/Model/KycSettingsIdentity.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsIdentity implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('weights', $data)) { $this->setWeights($data['weights']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('minimumAgeSettings', $data)) { $this->setMinimumAgeSettings($data['minimumAgeSettings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWeights(): ?KycSettingsIdentityWeights diff --git a/src/Model/KycSettingsIdentityMinimumAgeSettings.php b/src/Model/KycSettingsIdentityMinimumAgeSettings.php index 2671a1f2c..1df2e4891 100644 --- a/src/Model/KycSettingsIdentityMinimumAgeSettings.php +++ b/src/Model/KycSettingsIdentityMinimumAgeSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsIdentityMinimumAgeSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('defaultMinimumAge', $data)) { $this->setDefaultMinimumAge($data['defaultMinimumAge']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('locationOverrides', $data)) { $this->setLocationOverrides($data['locationOverrides']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDefaultMinimumAge(): ?int diff --git a/src/Model/KycSettingsIdentityMinimumAgeSettingsLocationOverrides.php b/src/Model/KycSettingsIdentityMinimumAgeSettingsLocationOverrides.php index c21ea0999..5a442f418 100644 --- a/src/Model/KycSettingsIdentityMinimumAgeSettingsLocationOverrides.php +++ b/src/Model/KycSettingsIdentityMinimumAgeSettingsLocationOverrides.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsIdentityMinimumAgeSettingsLocationOverrides implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('country', $data)) { $this->setCountry($data['country']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('minimumAge', $data)) { $this->setMinimumAge($data['minimumAge']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCountry(): string diff --git a/src/Model/KycSettingsIdentityThresholds.php b/src/Model/KycSettingsIdentityThresholds.php index c88652cef..a03ccfd4f 100644 --- a/src/Model/KycSettingsIdentityThresholds.php +++ b/src/Model/KycSettingsIdentityThresholds.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsIdentityThresholds implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rejectBelow', $data)) { $this->setRejectBelow($data['rejectBelow']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('acceptAbove', $data)) { $this->setAcceptAbove($data['acceptAbove']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRejectBelow(): ?int diff --git a/src/Model/KycSettingsIdentityWeights.php b/src/Model/KycSettingsIdentityWeights.php index 94fd8b979..962daf063 100644 --- a/src/Model/KycSettingsIdentityWeights.php +++ b/src/Model/KycSettingsIdentityWeights.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class KycSettingsIdentityWeights implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('containsImage', $data)) { $this->setContainsImage($data['containsImage']); @@ -64,11 +67,15 @@ public function __construct(array $data = []) if (array_key_exists('isTampered', $data)) { $this->setIsTampered($data['isTampered']); } + if (array_key_exists('isPhotocopy', $data)) { + $this->setIsPhotocopy($data['isPhotocopy']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getContainsImage(): ?int @@ -239,6 +246,18 @@ public function setIsTampered(null|int $isTampered): static return $this; } + public function getIsPhotocopy(): ?int + { + return $this->fields['isPhotocopy'] ?? null; + } + + public function setIsPhotocopy(null|int $isPhotocopy): static + { + $this->fields['isPhotocopy'] = $isPhotocopy; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -284,6 +303,9 @@ public function jsonSerialize(): array if (array_key_exists('isTampered', $this->fields)) { $data['isTampered'] = $this->fields['isTampered']; } + if (array_key_exists('isPhotocopy', $this->fields)) { + $data['isPhotocopy'] = $this->fields['isPhotocopy']; + } return $data; } diff --git a/src/Model/LPG.php b/src/Model/LPG.php index 6edd6e4f3..8d9050e2b 100644 --- a/src/Model/LPG.php +++ b/src/Model/LPG.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class LPG extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'LPG', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): LPGCredentials diff --git a/src/Model/LPGCredentials.php b/src/Model/LPGCredentials.php index 1c8c06844..569829a21 100644 --- a/src/Model/LPGCredentials.php +++ b/src/Model/LPGCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LPGCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('payoutPassword', $data)) { $this->setPayoutPassword($data['payoutPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/LaCore.php b/src/Model/LaCore.php index 08fbc2b81..439212290 100644 --- a/src/Model/LaCore.php +++ b/src/Model/LaCore.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class LaCore extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'LaCore', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): LaCoreCredentials diff --git a/src/Model/LaCoreCredentials.php b/src/Model/LaCoreCredentials.php index 1071208f1..85270511a 100644 --- a/src/Model/LaCoreCredentials.php +++ b/src/Model/LaCoreCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LaCoreCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/LeadSource.php b/src/Model/LeadSource.php index 009e61cd2..2c945a28a 100644 --- a/src/Model/LeadSource.php +++ b/src/Model/LeadSource.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LeadSource implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('medium', $data)) { $this->setMedium($data['medium']); @@ -69,11 +72,12 @@ public function __construct(array $data = []) if (array_key_exists('original', $data)) { $this->setOriginal($data['original']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMedium(): ?string diff --git a/src/Model/LeadSourceData.php b/src/Model/LeadSourceData.php index a9282d932..3358f0c33 100644 --- a/src/Model/LeadSourceData.php +++ b/src/Model/LeadSourceData.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LeadSourceData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('medium', $data)) { $this->setMedium($data['medium']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMedium(): ?string diff --git a/src/Model/Limepay.php b/src/Model/Limepay.php index bd34d7e58..36a9f2a7d 100644 --- a/src/Model/Limepay.php +++ b/src/Model/Limepay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Limepay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Limepay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): LimepayCredentials diff --git a/src/Model/LimepayCredentials.php b/src/Model/LimepayCredentials.php index c071467e1..a4f6063fa 100644 --- a/src/Model/LimepayCredentials.php +++ b/src/Model/LimepayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LimepayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('xLogin', $data)) { $this->setXLogin($data['xLogin']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getXLogin(): string diff --git a/src/Model/LimepaySettings.php b/src/Model/LimepaySettings.php index 8da433ce1..ac83308c0 100644 --- a/src/Model/LimepaySettings.php +++ b/src/Model/LimepaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LimepaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('storeDocumentId', $data)) { $this->setStoreDocumentId($data['storeDocumentId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStoreDocumentId(): ?bool diff --git a/src/Model/ListTimelineTable.php b/src/Model/ListTimelineTable.php index 51d0aaadd..019ef2974 100644 --- a/src/Model/ListTimelineTable.php +++ b/src/Model/ListTimelineTable.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ListTimelineTable extends TimelineTable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'type' => 'list', - ] + $data); + ] + $data, $metadata); if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/Loonie.php b/src/Model/Loonie.php index 2f94db1c2..53880b1ae 100644 --- a/src/Model/Loonie.php +++ b/src/Model/Loonie.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Loonie extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'loonie', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): LoonieCredentials diff --git a/src/Model/LoonieCredentials.php b/src/Model/LoonieCredentials.php index 7bcf19f6b..fd04e4156 100644 --- a/src/Model/LoonieCredentials.php +++ b/src/Model/LoonieCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LoonieCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantToken', $data)) { $this->setMerchantToken($data['merchantToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Loonio.php b/src/Model/Loonio.php index 105e4af33..6e4a6ed0b 100644 --- a/src/Model/Loonio.php +++ b/src/Model/Loonio.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Loonio extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Loonio', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): LoonioCredentials diff --git a/src/Model/LoonioCredentials.php b/src/Model/LoonioCredentials.php index 753e904e9..ff58d7ead 100644 --- a/src/Model/LoonioCredentials.php +++ b/src/Model/LoonioCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class LoonioCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/MailgunCredential.php b/src/Model/MailgunCredential.php index 933ef791c..c449af27a 100644 --- a/src/Model/MailgunCredential.php +++ b/src/Model/MailgunCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class MailgunCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class MailgunCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -53,11 +56,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/ManualShipping.php b/src/Model/ManualShipping.php index f7a857cde..c4dbf87d4 100644 --- a/src/Model/ManualShipping.php +++ b/src/Model/ManualShipping.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ManualShipping implements Shipping { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCalculator(): string diff --git a/src/Model/ManualTax.php b/src/Model/ManualTax.php index 98ced5281..bc04de2c5 100644 --- a/src/Model/ManualTax.php +++ b/src/Model/ManualTax.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ManualTax implements Taxes { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('items', $data)) { $this->setItems($data['items']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCalculator(): string diff --git a/src/Model/MaxiCash.php b/src/Model/MaxiCash.php index 20858eb42..8cf704d3a 100644 --- a/src/Model/MaxiCash.php +++ b/src/Model/MaxiCash.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MaxiCash extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MaxiCash', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MaxiCashCredentials diff --git a/src/Model/MaxiCashCredentials.php b/src/Model/MaxiCashCredentials.php index b341ca85f..1eb2a32bc 100644 --- a/src/Model/MaxiCashCredentials.php +++ b/src/Model/MaxiCashCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MaxiCashCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Membership.php b/src/Model/Membership.php index e306b1835..8de8656e4 100644 --- a/src/Model/Membership.php +++ b/src/Model/Membership.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Membership implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('organization', $data)) { $this->setOrganization($data['organization']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOrganization(): MembershipOrganization diff --git a/src/Model/MembershipEmbedded.php b/src/Model/MembershipEmbedded.php index 184dc45b8..233c9cdbe 100644 --- a/src/Model/MembershipEmbedded.php +++ b/src/Model/MembershipEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MembershipEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('roles', $data)) { $this->setRoles($data['roles']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/MembershipOrganization.php b/src/Model/MembershipOrganization.php index 0973edc74..a7d0dd610 100644 --- a/src/Model/MembershipOrganization.php +++ b/src/Model/MembershipOrganization.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MembershipOrganization implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -36,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/MembershipUser.php b/src/Model/MembershipUser.php index b207c55eb..bc0b53233 100644 --- a/src/Model/MembershipUser.php +++ b/src/Model/MembershipUser.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MembershipUser implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('email', $data)) { $this->setEmail($data['email']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/MercadoPago.php b/src/Model/MercadoPago.php index 853aa4efe..c676d14aa 100644 --- a/src/Model/MercadoPago.php +++ b/src/Model/MercadoPago.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MercadoPago extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MercadoPago', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MercadoPagoCredentials diff --git a/src/Model/MercadoPagoCredentials.php b/src/Model/MercadoPagoCredentials.php index 7ad3ded73..e4afb59fc 100644 --- a/src/Model/MercadoPagoCredentials.php +++ b/src/Model/MercadoPagoCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MercadoPagoCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('accessToken', $data)) { $this->setAccessToken($data['accessToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/MercadoPagoSettings.php b/src/Model/MercadoPagoSettings.php index 9b57a3a6a..f5b708273 100644 --- a/src/Model/MercadoPagoSettings.php +++ b/src/Model/MercadoPagoSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MercadoPagoSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('collectDeviceId', $data)) { $this->setCollectDeviceId($data['collectDeviceId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCollectDeviceId(): ?bool diff --git a/src/Model/MiFinity.php b/src/Model/MiFinity.php index 00914fefb..e5f02d675 100644 --- a/src/Model/MiFinity.php +++ b/src/Model/MiFinity.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MiFinity extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MiFinity', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MiFinityCredentials diff --git a/src/Model/MiFinityCredentials.php b/src/Model/MiFinityCredentials.php index d172e154d..bb005b29f 100644 --- a/src/Model/MiFinityCredentials.php +++ b/src/Model/MiFinityCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MiFinityCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('brandId', $data)) { $this->setBrandId($data['brandId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/MobilePay.php b/src/Model/MobilePay.php index 5bdf07b17..bd6bb6274 100644 --- a/src/Model/MobilePay.php +++ b/src/Model/MobilePay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MobilePay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MobilePay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MobilePayCredentials diff --git a/src/Model/MobilePayCredentials.php b/src/Model/MobilePayCredentials.php index 1b7a9f0a7..779e7bf25 100644 --- a/src/Model/MobilePayCredentials.php +++ b/src/Model/MobilePayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MobilePayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantSerialNumber', $data)) { $this->setMerchantSerialNumber($data['merchantSerialNumber']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('clientSecret', $data)) { $this->setClientSecret($data['clientSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantSerialNumber(): string diff --git a/src/Model/MonRem.php b/src/Model/MonRem.php index d109c915d..0403bb946 100644 --- a/src/Model/MonRem.php +++ b/src/Model/MonRem.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MonRem extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MonRem', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MonRemCredentials diff --git a/src/Model/MonRemCredentials.php b/src/Model/MonRemCredentials.php index 5f1ce520c..0871a3cda 100644 --- a/src/Model/MonRemCredentials.php +++ b/src/Model/MonRemCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MonRemCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('clientSecret', $data)) { $this->setClientSecret($data['clientSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/Moneris.php b/src/Model/Moneris.php index 6c40d2f6c..b7df500a3 100644 --- a/src/Model/Moneris.php +++ b/src/Model/Moneris.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Moneris extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Moneris', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MonerisCredentials diff --git a/src/Model/MonerisCredentials.php b/src/Model/MonerisCredentials.php index 094d10898..6adb679ed 100644 --- a/src/Model/MonerisCredentials.php +++ b/src/Model/MonerisCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MonerisCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiToken', $data)) { $this->setApiToken($data['apiToken']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('storeId', $data)) { $this->setStoreId($data['storeId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiToken(): string diff --git a/src/Model/MonetaryCustomField.php b/src/Model/MonetaryCustomField.php index ee732a6f8..c3df17578 100644 --- a/src/Model/MonetaryCustomField.php +++ b/src/Model/MonetaryCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MonetaryCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/MonetaryCustomFieldAdditionalSchema.php b/src/Model/MonetaryCustomFieldAdditionalSchema.php index 3b8d098cd..815cb29e7 100644 --- a/src/Model/MonetaryCustomFieldAdditionalSchema.php +++ b/src/Model/MonetaryCustomFieldAdditionalSchema.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MonetaryCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('required', $data)) { $this->setRequired($data['required']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRequired(): ?bool diff --git a/src/Model/MonetaryCustomFieldAdditionalSchemaDefault.php b/src/Model/MonetaryCustomFieldAdditionalSchemaDefault.php index 19707f44c..cd5154763 100644 --- a/src/Model/MonetaryCustomFieldAdditionalSchemaDefault.php +++ b/src/Model/MonetaryCustomFieldAdditionalSchemaDefault.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MonetaryCustomFieldAdditionalSchemaDefault implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/Money.php b/src/Model/Money.php index afe7e0a33..582137f16 100644 --- a/src/Model/Money.php +++ b/src/Model/Money.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Money implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): float diff --git a/src/Model/Monolo.php b/src/Model/Monolo.php index 43085cd8d..fb34c36d7 100644 --- a/src/Model/Monolo.php +++ b/src/Model/Monolo.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Monolo extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Monolo', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MonoloCredentials diff --git a/src/Model/MonoloCredentials.php b/src/Model/MonoloCredentials.php index 0aad4fdc1..daf8531f0 100644 --- a/src/Model/MonoloCredentials.php +++ b/src/Model/MonoloCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MonoloCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('businessId', $data)) { $this->setBusinessId($data['businessId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBusinessId(): string diff --git a/src/Model/MonoloSettings.php b/src/Model/MonoloSettings.php index cb5b097dd..a1ce5a600 100644 --- a/src/Model/MonoloSettings.php +++ b/src/Model/MonoloSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MonoloSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('payoutCurrency', $data)) { $this->setPayoutCurrency($data['payoutCurrency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('destinationTagCustomField', $data)) { $this->setDestinationTagCustomField($data['destinationTagCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPayoutCurrency(): ?string diff --git a/src/Model/MtaPay.php b/src/Model/MtaPay.php index 123d52e75..3812e6520 100644 --- a/src/Model/MtaPay.php +++ b/src/Model/MtaPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MtaPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MtaPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MtaPayCredentials diff --git a/src/Model/MtaPayCredentials.php b/src/Model/MtaPayCredentials.php index dfd08133f..254c075f5 100644 --- a/src/Model/MtaPayCredentials.php +++ b/src/Model/MtaPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MtaPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('md5key', $data)) { $this->setMd5key($data['md5key']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountId(): string diff --git a/src/Model/MtaPaySettings.php b/src/Model/MtaPaySettings.php index 6e84e118f..6ec703c79 100644 --- a/src/Model/MtaPaySettings.php +++ b/src/Model/MtaPaySettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MtaPaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('goods', $data)) { $this->setGoods($data['goods']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('mobilePay', $data)) { $this->setMobilePay($data['mobilePay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getGoods(): string diff --git a/src/Model/MuchBetter.php b/src/Model/MuchBetter.php index b37de77b6..aebc5cacd 100644 --- a/src/Model/MuchBetter.php +++ b/src/Model/MuchBetter.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MuchBetter extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MuchBetter', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MuchBetterCredentials diff --git a/src/Model/MuchBetterCredentials.php b/src/Model/MuchBetterCredentials.php index a62746405..7287fb890 100644 --- a/src/Model/MuchBetterCredentials.php +++ b/src/Model/MuchBetterCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MuchBetterCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantAccountId', $data)) { $this->setMerchantAccountId($data['merchantAccountId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantAccountId(): string diff --git a/src/Model/MuchBetterGateway.php b/src/Model/MuchBetterGateway.php index 32fb90581..0d1f18989 100644 --- a/src/Model/MuchBetterGateway.php +++ b/src/Model/MuchBetterGateway.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MuchBetterGateway extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MuchBetterGateway', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MuchBetterGatewayCredentials diff --git a/src/Model/MuchBetterGatewayCredentials.php b/src/Model/MuchBetterGatewayCredentials.php index 41d5fed71..5d6a70e20 100644 --- a/src/Model/MuchBetterGatewayCredentials.php +++ b/src/Model/MuchBetterGatewayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MuchBetterGatewayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/MuchBetterGatewaySettings.php b/src/Model/MuchBetterGatewaySettings.php index 009658fd9..7682834d6 100644 --- a/src/Model/MuchBetterGatewaySettings.php +++ b/src/Model/MuchBetterGatewaySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MuchBetterGatewaySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('hasPhoneNumberRequest', $data)) { $this->setHasPhoneNumberRequest($data['hasPhoneNumberRequest']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getHasPhoneNumberRequest(): ?bool diff --git a/src/Model/MuchBetterSettings.php b/src/Model/MuchBetterSettings.php index 8d2a2372d..a866aa3a0 100644 --- a/src/Model/MuchBetterSettings.php +++ b/src/Model/MuchBetterSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MuchBetterSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('brandName', $data)) { $this->setBrandName($data['brandName']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('hasPhoneNumberRequest', $data)) { $this->setHasPhoneNumberRequest($data['hasPhoneNumberRequest']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBrandName(): ?string diff --git a/src/Model/MyFatoorah.php b/src/Model/MyFatoorah.php index c0dc5d73a..b3e6ad26d 100644 --- a/src/Model/MyFatoorah.php +++ b/src/Model/MyFatoorah.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class MyFatoorah extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'MyFatoorah', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): MyFatoorahCredentials diff --git a/src/Model/MyFatoorahCredentials.php b/src/Model/MyFatoorahCredentials.php index a14a64602..bdc120c46 100644 --- a/src/Model/MyFatoorahCredentials.php +++ b/src/Model/MyFatoorahCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class MyFatoorahCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/NGenius.php b/src/Model/NGenius.php index 80da4a98d..30f1f222d 100644 --- a/src/Model/NGenius.php +++ b/src/Model/NGenius.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NGenius extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'NGenius', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NGeniusCredentials diff --git a/src/Model/NGeniusCredentials.php b/src/Model/NGeniusCredentials.php index eea252c20..18c7191b2 100644 --- a/src/Model/NGeniusCredentials.php +++ b/src/Model/NGeniusCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NGeniusCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('outletId', $data)) { $this->setOutletId($data['outletId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOutletId(): string diff --git a/src/Model/NMI.php b/src/Model/NMI.php index bb0ddc199..5c0179c74 100644 --- a/src/Model/NMI.php +++ b/src/Model/NMI.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NMI extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'NMI', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NMICredentials diff --git a/src/Model/NMICredentials.php b/src/Model/NMICredentials.php index c9fbe0de3..9abd8e6da 100644 --- a/src/Model/NMICredentials.php +++ b/src/Model/NMICredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NMICredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -28,11 +31,15 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + if (array_key_exists('apiKey', $data)) { + $this->setApiKey($data['apiKey']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string @@ -59,6 +66,18 @@ public function setPassword(string $password): static return $this; } + public function getApiKey(): ?string + { + return $this->fields['apiKey'] ?? null; + } + + public function setApiKey(null|string $apiKey): static + { + $this->fields['apiKey'] = $apiKey; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -68,6 +87,9 @@ public function jsonSerialize(): array if (array_key_exists('password', $this->fields)) { $data['password'] = $this->fields['password']; } + if (array_key_exists('apiKey', $this->fields)) { + $data['apiKey'] = $this->fields['apiKey']; + } return $data; } diff --git a/src/Model/NMISettings.php b/src/Model/NMISettings.php index 630396c91..08478e3f5 100644 --- a/src/Model/NMISettings.php +++ b/src/Model/NMISettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NMISettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('disableStoredCredentials', $data)) { $this->setDisableStoredCredentials($data['disableStoredCredentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDisableStoredCredentials(): ?bool diff --git a/src/Model/NOWPayments.php b/src/Model/NOWPayments.php index 97ba69321..52a02e1c4 100644 --- a/src/Model/NOWPayments.php +++ b/src/Model/NOWPayments.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NOWPayments extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'NOWPayments', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NOWPaymentsCredentials diff --git a/src/Model/NOWPaymentsCredentials.php b/src/Model/NOWPaymentsCredentials.php index a247b1505..42ba659a7 100644 --- a/src/Model/NOWPaymentsCredentials.php +++ b/src/Model/NOWPaymentsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NOWPaymentsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('ipnSecret', $data)) { $this->setIpnSecret($data['ipnSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/NOWPaymentsSettings.php b/src/Model/NOWPaymentsSettings.php index e957cf673..f24c9a8f7 100644 --- a/src/Model/NOWPaymentsSettings.php +++ b/src/Model/NOWPaymentsSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NOWPaymentsSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tolerancePercentage', $data)) { $this->setTolerancePercentage($data['tolerancePercentage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTolerancePercentage(): int diff --git a/src/Model/Naewe.php b/src/Model/Naewe.php index be421ca40..2ef86d95d 100644 --- a/src/Model/Naewe.php +++ b/src/Model/Naewe.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Naewe extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Naewe', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NaeweCredentials diff --git a/src/Model/NaeweCredentials.php b/src/Model/NaeweCredentials.php index f47fa9b73..7bd92d8e4 100644 --- a/src/Model/NaeweCredentials.php +++ b/src/Model/NaeweCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NaeweCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('businessId', $data)) { $this->setBusinessId($data['businessId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBusinessId(): string diff --git a/src/Model/NaeweSettings.php b/src/Model/NaeweSettings.php index b152cf201..36b952a6e 100644 --- a/src/Model/NaeweSettings.php +++ b/src/Model/NaeweSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NaeweSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('payoutCurrency', $data)) { $this->setPayoutCurrency($data['payoutCurrency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('destinationTagCustomField', $data)) { $this->setDestinationTagCustomField($data['destinationTagCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPayoutCurrency(): ?string diff --git a/src/Model/Neosurf.php b/src/Model/Neosurf.php index 03be2aeee..536a4118f 100644 --- a/src/Model/Neosurf.php +++ b/src/Model/Neosurf.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Neosurf extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Neosurf', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NeosurfCredentials diff --git a/src/Model/NeosurfCredentials.php b/src/Model/NeosurfCredentials.php index 84d5551e1..3262837c9 100644 --- a/src/Model/NeosurfCredentials.php +++ b/src/Model/NeosurfCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NeosurfCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Netbanking.php b/src/Model/Netbanking.php index 1f668ce7e..5426e3bf1 100644 --- a/src/Model/Netbanking.php +++ b/src/Model/Netbanking.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Netbanking extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Netbanking', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NetbankingCredentials diff --git a/src/Model/NetbankingCredentials.php b/src/Model/NetbankingCredentials.php index f91c220ff..ee52da9f5 100644 --- a/src/Model/NetbankingCredentials.php +++ b/src/Model/NetbankingCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NetbankingCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('midcode', $data)) { $this->setMidcode($data['midcode']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('midsecret', $data)) { $this->setMidsecret($data['midsecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMidcode(): string diff --git a/src/Model/Neteller.php b/src/Model/Neteller.php index 7cece5da3..80225487c 100644 --- a/src/Model/Neteller.php +++ b/src/Model/Neteller.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Neteller extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Neteller', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NetellerCredentials diff --git a/src/Model/NetellerCredentials.php b/src/Model/NetellerCredentials.php index bdba535e0..886453ec6 100644 --- a/src/Model/NetellerCredentials.php +++ b/src/Model/NetellerCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NetellerCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paysafePaymentsApiUsername', $data)) { $this->setPaysafePaymentsApiUsername($data['paysafePaymentsApiUsername']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('paysafePaymentsApiPassword', $data)) { $this->setPaysafePaymentsApiPassword($data['paysafePaymentsApiPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaysafePaymentsApiUsername(): string diff --git a/src/Model/NetellerSettings.php b/src/Model/NetellerSettings.php index acc98b6a6..408883758 100644 --- a/src/Model/NetellerSettings.php +++ b/src/Model/NetellerSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NetellerSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('populateCustomerEmail', $data)) { $this->setPopulateCustomerEmail($data['populateCustomerEmail']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPopulateCustomerEmail(): ?bool diff --git a/src/Model/NinjaWallet.php b/src/Model/NinjaWallet.php index cea2b0963..83dc6b529 100644 --- a/src/Model/NinjaWallet.php +++ b/src/Model/NinjaWallet.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NinjaWallet extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'NinjaWallet', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NinjaWalletCredentials diff --git a/src/Model/NinjaWalletCredentials.php b/src/Model/NinjaWalletCredentials.php index 6068ea442..59428af1b 100644 --- a/src/Model/NinjaWalletCredentials.php +++ b/src/Model/NinjaWalletCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NinjaWalletCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('passphrase', $data)) { $this->setPassphrase($data['passphrase']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/NordikCoin.php b/src/Model/NordikCoin.php index 070d9dfe0..f177d0b96 100644 --- a/src/Model/NordikCoin.php +++ b/src/Model/NordikCoin.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NordikCoin extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'NordikCoin', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NordikCoinCredentials diff --git a/src/Model/NordikCoinCredentials.php b/src/Model/NordikCoinCredentials.php index ec8c449e4..7535417c7 100644 --- a/src/Model/NordikCoinCredentials.php +++ b/src/Model/NordikCoinCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NordikCoinCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/NuaPay.php b/src/Model/NuaPay.php index 72feea1e3..2b60150a5 100644 --- a/src/Model/NuaPay.php +++ b/src/Model/NuaPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NuaPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'NuaPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): NuaPayCredentials diff --git a/src/Model/NuaPayCredentials.php b/src/Model/NuaPayCredentials.php index 854989a1e..08ee0690b 100644 --- a/src/Model/NuaPayCredentials.php +++ b/src/Model/NuaPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NuaPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('nuaPayCommonName', $data)) { $this->setNuaPayCommonName($data['nuaPayCommonName']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('nuaPayPrivateKey', $data)) { $this->setNuaPayPrivateKey($data['nuaPayPrivateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getNuaPayCommonName(): string diff --git a/src/Model/NumberCustomField.php b/src/Model/NumberCustomField.php index b615deeb1..ed698e7d7 100644 --- a/src/Model/NumberCustomField.php +++ b/src/Model/NumberCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class NumberCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/NumberCustomFieldAdditionalSchema.php b/src/Model/NumberCustomFieldAdditionalSchema.php index c000227c4..bc1fd9309 100644 --- a/src/Model/NumberCustomFieldAdditionalSchema.php +++ b/src/Model/NumberCustomFieldAdditionalSchema.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class NumberCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): ?float diff --git a/src/Model/OAuth2Credential.php b/src/Model/OAuth2Credential.php index 883b58f3d..47c99a08f 100644 --- a/src/Model/OAuth2Credential.php +++ b/src/Model/OAuth2Credential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class OAuth2Credential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -31,7 +34,7 @@ class OAuth2Credential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -66,11 +69,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/OchaPay.php b/src/Model/OchaPay.php index f261fb7e6..5a16c3c31 100644 --- a/src/Model/OchaPay.php +++ b/src/Model/OchaPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class OchaPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'OchaPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): OchaPayCredentials diff --git a/src/Model/OchaPayCredentials.php b/src/Model/OchaPayCredentials.php index 7c224b656..a2f57877f 100644 --- a/src/Model/OchaPayCredentials.php +++ b/src/Model/OchaPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OchaPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiUsername', $data)) { $this->setApiUsername($data['apiUsername']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretWord', $data)) { $this->setSecretWord($data['secretWord']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiUsername(): string diff --git a/src/Model/OmniMatrix.php b/src/Model/OmniMatrix.php index 9c6e0dce1..ac7b62aab 100644 --- a/src/Model/OmniMatrix.php +++ b/src/Model/OmniMatrix.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class OmniMatrix extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'OmniMatrix', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): OmniMatrixCredentials diff --git a/src/Model/OmniMatrixCredentials.php b/src/Model/OmniMatrixCredentials.php index db562c9b7..8a382ca98 100644 --- a/src/Model/OmniMatrixCredentials.php +++ b/src/Model/OmniMatrixCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OmniMatrixCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/OmniMatrixSettings.php b/src/Model/OmniMatrixSettings.php index ab8486f91..aeef76ead 100644 --- a/src/Model/OmniMatrixSettings.php +++ b/src/Model/OmniMatrixSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OmniMatrixSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('usePreconfiguredAmounts', $data)) { $this->setUsePreconfiguredAmounts($data['usePreconfiguredAmounts']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsePreconfiguredAmounts(): ?bool diff --git a/src/Model/OnRamp.php b/src/Model/OnRamp.php index 18322edaa..77333ae5b 100644 --- a/src/Model/OnRamp.php +++ b/src/Model/OnRamp.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class OnRamp extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'OnRamp', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): OnRampCredentials diff --git a/src/Model/OnRampCredentials.php b/src/Model/OnRampCredentials.php index 6d9501297..c16616019 100644 --- a/src/Model/OnRampCredentials.php +++ b/src/Model/OnRampCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OnRampCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/OnRampSettings.php b/src/Model/OnRampSettings.php index 2f62edead..c9671f75e 100644 --- a/src/Model/OnRampSettings.php +++ b/src/Model/OnRampSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OnRampSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useServerToServerApi', $data)) { $this->setUseServerToServerApi($data['useServerToServerApi']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('logoUrl', $data)) { $this->setLogoUrl($data['logoUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseServerToServerApi(): ?bool diff --git a/src/Model/OneColumnTimelineTable.php b/src/Model/OneColumnTimelineTable.php index 4cbdd07a6..64ae5e816 100644 --- a/src/Model/OneColumnTimelineTable.php +++ b/src/Model/OneColumnTimelineTable.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class OneColumnTimelineTable extends TimelineTable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'type' => 'one-column', - ] + $data); + ] + $data, $metadata); if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/OneColumnTimelineTableData.php b/src/Model/OneColumnTimelineTableData.php index 8d60b9c8a..7bd18d9d3 100644 --- a/src/Model/OneColumnTimelineTableData.php +++ b/src/Model/OneColumnTimelineTableData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OneColumnTimelineTableData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('attribute', $data)) { $this->setAttribute($data['attribute']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAttribute(): ?string diff --git a/src/Model/OneTimeOrder.php b/src/Model/OneTimeOrder.php index 803f9e77b..0c354c815 100644 --- a/src/Model/OneTimeOrder.php +++ b/src/Model/OneTimeOrder.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class OneTimeOrder implements Order { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_VOIDED = 'voided'; @@ -29,7 +32,7 @@ class OneTimeOrder implements Order private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -103,6 +106,9 @@ public function __construct(array $data = []) if (array_key_exists('revision', $data)) { $this->setRevision($data['revision']); } + if (array_key_exists('isNew', $data)) { + $this->setIsNew($data['isNew']); + } if (array_key_exists('createdTime', $data)) { $this->setCreatedTime($data['createdTime']); } @@ -115,11 +121,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string @@ -375,6 +382,11 @@ public function getRevision(): ?int return $this->fields['revision'] ?? null; } + public function getIsNew(): ?bool + { + return $this->fields['isNew'] ?? null; + } + public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -489,6 +501,9 @@ public function jsonSerialize(): array if (array_key_exists('revision', $this->fields)) { $data['revision'] = $this->fields['revision']; } + if (array_key_exists('isNew', $this->fields)) { + $data['isNew'] = $this->fields['isNew']; + } if (array_key_exists('createdTime', $this->fields)) { $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); } @@ -599,6 +614,13 @@ private function setRevision(null|int $revision): static return $this; } + private function setIsNew(null|bool $isNew): static + { + $this->fields['isNew'] = $isNew; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/OneTimeOrderEmbedded.php b/src/Model/OneTimeOrderEmbedded.php index 98e6c0f06..2a1763f39 100644 --- a/src/Model/OneTimeOrderEmbedded.php +++ b/src/Model/OneTimeOrderEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OneTimeOrderEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('website', $data)) { $this->setWebsite($data['website']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/OneTimeSale.php b/src/Model/OneTimeSale.php index b829237b0..632a89c6d 100644 --- a/src/Model/OneTimeSale.php +++ b/src/Model/OneTimeSale.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class OneTimeSale implements SubscriptionOrOneTimeSale { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_ABANDONED = 'abandoned'; @@ -49,7 +52,7 @@ class OneTimeSale implements SubscriptionOrOneTimeSale private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -129,11 +132,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOrderType(): string diff --git a/src/Model/OneTimeSaleEmbedded.php b/src/Model/OneTimeSaleEmbedded.php index f34bdc679..16de02001 100644 --- a/src/Model/OneTimeSaleEmbedded.php +++ b/src/Model/OneTimeSaleEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OneTimeSaleEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('recentInvoice', $data)) { $this->setRecentInvoice($data['recentInvoice']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRecentInvoice(): ?Invoice diff --git a/src/Model/OneTimeSaleItem.php b/src/Model/OneTimeSaleItem.php index 52a2746d7..ed31383bd 100644 --- a/src/Model/OneTimeSaleItem.php +++ b/src/Model/OneTimeSaleItem.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class OneTimeSaleItem implements RecurringOrderItems { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/OneTimeSalePlan.php b/src/Model/OneTimeSalePlan.php index a3f4651d5..4869d553e 100644 --- a/src/Model/OneTimeSalePlan.php +++ b/src/Model/OneTimeSalePlan.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class OneTimeSalePlan implements Plan, FlexiblePlan { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -74,16 +77,17 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } - public function getId(): ?string + public function getId(): string { - return $this->fields['id'] ?? null; + return $this->fields['id']; } public function getName(): string @@ -316,7 +320,7 @@ public function jsonSerialize(): array return $data; } - private function setId(null|string $id): static + private function setId(string $id): static { $this->fields['id'] = $id; diff --git a/src/Model/Onlineueberweisen.php b/src/Model/Onlineueberweisen.php index 8c892acc2..47fff16a4 100644 --- a/src/Model/Onlineueberweisen.php +++ b/src/Model/Onlineueberweisen.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Onlineueberweisen extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Onlineueberweisen', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): OnlineueberweisenCredentials diff --git a/src/Model/OnlineueberweisenCredentials.php b/src/Model/OnlineueberweisenCredentials.php index 604575647..e94f8cddb 100644 --- a/src/Model/OnlineueberweisenCredentials.php +++ b/src/Model/OnlineueberweisenCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OnlineueberweisenCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('nuaPayAccountId', $data)) { $this->setNuaPayAccountId($data['nuaPayAccountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/OnlineueberweisenSettings.php b/src/Model/OnlineueberweisenSettings.php index f3f53a9ea..b4622fd45 100644 --- a/src/Model/OnlineueberweisenSettings.php +++ b/src/Model/OnlineueberweisenSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OnlineueberweisenSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('payformCode', $data)) { $this->setPayformCode($data['payformCode']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('extraStep', $data)) { $this->setExtraStep($data['extraStep']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPayformCode(): ?string diff --git a/src/Model/Orbital.php b/src/Model/Orbital.php index b338059e5..0bc83605b 100644 --- a/src/Model/Orbital.php +++ b/src/Model/Orbital.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Orbital extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Orbital', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): OrbitalCredentials diff --git a/src/Model/OrbitalCredentials.php b/src/Model/OrbitalCredentials.php index 9ea48b9f6..f964f227b 100644 --- a/src/Model/OrbitalCredentials.php +++ b/src/Model/OrbitalCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrbitalCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/OrbitalSettings.php b/src/Model/OrbitalSettings.php index 2da2d9104..603cacc01 100644 --- a/src/Model/OrbitalSettings.php +++ b/src/Model/OrbitalSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrbitalSettings implements JsonSerializable { + use HasMetadata; + public const TARGET_CURRENCY_USD = 'USD'; public const TARGET_CURRENCY_EUR = 'EUR'; @@ -32,7 +35,7 @@ class OrbitalSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('targetCurrency', $data)) { $this->setTargetCurrency($data['targetCurrency']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('productImageUrl', $data)) { $this->setProductImageUrl($data['productImageUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTargetCurrency(): ?string diff --git a/src/Model/Order.php b/src/Model/Order.php index d471eed94..20f5a75bf 100644 --- a/src/Model/Order.php +++ b/src/Model/Order.php @@ -102,6 +102,8 @@ public function setCustomFields(null|array $customFields): static; public function getRevision(): ?int; + public function getIsNew(): ?bool; + public function getCreatedTime(): ?DateTimeImmutable; public function getUpdatedTime(): ?DateTimeImmutable; diff --git a/src/Model/OrderCancellation.php b/src/Model/OrderCancellation.php index 1957f08a0..84a51d26e 100644 --- a/src/Model/OrderCancellation.php +++ b/src/Model/OrderCancellation.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderCancellation implements JsonSerializable { + use HasMetadata; + public const CANCELED_BY_MERCHANT = 'merchant'; public const CANCELED_BY_CUSTOMER = 'customer'; @@ -62,7 +65,7 @@ class OrderCancellation implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -115,11 +118,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrderCancellationLineItemSubtotal.php b/src/Model/OrderCancellationLineItemSubtotal.php index a992f1686..20264eb70 100644 --- a/src/Model/OrderCancellationLineItemSubtotal.php +++ b/src/Model/OrderCancellationLineItemSubtotal.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderCancellationLineItemSubtotal implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/OrderCancellationLineItems.php b/src/Model/OrderCancellationLineItems.php index ad0a71955..e4bbb8c20 100644 --- a/src/Model/OrderCancellationLineItems.php +++ b/src/Model/OrderCancellationLineItems.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderCancellationLineItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/OrderChange.php b/src/Model/OrderChange.php index a12db33c9..5e9466917 100644 --- a/src/Model/OrderChange.php +++ b/src/Model/OrderChange.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderChange implements JsonSerializable { + use HasMetadata; + public const RENEWAL_POLICY_RESET = 'reset'; public const RENEWAL_POLICY_RETAIN = 'retain'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('items', $data)) { $this->setItems($data['items']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('ignoreRecurring', $data)) { $this->setIgnoreRecurring($data['ignoreRecurring']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/OrderChangeItems.php b/src/Model/OrderChangeItems.php index 40c9fbf88..07cc9d1b0 100644 --- a/src/Model/OrderChangeItems.php +++ b/src/Model/OrderChangeItems.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderChangeItems implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('plan', $data)) { $this->setPlan($data['plan']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('usageLimits', $data)) { $this->setUsageLimits($data['usageLimits']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlan(): ConfigurablePlan diff --git a/src/Model/OrderFactory.php b/src/Model/OrderFactory.php index 9858aeb45..6876c5516 100644 --- a/src/Model/OrderFactory.php +++ b/src/Model/OrderFactory.php @@ -18,11 +18,11 @@ class OrderFactory { - public static function from(array $data = []): Order + public static function from(array $data = [], array $metadata = []): Order { return match ($data['type']) { - 'one-time' => OneTimeOrder::from($data), - 'recurring' => RecurringOrder::from($data), + 'one-time' => OneTimeOrder::from($data, $metadata), + 'recurring' => RecurringOrder::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/OrderItemUpdate.php b/src/Model/OrderItemUpdate.php index 649d8d431..ad98830fb 100644 --- a/src/Model/OrderItemUpdate.php +++ b/src/Model/OrderItemUpdate.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderItemUpdate implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quantityFilled', $data)) { $this->setQuantityFilled($data['quantityFilled']); @@ -28,19 +31,23 @@ public function __construct(array $data = []) if (array_key_exists('excludeFromMrr', $data)) { $this->setExcludeFromMrr($data['excludeFromMrr']); } + if (array_key_exists('plan', $data)) { + $this->setPlan($data['plan']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } - public function getQuantityFilled(): float + public function getQuantityFilled(): ?float { - return $this->fields['quantityFilled']; + return $this->fields['quantityFilled'] ?? null; } - public function setQuantityFilled(float|string $quantityFilled): static + public function setQuantityFilled(null|float|string $quantityFilled): static { if (is_string($quantityFilled)) { $quantityFilled = (float) $quantityFilled; @@ -63,6 +70,22 @@ public function setExcludeFromMrr(null|bool $excludeFromMrr): static return $this; } + public function getPlan(): ?OrderItemUpdatePlan + { + return $this->fields['plan'] ?? null; + } + + public function setPlan(null|OrderItemUpdatePlan|array $plan): static + { + if ($plan !== null && !($plan instanceof OrderItemUpdatePlan)) { + $plan = OrderItemUpdatePlan::from($plan); + } + + $this->fields['plan'] = $plan; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -72,6 +95,9 @@ public function jsonSerialize(): array if (array_key_exists('excludeFromMrr', $this->fields)) { $data['excludeFromMrr'] = $this->fields['excludeFromMrr']; } + if (array_key_exists('plan', $this->fields)) { + $data['plan'] = $this->fields['plan']?->jsonSerialize(); + } return $data; } diff --git a/src/Model/OrderItemUpdatePlan.php b/src/Model/OrderItemUpdatePlan.php new file mode 100644 index 000000000..9322c4e0a --- /dev/null +++ b/src/Model/OrderItemUpdatePlan.php @@ -0,0 +1,66 @@ +setProductOptions($data['productOptions']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + /** + * @return null|array + */ + public function getProductOptions(): ?array + { + return $this->fields['productOptions'] ?? null; + } + + /** + * @param null|array $productOptions + */ + public function setProductOptions(null|array $productOptions): static + { + $this->fields['productOptions'] = $productOptions; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('productOptions', $this->fields)) { + $data['productOptions'] = $this->fields['productOptions']; + } + + return $data; + } +} diff --git a/src/Model/OrderPause.php b/src/Model/OrderPause.php index a092a3373..80ab6d4d1 100644 --- a/src/Model/OrderPause.php +++ b/src/Model/OrderPause.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderPause implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_ONGOING = 'ongoing'; @@ -34,7 +37,7 @@ class OrderPause implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -69,11 +72,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrderPreview.php b/src/Model/OrderPreview.php index 0f279aecb..059d16fa0 100644 --- a/src/Model/OrderPreview.php +++ b/src/Model/OrderPreview.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderPreview implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -67,14 +70,21 @@ public function __construct(array $data = []) if (array_key_exists('total', $data)) { $this->setTotal($data['total']); } + if (array_key_exists('initialAmounts', $data)) { + $this->setInitialAmounts($data['initialAmounts']); + } + if (array_key_exists('recurringAmounts', $data)) { + $this->setRecurringAmounts($data['recurringAmounts']); + } if (array_key_exists('shipping', $data)) { $this->setShipping($data['shipping']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string @@ -224,6 +234,38 @@ public function getTotal(): ?float return $this->fields['total'] ?? null; } + public function getInitialAmounts(): ?OrderPreviewInitialAmounts + { + return $this->fields['initialAmounts'] ?? null; + } + + public function setInitialAmounts(null|OrderPreviewInitialAmounts|array $initialAmounts): static + { + if ($initialAmounts !== null && !($initialAmounts instanceof OrderPreviewInitialAmounts)) { + $initialAmounts = OrderPreviewInitialAmounts::from($initialAmounts); + } + + $this->fields['initialAmounts'] = $initialAmounts; + + return $this; + } + + public function getRecurringAmounts(): ?OrderPreviewRecurringAmounts + { + return $this->fields['recurringAmounts'] ?? null; + } + + public function setRecurringAmounts(null|OrderPreviewRecurringAmounts|array $recurringAmounts): static + { + if ($recurringAmounts !== null && !($recurringAmounts instanceof OrderPreviewRecurringAmounts)) { + $recurringAmounts = OrderPreviewRecurringAmounts::from($recurringAmounts); + } + + $this->fields['recurringAmounts'] = $recurringAmounts; + + return $this; + } + public function getShipping(): ?Shipping { return $this->fields['shipping'] ?? null; @@ -311,6 +353,12 @@ public function jsonSerialize(): array if (array_key_exists('total', $this->fields)) { $data['total'] = $this->fields['total']; } + if (array_key_exists('initialAmounts', $this->fields)) { + $data['initialAmounts'] = $this->fields['initialAmounts']?->jsonSerialize(); + } + if (array_key_exists('recurringAmounts', $this->fields)) { + $data['recurringAmounts'] = $this->fields['recurringAmounts']?->jsonSerialize(); + } if (array_key_exists('shipping', $this->fields)) { $data['shipping'] = $this->fields['shipping']?->jsonSerialize(); } diff --git a/src/Model/OrderPreviewDiscounts.php b/src/Model/OrderPreviewDiscounts.php index 0384c2d17..c2ce9068a 100644 --- a/src/Model/OrderPreviewDiscounts.php +++ b/src/Model/OrderPreviewDiscounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderPreviewDiscounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('couponId', $data)) { $this->setCouponId($data['couponId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('description', $data)) { $this->setDescription($data['description']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCouponId(): ?string diff --git a/src/Model/OrderPreviewInitialAmounts.php b/src/Model/OrderPreviewInitialAmounts.php new file mode 100644 index 000000000..75c93e0ef --- /dev/null +++ b/src/Model/OrderPreviewInitialAmounts.php @@ -0,0 +1,152 @@ +setAmount($data['amount']); + } + if (array_key_exists('subtotalAmount', $data)) { + $this->setSubtotalAmount($data['subtotalAmount']); + } + if (array_key_exists('discountAmount', $data)) { + $this->setDiscountAmount($data['discountAmount']); + } + if (array_key_exists('shippingAmount', $data)) { + $this->setShippingAmount($data['shippingAmount']); + } + if (array_key_exists('taxAmount', $data)) { + $this->setTaxAmount($data['taxAmount']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getAmount(): ?float + { + return $this->fields['amount'] ?? null; + } + + public function setAmount(null|float|string $amount): static + { + if (is_string($amount)) { + $amount = (float) $amount; + } + + $this->fields['amount'] = $amount; + + return $this; + } + + public function getSubtotalAmount(): ?float + { + return $this->fields['subtotalAmount'] ?? null; + } + + public function setSubtotalAmount(null|float|string $subtotalAmount): static + { + if (is_string($subtotalAmount)) { + $subtotalAmount = (float) $subtotalAmount; + } + + $this->fields['subtotalAmount'] = $subtotalAmount; + + return $this; + } + + public function getDiscountAmount(): ?float + { + return $this->fields['discountAmount'] ?? null; + } + + public function setDiscountAmount(null|float|string $discountAmount): static + { + if (is_string($discountAmount)) { + $discountAmount = (float) $discountAmount; + } + + $this->fields['discountAmount'] = $discountAmount; + + return $this; + } + + public function getShippingAmount(): ?float + { + return $this->fields['shippingAmount'] ?? null; + } + + public function setShippingAmount(null|float|string $shippingAmount): static + { + if (is_string($shippingAmount)) { + $shippingAmount = (float) $shippingAmount; + } + + $this->fields['shippingAmount'] = $shippingAmount; + + return $this; + } + + public function getTaxAmount(): ?float + { + return $this->fields['taxAmount'] ?? null; + } + + public function setTaxAmount(null|float|string $taxAmount): static + { + if (is_string($taxAmount)) { + $taxAmount = (float) $taxAmount; + } + + $this->fields['taxAmount'] = $taxAmount; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('amount', $this->fields)) { + $data['amount'] = $this->fields['amount']; + } + if (array_key_exists('subtotalAmount', $this->fields)) { + $data['subtotalAmount'] = $this->fields['subtotalAmount']; + } + if (array_key_exists('discountAmount', $this->fields)) { + $data['discountAmount'] = $this->fields['discountAmount']; + } + if (array_key_exists('shippingAmount', $this->fields)) { + $data['shippingAmount'] = $this->fields['shippingAmount']; + } + if (array_key_exists('taxAmount', $this->fields)) { + $data['taxAmount'] = $this->fields['taxAmount']; + } + + return $data; + } +} diff --git a/src/Model/OrderPreviewItems.php b/src/Model/OrderPreviewItems.php index be61815d7..387422b15 100644 --- a/src/Model/OrderPreviewItems.php +++ b/src/Model/OrderPreviewItems.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderPreviewItems implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlanId(): string diff --git a/src/Model/OrderPreviewLineItems.php b/src/Model/OrderPreviewLineItems.php index c0da9a567..a791e7e14 100644 --- a/src/Model/OrderPreviewLineItems.php +++ b/src/Model/OrderPreviewLineItems.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderPreviewLineItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('productId', $data)) { $this->setProductId($data['productId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): ?string diff --git a/src/Model/OrderPreviewRecurringAmounts.php b/src/Model/OrderPreviewRecurringAmounts.php new file mode 100644 index 000000000..af092aa2e --- /dev/null +++ b/src/Model/OrderPreviewRecurringAmounts.php @@ -0,0 +1,152 @@ +setAmount($data['amount']); + } + if (array_key_exists('subtotalAmount', $data)) { + $this->setSubtotalAmount($data['subtotalAmount']); + } + if (array_key_exists('discountAmount', $data)) { + $this->setDiscountAmount($data['discountAmount']); + } + if (array_key_exists('shippingAmount', $data)) { + $this->setShippingAmount($data['shippingAmount']); + } + if (array_key_exists('taxAmount', $data)) { + $this->setTaxAmount($data['taxAmount']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getAmount(): ?float + { + return $this->fields['amount'] ?? null; + } + + public function setAmount(null|float|string $amount): static + { + if (is_string($amount)) { + $amount = (float) $amount; + } + + $this->fields['amount'] = $amount; + + return $this; + } + + public function getSubtotalAmount(): ?float + { + return $this->fields['subtotalAmount'] ?? null; + } + + public function setSubtotalAmount(null|float|string $subtotalAmount): static + { + if (is_string($subtotalAmount)) { + $subtotalAmount = (float) $subtotalAmount; + } + + $this->fields['subtotalAmount'] = $subtotalAmount; + + return $this; + } + + public function getDiscountAmount(): ?float + { + return $this->fields['discountAmount'] ?? null; + } + + public function setDiscountAmount(null|float|string $discountAmount): static + { + if (is_string($discountAmount)) { + $discountAmount = (float) $discountAmount; + } + + $this->fields['discountAmount'] = $discountAmount; + + return $this; + } + + public function getShippingAmount(): ?float + { + return $this->fields['shippingAmount'] ?? null; + } + + public function setShippingAmount(null|float|string $shippingAmount): static + { + if (is_string($shippingAmount)) { + $shippingAmount = (float) $shippingAmount; + } + + $this->fields['shippingAmount'] = $shippingAmount; + + return $this; + } + + public function getTaxAmount(): ?float + { + return $this->fields['taxAmount'] ?? null; + } + + public function setTaxAmount(null|float|string $taxAmount): static + { + if (is_string($taxAmount)) { + $taxAmount = (float) $taxAmount; + } + + $this->fields['taxAmount'] = $taxAmount; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('amount', $this->fields)) { + $data['amount'] = $this->fields['amount']; + } + if (array_key_exists('subtotalAmount', $this->fields)) { + $data['subtotalAmount'] = $this->fields['subtotalAmount']; + } + if (array_key_exists('discountAmount', $this->fields)) { + $data['discountAmount'] = $this->fields['discountAmount']; + } + if (array_key_exists('shippingAmount', $this->fields)) { + $data['shippingAmount'] = $this->fields['shippingAmount']; + } + if (array_key_exists('taxAmount', $this->fields)) { + $data['taxAmount'] = $this->fields['taxAmount']; + } + + return $data; + } +} diff --git a/src/Model/OrderPreviewTaxes.php b/src/Model/OrderPreviewTaxes.php index a6ad98086..3e148ffe3 100644 --- a/src/Model/OrderPreviewTaxes.php +++ b/src/Model/OrderPreviewTaxes.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderPreviewTaxes implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('description', $data)) { $this->setDescription($data['description']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/OrderReactivation.php b/src/Model/OrderReactivation.php index 5ca348576..346d720bb 100644 --- a/src/Model/OrderReactivation.php +++ b/src/Model/OrderReactivation.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderReactivation implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -54,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrderTimeline.php b/src/Model/OrderTimeline.php index 13dc57213..f17fb7d74 100644 --- a/src/Model/OrderTimeline.php +++ b/src/Model/OrderTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_COUPON_APPLIED = 'coupon-applied'; public const TYPE_EMAIL_MESSAGE_SENT = 'email-message-sent'; @@ -114,7 +117,7 @@ class OrderTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -137,11 +140,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrderUpcomingInvoice.php b/src/Model/OrderUpcomingInvoice.php index acfd74e2d..834e357a1 100644 --- a/src/Model/OrderUpcomingInvoice.php +++ b/src/Model/OrderUpcomingInvoice.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderUpcomingInvoice implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -72,11 +75,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrderUpcomingInvoiceDiscounts.php b/src/Model/OrderUpcomingInvoiceDiscounts.php index c71ce0650..19b5b3ed8 100644 --- a/src/Model/OrderUpcomingInvoiceDiscounts.php +++ b/src/Model/OrderUpcomingInvoiceDiscounts.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderUpcomingInvoiceDiscounts implements JsonSerializable { + use HasMetadata; + public const CONTEXT_ITEMS = 'items'; public const CONTEXT_SHIPPING = 'shipping'; @@ -26,7 +29,7 @@ class OrderUpcomingInvoiceDiscounts implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('couponId', $data)) { $this->setCouponId($data['couponId']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('context', $data)) { $this->setContext($data['context']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCouponId(): ?string diff --git a/src/Model/OrderUpcomingInvoiceItem.php b/src/Model/OrderUpcomingInvoiceItem.php index 3b7bad564..911c4c3c4 100644 --- a/src/Model/OrderUpcomingInvoiceItem.php +++ b/src/Model/OrderUpcomingInvoiceItem.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrderUpcomingInvoiceItem implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -72,11 +75,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/Organization.php b/src/Model/Organization.php index ba089c2d1..68458339a 100644 --- a/src/Model/Organization.php +++ b/src/Model/Organization.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Organization implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -87,11 +90,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrganizationExport.php b/src/Model/OrganizationExport.php index b2e1e5084..c04f5e224 100644 --- a/src/Model/OrganizationExport.php +++ b/src/Model/OrganizationExport.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationExport implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_PROCESSING = 'processing'; @@ -34,7 +37,7 @@ class OrganizationExport implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -63,11 +66,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/OrganizationExportResources.php b/src/Model/OrganizationExportResources.php index 6ef76a476..4f7546d13 100644 --- a/src/Model/OrganizationExportResources.php +++ b/src/Model/OrganizationExportResources.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationExportResources implements JsonSerializable { + use HasMetadata; + public const TYPE_CUSTOMERS = 'customers'; public const TYPE_USERS = 'users'; @@ -54,7 +57,7 @@ class OrganizationExportResources implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('recordCount', $data)) { $this->setRecordCount($data['recordCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): ?string diff --git a/src/Model/OrganizationFeatures.php b/src/Model/OrganizationFeatures.php index 079c62f42..292007537 100644 --- a/src/Model/OrganizationFeatures.php +++ b/src/Model/OrganizationFeatures.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationFeatures implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('description', $data)) { $this->setDescription($data['description']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/OrganizationQuestionnaire.php b/src/Model/OrganizationQuestionnaire.php index 48107d124..8a2d6fa68 100644 --- a/src/Model/OrganizationQuestionnaire.php +++ b/src/Model/OrganizationQuestionnaire.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationQuestionnaire implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('role', $data)) { $this->setRole($data['role']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('launchTiming', $data)) { $this->setLaunchTiming($data['launchTiming']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRole(): ?string diff --git a/src/Model/OrganizationSettings.php b/src/Model/OrganizationSettings.php index 064431efe..5d225d965 100644 --- a/src/Model/OrganizationSettings.php +++ b/src/Model/OrganizationSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('defaultTaxCalculator', $data)) { $this->setDefaultTaxCalculator($data['defaultTaxCalculator']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('notifications', $data)) { $this->setNotifications($data['notifications']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDefaultTaxCalculator(): ?OrganizationSettingsDefaultTaxCalculator diff --git a/src/Model/OrganizationSettingsBilling.php b/src/Model/OrganizationSettingsBilling.php index 9202bf3ce..6ef445292 100644 --- a/src/Model/OrganizationSettingsBilling.php +++ b/src/Model/OrganizationSettingsBilling.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationSettingsBilling implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('pendingOrderTtl', $data)) { $this->setPendingOrderTtl($data['pendingOrderTtl']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('subtractOneTimeDiscountsFromMrr', $data)) { $this->setSubtractOneTimeDiscountsFromMrr($data['subtractOneTimeDiscountsFromMrr']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPendingOrderTtl(): ?string diff --git a/src/Model/OrganizationSettingsDefaultTaxCalculator.php b/src/Model/OrganizationSettingsDefaultTaxCalculator.php index 03c83c262..51b7f2ca8 100644 --- a/src/Model/OrganizationSettingsDefaultTaxCalculator.php +++ b/src/Model/OrganizationSettingsDefaultTaxCalculator.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationSettingsDefaultTaxCalculator implements JsonSerializable { + use HasMetadata; + public const TYPE_TAXJAR = 'taxjar'; public const TYPE_AVALARA = 'avalara'; @@ -26,7 +29,7 @@ class OrganizationSettingsDefaultTaxCalculator implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('rate', $data)) { $this->setRate($data['rate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/OrganizationSettingsNotifications.php b/src/Model/OrganizationSettingsNotifications.php index debc204e3..58c3c7ae7 100644 --- a/src/Model/OrganizationSettingsNotifications.php +++ b/src/Model/OrganizationSettingsNotifications.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationSettingsNotifications implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('notifyOnUserAccessChanges', $data)) { $this->setNotifyOnUserAccessChanges($data['notifyOnUserAccessChanges']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('notificationEmailAddresses', $data)) { $this->setNotificationEmailAddresses($data['notificationEmailAddresses']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getNotifyOnUserAccessChanges(): ?bool diff --git a/src/Model/OrganizationSettingsTaxLocations.php b/src/Model/OrganizationSettingsTaxLocations.php index fe11898ce..ebd9cc3d7 100644 --- a/src/Model/OrganizationSettingsTaxLocations.php +++ b/src/Model/OrganizationSettingsTaxLocations.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OrganizationSettingsTaxLocations implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('address', $data)) { $this->setAddress($data['address']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('postalCode', $data)) { $this->setPostalCode($data['postalCode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAddress(): ?string diff --git a/src/Model/OriginalPlan.php b/src/Model/OriginalPlan.php index 16591a9b0..a592b7177 100644 --- a/src/Model/OriginalPlan.php +++ b/src/Model/OriginalPlan.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class OriginalPlan implements ConfigurablePlan { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): string diff --git a/src/Model/OwnerApplicationInstance.php b/src/Model/OwnerApplicationInstance.php index c3bea443f..6598a81f0 100644 --- a/src/Model/OwnerApplicationInstance.php +++ b/src/Model/OwnerApplicationInstance.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class OwnerApplicationInstance implements JsonSerializable { + use HasMetadata; + public const STATUS_ENABLING = 'enabling'; public const STATUS_ENABLED = 'enabled'; @@ -30,7 +33,7 @@ class OwnerApplicationInstance implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('token', $data)) { $this->setToken($data['token']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string diff --git a/src/Model/PPRO.php b/src/Model/PPRO.php index 5ccc245c0..394c28e54 100644 --- a/src/Model/PPRO.php +++ b/src/Model/PPRO.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PPRO extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PPRO', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PPROCredentials diff --git a/src/Model/PPROCredentials.php b/src/Model/PPROCredentials.php index c67580f4b..bd0d45286 100644 --- a/src/Model/PPROCredentials.php +++ b/src/Model/PPROCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PPROCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('login', $data)) { $this->setLogin($data['login']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('sharedSecret', $data)) { $this->setSharedSecret($data['sharedSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLogin(): string diff --git a/src/Model/PSiGate.php b/src/Model/PSiGate.php index 0b5a6ba3c..74f7b835d 100644 --- a/src/Model/PSiGate.php +++ b/src/Model/PSiGate.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PSiGate extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PSiGate', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PSiGateCredentials diff --git a/src/Model/PSiGateCredentials.php b/src/Model/PSiGateCredentials.php index 37b834ef8..dd13c7fca 100644 --- a/src/Model/PSiGateCredentials.php +++ b/src/Model/PSiGateCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PSiGateCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('disputePassword', $data)) { $this->setDisputePassword($data['disputePassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/Pagadito.php b/src/Model/Pagadito.php index e86f4555c..64deb5c51 100644 --- a/src/Model/Pagadito.php +++ b/src/Model/Pagadito.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Pagadito extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Pagadito', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PagaditoCredentials diff --git a/src/Model/PagaditoCredentials.php b/src/Model/PagaditoCredentials.php index 1f4ba2d04..c04d937ce 100644 --- a/src/Model/PagaditoCredentials.php +++ b/src/Model/PagaditoCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PagaditoCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('uid', $data)) { $this->setUid($data['uid']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('wsk', $data)) { $this->setWsk($data['wsk']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUid(): string diff --git a/src/Model/PagaditoSettings.php b/src/Model/PagaditoSettings.php index 09f7b2898..afd007148 100644 --- a/src/Model/PagaditoSettings.php +++ b/src/Model/PagaditoSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PagaditoSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useRecurringApi', $data)) { $this->setUseRecurringApi($data['useRecurringApi']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseRecurringApi(): ?bool diff --git a/src/Model/Pagsmile.php b/src/Model/Pagsmile.php index b62ba89ee..3bad1fc2e 100644 --- a/src/Model/Pagsmile.php +++ b/src/Model/Pagsmile.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Pagsmile extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Pagsmile', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PagsmileCredentials diff --git a/src/Model/PagsmileCredentials.php b/src/Model/PagsmileCredentials.php index 812280c24..9dcd47339 100644 --- a/src/Model/PagsmileCredentials.php +++ b/src/Model/PagsmileCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PagsmileCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecretKey', $data)) { $this->setApiSecretKey($data['apiSecretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/PagsmileSettings.php b/src/Model/PagsmileSettings.php index c40635eb7..2ef8842eb 100644 --- a/src/Model/PagsmileSettings.php +++ b/src/Model/PagsmileSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PagsmileSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('useTradePay', $data)) { $this->setUseTradePay($data['useTradePay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUseTradePay(): ?bool diff --git a/src/Model/Panamerican.php b/src/Model/Panamerican.php index 23a9259a3..20a5ee7a0 100644 --- a/src/Model/Panamerican.php +++ b/src/Model/Panamerican.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Panamerican extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Panamerican', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PanamericanCredentials diff --git a/src/Model/PanamericanCredentials.php b/src/Model/PanamericanCredentials.php index 8c0905ebe..d0a2584db 100644 --- a/src/Model/PanamericanCredentials.php +++ b/src/Model/PanamericanCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PanamericanCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('key', $data)) { $this->setKey($data['key']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getKey(): string diff --git a/src/Model/PanamericanSettings.php b/src/Model/PanamericanSettings.php index a60b9cc15..5f5c12daf 100644 --- a/src/Model/PanamericanSettings.php +++ b/src/Model/PanamericanSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PanamericanSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('extraStep', $data)) { $this->setExtraStep($data['extraStep']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('convertToAscii', $data)) { $this->setConvertToAscii($data['convertToAscii']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExtraStep(): bool diff --git a/src/Model/PandaGateway.php b/src/Model/PandaGateway.php index f391d3530..4a8dbf2a5 100644 --- a/src/Model/PandaGateway.php +++ b/src/Model/PandaGateway.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PandaGateway extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PandaGateway', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PandaGatewayCredentials diff --git a/src/Model/PandaGatewayCredentials.php b/src/Model/PandaGatewayCredentials.php index 6ff73c6ad..c3d58db81 100644 --- a/src/Model/PandaGatewayCredentials.php +++ b/src/Model/PandaGatewayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PandaGatewayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantCode', $data)) { $this->setMerchantCode($data['merchantCode']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('signKey', $data)) { $this->setSignKey($data['signKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantCode(): string diff --git a/src/Model/ParamountCommerce.php b/src/Model/ParamountCommerce.php index bafad7f9a..fd2b7c791 100644 --- a/src/Model/ParamountCommerce.php +++ b/src/Model/ParamountCommerce.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ParamountCommerce extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ParamountCommerce', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ParamountCommerceCredentials diff --git a/src/Model/ParamountCommerceCredentials.php b/src/Model/ParamountCommerceCredentials.php index 651ba8834..fc28a9452 100644 --- a/src/Model/ParamountCommerceCredentials.php +++ b/src/Model/ParamountCommerceCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ParamountCommerceCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('clientSecret', $data)) { $this->setClientSecret($data['clientSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/ParamountCommerceSettings.php b/src/Model/ParamountCommerceSettings.php index ffcc1e02e..9bad7a656 100644 --- a/src/Model/ParamountCommerceSettings.php +++ b/src/Model/ParamountCommerceSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ParamountCommerceSettings implements JsonSerializable { + use HasMetadata; + public const MERCHANT_TRANSACTION_TYPE_POKER = 'POKER'; public const MERCHANT_TRANSACTION_TYPE_CASINO = 'CASINO'; @@ -32,7 +35,7 @@ class ParamountCommerceSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantSubId', $data)) { $this->setMerchantSubId($data['merchantSubId']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('useDirectDeposit', $data)) { $this->setUseDirectDeposit($data['useDirectDeposit']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantSubId(): string diff --git a/src/Model/ParamountEft.php b/src/Model/ParamountEft.php index c98e35b1d..de831a11f 100644 --- a/src/Model/ParamountEft.php +++ b/src/Model/ParamountEft.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ParamountEft extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ParamountEft', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ParamountEftCredentials diff --git a/src/Model/ParamountEftCredentials.php b/src/Model/ParamountEftCredentials.php index ac0abb14d..93cec69dc 100644 --- a/src/Model/ParamountEftCredentials.php +++ b/src/Model/ParamountEftCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ParamountEftCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchant_id', $data)) { $this->setMerchantId($data['merchant_id']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('payee', $data)) { $this->setPayee($data['payee']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/ParamountInterac.php b/src/Model/ParamountInterac.php index 910bb2c57..d35d27ed6 100644 --- a/src/Model/ParamountInterac.php +++ b/src/Model/ParamountInterac.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ParamountInterac extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ParamountInterac', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ParamountInteracCredentials diff --git a/src/Model/ParamountInteracCredentials.php b/src/Model/ParamountInteracCredentials.php index 3530f8d5e..425b25e41 100644 --- a/src/Model/ParamountInteracCredentials.php +++ b/src/Model/ParamountInteracCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ParamountInteracCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/ParamountInteracSettings.php b/src/Model/ParamountInteracSettings.php index 390a8d402..21146deda 100644 --- a/src/Model/ParamountInteracSettings.php +++ b/src/Model/ParamountInteracSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ParamountInteracSettings implements JsonSerializable { + use HasMetadata; + public const PAYMENT_FLOW_REQUEST_MONEY = 'request_money'; public const PAYMENT_FLOW_MANUAL = 'manual'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sandbox', $data)) { $this->setSandbox($data['sandbox']); @@ -44,11 +47,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentFlow', $data)) { $this->setPaymentFlow($data['paymentFlow']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSandbox(): ?bool diff --git a/src/Model/PatchCreditMemo.php b/src/Model/PatchCreditMemo.php index 591a12aaa..2d58d9634 100644 --- a/src/Model/PatchCreditMemo.php +++ b/src/Model/PatchCreditMemo.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchCreditMemo implements JsonSerializable { + use HasMetadata; + public const REASON_RETURN = 'return'; public const REASON_PRODUCT_UNSATISFACTORY = 'product-unsatisfactory'; @@ -38,7 +41,7 @@ class PatchCreditMemo implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('allocations', $data)) { $this->setAllocations($data['allocations']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('shippingAmount', $data)) { $this->setShippingAmount($data['shippingAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAllocations(): ?PatchCreditMemoAllocations diff --git a/src/Model/PatchCreditMemoAllocations.php b/src/Model/PatchCreditMemoAllocations.php index acd632b0e..648bbb3e5 100644 --- a/src/Model/PatchCreditMemoAllocations.php +++ b/src/Model/PatchCreditMemoAllocations.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchCreditMemoAllocations implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactions', $data)) { $this->setTransactions($data['transactions']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('invoices', $data)) { $this->setInvoices($data['invoices']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PatchCreditMemoAllocationsInvoices.php b/src/Model/PatchCreditMemoAllocationsInvoices.php index 9f68f5191..2370701be 100644 --- a/src/Model/PatchCreditMemoAllocationsInvoices.php +++ b/src/Model/PatchCreditMemoAllocationsInvoices.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchCreditMemoAllocationsInvoices implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('invoiceId', $data)) { $this->setInvoiceId($data['invoiceId']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getInvoiceId(): ?string diff --git a/src/Model/PatchCreditMemoAllocationsTransactions.php b/src/Model/PatchCreditMemoAllocationsTransactions.php index 244bc363f..ce1cf7a1b 100644 --- a/src/Model/PatchCreditMemoAllocationsTransactions.php +++ b/src/Model/PatchCreditMemoAllocationsTransactions.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchCreditMemoAllocationsTransactions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): ?string diff --git a/src/Model/PatchCreditMemoItems.php b/src/Model/PatchCreditMemoItems.php index fc3dadd7a..49953dadd 100644 --- a/src/Model/PatchCreditMemoItems.php +++ b/src/Model/PatchCreditMemoItems.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchCreditMemoItems implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('tax', $data)) { $this->setTax($data['tax']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/PatchEmailMessageRequest.php b/src/Model/PatchEmailMessageRequest.php index 7c7eafb72..fbde38355 100644 --- a/src/Model/PatchEmailMessageRequest.php +++ b/src/Model/PatchEmailMessageRequest.php @@ -15,23 +15,27 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchEmailMessageRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_OUTBOX = 'outbox'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): string diff --git a/src/Model/PatchFee.php b/src/Model/PatchFee.php index ee73d1d2b..aeb3bda54 100644 --- a/src/Model/PatchFee.php +++ b/src/Model/PatchFee.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchFee implements JsonSerializable { + use HasMetadata; + public const TYPE_BUY = 'buy'; public const TYPE_SELL = 'sell'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('settlementSettings', $data)) { $this->setSettlementSettings($data['settlementSettings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): ?string diff --git a/src/Model/PatchKycRequestRequest.php b/src/Model/PatchKycRequestRequest.php index 2a4059a8b..971413a62 100644 --- a/src/Model/PatchKycRequestRequest.php +++ b/src/Model/PatchKycRequestRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchKycRequestRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_GATHERING = 'gathering'; public const STATUS_ATTEMPTED = 'attempted'; @@ -44,7 +47,7 @@ class PatchKycRequestRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerId', $data)) { $this->setCustomerId($data['customerId']); @@ -85,11 +88,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomerId(): string diff --git a/src/Model/PatchOrderCancellationRequest.php b/src/Model/PatchOrderCancellationRequest.php index 1207c7aee..31c12ff99 100644 --- a/src/Model/PatchOrderCancellationRequest.php +++ b/src/Model/PatchOrderCancellationRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchOrderCancellationRequest implements JsonSerializable { + use HasMetadata; + public const CANCELED_BY_MERCHANT = 'merchant'; public const CANCELED_BY_CUSTOMER = 'customer'; @@ -62,7 +65,7 @@ class PatchOrderCancellationRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('canceledBy', $data)) { $this->setCanceledBy($data['canceledBy']); @@ -115,11 +118,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCanceledBy(): ?string diff --git a/src/Model/PatchOrganizationRequest.php b/src/Model/PatchOrganizationRequest.php index 6cef8c0f5..83033e3ef 100644 --- a/src/Model/PatchOrganizationRequest.php +++ b/src/Model/PatchOrganizationRequest.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchOrganizationRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -87,11 +90,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/PatchPayoutRequestAllocationRequest.php b/src/Model/PatchPayoutRequestAllocationRequest.php index ec4d958da..6b1f611d0 100644 --- a/src/Model/PatchPayoutRequestAllocationRequest.php +++ b/src/Model/PatchPayoutRequestAllocationRequest.php @@ -15,25 +15,29 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchPayoutRequestAllocationRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_PROCESSING = 'processing'; public const STATUS_CANCELED = 'canceled'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): string diff --git a/src/Model/PatchPayoutRequestRequest.php b/src/Model/PatchPayoutRequestRequest.php index 2087e5f9c..65cea00cf 100644 --- a/src/Model/PatchPayoutRequestRequest.php +++ b/src/Model/PatchPayoutRequestRequest.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchPayoutRequestRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; - public const STATUS_FLUSHED = 'flushed'; + public const STATUS_READY = 'ready'; public const STATUS_APPROVED = 'approved'; @@ -34,7 +37,7 @@ class PatchPayoutRequestRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -45,11 +48,18 @@ public function __construct(array $data = []) if (array_key_exists('blocked', $data)) { $this->setBlocked($data['blocked']); } + if (array_key_exists('blockReason', $data)) { + $this->setBlockReason($data['blockReason']); + } + if (array_key_exists('blockDescription', $data)) { + $this->setBlockDescription($data['blockDescription']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string @@ -88,6 +98,34 @@ public function setBlocked(null|bool $blocked): static return $this; } + public function getBlockReason(): ?PayoutRequestBlockReason + { + return $this->fields['blockReason'] ?? null; + } + + public function setBlockReason(null|PayoutRequestBlockReason|array $blockReason): static + { + if ($blockReason !== null && !($blockReason instanceof PayoutRequestBlockReason)) { + $blockReason = PayoutRequestBlockReason::from($blockReason); + } + + $this->fields['blockReason'] = $blockReason; + + return $this; + } + + public function getBlockDescription(): ?string + { + return $this->fields['blockDescription'] ?? null; + } + + public function setBlockDescription(null|string $blockDescription): static + { + $this->fields['blockDescription'] = $blockDescription; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -100,6 +138,12 @@ public function jsonSerialize(): array if (array_key_exists('blocked', $this->fields)) { $data['blocked'] = $this->fields['blocked']; } + if (array_key_exists('blockReason', $this->fields)) { + $data['blockReason'] = $this->fields['blockReason']?->jsonSerialize(); + } + if (array_key_exists('blockDescription', $this->fields)) { + $data['blockDescription'] = $this->fields['blockDescription']; + } return $data; } diff --git a/src/Model/PatchPlaidCredential.php b/src/Model/PatchPlaidCredential.php index 5bcd524c0..c581228c2 100644 --- a/src/Model/PatchPlaidCredential.php +++ b/src/Model/PatchPlaidCredential.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PatchPlaidCredential implements PatchServiceCredentialRequest { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -24,7 +28,7 @@ class PatchPlaidCredential implements PatchServiceCredentialRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -41,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('useStripe', $data)) { $this->setUseStripe($data['useStripe']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string diff --git a/src/Model/PatchQuote.php b/src/Model/PatchQuote.php index 43c1b512c..18c9d12e3 100644 --- a/src/Model/PatchQuote.php +++ b/src/Model/PatchQuote.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchQuote implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tax', $data)) { $this->setTax($data['tax']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTax(): ?Taxes diff --git a/src/Model/PatchServiceCredential.php b/src/Model/PatchServiceCredential.php index 122e730c2..3ddb51170 100644 --- a/src/Model/PatchServiceCredential.php +++ b/src/Model/PatchServiceCredential.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PatchServiceCredential implements PatchServiceCredentialRequest { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -24,16 +28,17 @@ class PatchServiceCredential implements PatchServiceCredentialRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): string diff --git a/src/Model/PatchSubscriptionCancellationRequest.php b/src/Model/PatchSubscriptionCancellationRequest.php index 24ef30c26..0cb7de349 100644 --- a/src/Model/PatchSubscriptionCancellationRequest.php +++ b/src/Model/PatchSubscriptionCancellationRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchSubscriptionCancellationRequest implements JsonSerializable { + use HasMetadata; + public const CANCELED_BY_MERCHANT = 'merchant'; public const CANCELED_BY_CUSTOMER = 'customer'; @@ -62,7 +65,7 @@ class PatchSubscriptionCancellationRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('canceledBy', $data)) { $this->setCanceledBy($data['canceledBy']); @@ -115,11 +118,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCanceledBy(): ?string diff --git a/src/Model/PatchTagRequest.php b/src/Model/PatchTagRequest.php index f1035aa84..4d14de9b7 100644 --- a/src/Model/PatchTagRequest.php +++ b/src/Model/PatchTagRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchTagRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/PatchTaxJarCredential.php b/src/Model/PatchTaxJarCredential.php index 827edd72b..af8a97d3a 100644 --- a/src/Model/PatchTaxJarCredential.php +++ b/src/Model/PatchTaxJarCredential.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PatchTaxJarCredential implements PatchServiceCredentialRequest { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -24,7 +28,7 @@ class PatchTaxJarCredential implements PatchServiceCredentialRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -32,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('omitFromAddress', $data)) { $this->setOmitFromAddress($data['omitFromAddress']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): string diff --git a/src/Model/PatchTransactionRequest.php b/src/Model/PatchTransactionRequest.php index 6819092c2..b01e76548 100644 --- a/src/Model/PatchTransactionRequest.php +++ b/src/Model/PatchTransactionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PatchTransactionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customFields', $data)) { $this->setCustomFields($data['customFields']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomFields(): ?array diff --git a/src/Model/Pay4Fun.php b/src/Model/Pay4Fun.php index 343af420a..9e0d0a285 100644 --- a/src/Model/Pay4Fun.php +++ b/src/Model/Pay4Fun.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Pay4Fun extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Pay4Fun', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): Pay4FunCredentials diff --git a/src/Model/Pay4FunCredentials.php b/src/Model/Pay4FunCredentials.php index e556d52ae..152978cfc 100644 --- a/src/Model/Pay4FunCredentials.php +++ b/src/Model/Pay4FunCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Pay4FunCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantKey', $data)) { $this->setMerchantKey($data['merchantKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/PayCash.php b/src/Model/PayCash.php index 59de43485..8c504a79f 100644 --- a/src/Model/PayCash.php +++ b/src/Model/PayCash.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayCash extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayCash', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayCashCredentials diff --git a/src/Model/PayCashCredentials.php b/src/Model/PayCashCredentials.php index f96609a49..f252e7317 100644 --- a/src/Model/PayCashCredentials.php +++ b/src/Model/PayCashCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayCashCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('emisor', $data)) { $this->setEmisor($data['emisor']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('token', $data)) { $this->setToken($data['token']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEmisor(): string diff --git a/src/Model/PayClub.php b/src/Model/PayClub.php index 915229175..2b661892f 100644 --- a/src/Model/PayClub.php +++ b/src/Model/PayClub.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayClub extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayClub', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayClubCredentials diff --git a/src/Model/PayClubCredentials.php b/src/Model/PayClubCredentials.php index 889f9abce..cfc92c700 100644 --- a/src/Model/PayClubCredentials.php +++ b/src/Model/PayClubCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayClubCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('signKey', $data)) { $this->setSignKey($data['signKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/PayClubSettings.php b/src/Model/PayClubSettings.php index bf75ed82a..e4a1a00e5 100644 --- a/src/Model/PayClubSettings.php +++ b/src/Model/PayClubSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayClubSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('use3DSChannel', $data)) { $this->setUse3DSChannel($data['use3DSChannel']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUse3DSChannel(): ?bool diff --git a/src/Model/PayCom.php b/src/Model/PayCom.php index 5a50c2b81..59642af0e 100644 --- a/src/Model/PayCom.php +++ b/src/Model/PayCom.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayCom extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayCom', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayComCredentials diff --git a/src/Model/PayComCredentials.php b/src/Model/PayComCredentials.php index 854952603..fe2d03842 100644 --- a/src/Model/PayComCredentials.php +++ b/src/Model/PayComCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayComCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/PayEcards.php b/src/Model/PayEcards.php index 3a956b293..c10030870 100644 --- a/src/Model/PayEcards.php +++ b/src/Model/PayEcards.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayEcards extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayEcards', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayEcardsCredentials diff --git a/src/Model/PayEcardsCredentials.php b/src/Model/PayEcardsCredentials.php index 10f547e6d..1c44bc1c6 100644 --- a/src/Model/PayEcardsCredentials.php +++ b/src/Model/PayEcardsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayEcardsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientKey', $data)) { $this->setClientKey($data['clientKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentUrl', $data)) { $this->setPaymentUrl($data['paymentUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientKey(): string diff --git a/src/Model/PayPal.php b/src/Model/PayPal.php index 0479639c4..c6d5f5872 100644 --- a/src/Model/PayPal.php +++ b/src/Model/PayPal.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayPal extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayPal', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ?PayPalCredentials diff --git a/src/Model/PayPalAccount.php b/src/Model/PayPalAccount.php index a29ccc94c..ad3f24914 100644 --- a/src/Model/PayPalAccount.php +++ b/src/Model/PayPalAccount.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalAccount implements PaymentInstrument, PostPaymentInstrumentRequest { + use HasMetadata; + public const STATUS_INACTIVE = 'inactive'; public const STATUS_ACTIVE = 'active'; @@ -27,7 +30,7 @@ class PayPalAccount implements PaymentInstrument, PostPaymentInstrumentRequest private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -74,11 +77,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/PayPalAccountEmbedded.php b/src/Model/PayPalAccountEmbedded.php index 0f13bbf73..7b08804c3 100644 --- a/src/Model/PayPalAccountEmbedded.php +++ b/src/Model/PayPalAccountEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalAccountEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authTransaction', $data)) { $this->setAuthTransaction($data['authTransaction']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthTransaction(): ?Transaction diff --git a/src/Model/PayPalBillingAgreementFeature.php b/src/Model/PayPalBillingAgreementFeature.php index 6174f9a77..0a5e936bc 100644 --- a/src/Model/PayPalBillingAgreementFeature.php +++ b/src/Model/PayPalBillingAgreementFeature.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalBillingAgreementFeature implements ReadyToPayPayPalMethodFeature { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paypalMerchantId', $data)) { $this->setPaypalMerchantId($data['paypalMerchantId']); @@ -35,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('expirationTime', $data)) { $this->setExpirationTime($data['expirationTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/PayPalCredentials.php b/src/Model/PayPalCredentials.php index e6544bbdb..f231d8b41 100644 --- a/src/Model/PayPalCredentials.php +++ b/src/Model/PayPalCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('partnerId', $data)) { $this->setPartnerId($data['partnerId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('partnerBnCode', $data)) { $this->setPartnerBnCode($data['partnerBnCode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPartnerId(): ?string diff --git a/src/Model/PayPalSettings.php b/src/Model/PayPalSettings.php index 4dba2a30a..05ead5bb5 100644 --- a/src/Model/PayPalSettings.php +++ b/src/Model/PayPalSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('redirectUrl', $data)) { $this->setRedirectUrl($data['redirectUrl']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('enableAlternativePaymentMethods', $data)) { $this->setEnableAlternativePaymentMethods($data['enableAlternativePaymentMethods']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRedirectUrl(): string diff --git a/src/Model/PayPalToken.php b/src/Model/PayPalToken.php index c240a6666..d80a6b317 100644 --- a/src/Model/PayPalToken.php +++ b/src/Model/PayPalToken.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalToken implements CompositeToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/PayPalTokenPaymentInstrument.php b/src/Model/PayPalTokenPaymentInstrument.php index eb1835fd0..ac4088b64 100644 --- a/src/Model/PayPalTokenPaymentInstrument.php +++ b/src/Model/PayPalTokenPaymentInstrument.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayPalTokenPaymentInstrument implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paypalMerchantId', $data)) { $this->setPaypalMerchantId($data['paypalMerchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('billingAgreementToken', $data)) { $this->setBillingAgreementToken($data['billingAgreementToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaypalMerchantId(): string diff --git a/src/Model/PayRedeem.php b/src/Model/PayRedeem.php index ce67eb6ba..680df82b9 100644 --- a/src/Model/PayRedeem.php +++ b/src/Model/PayRedeem.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayRedeem extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayRedeem', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayRedeemCredentials diff --git a/src/Model/PayRedeemCredentials.php b/src/Model/PayRedeemCredentials.php index 5d8c34326..fc1fe2c13 100644 --- a/src/Model/PayRedeemCredentials.php +++ b/src/Model/PayRedeemCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayRedeemCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiUser', $data)) { $this->setApiUser($data['apiUser']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiUser(): string diff --git a/src/Model/PayRetailers.php b/src/Model/PayRetailers.php index 896f17ea7..323dbe593 100644 --- a/src/Model/PayRetailers.php +++ b/src/Model/PayRetailers.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayRetailers extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayRetailers', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayRetailersCredentials diff --git a/src/Model/PayRetailersCredentials.php b/src/Model/PayRetailersCredentials.php index 068ea6561..efc27cc16 100644 --- a/src/Model/PayRetailersCredentials.php +++ b/src/Model/PayRetailersCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayRetailersCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('shopId', $data)) { $this->setShopId($data['shopId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getShopId(): string diff --git a/src/Model/PayTabs.php b/src/Model/PayTabs.php index 0a6893d5b..4c48e8ad4 100644 --- a/src/Model/PayTabs.php +++ b/src/Model/PayTabs.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayTabs extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayTabs', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayTabsCredentials diff --git a/src/Model/PayTabsCredentials.php b/src/Model/PayTabsCredentials.php index c42046225..1fd4c33c0 100644 --- a/src/Model/PayTabsCredentials.php +++ b/src/Model/PayTabsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayTabsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('profileId', $data)) { $this->setProfileId($data['profileId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('serverKey', $data)) { $this->setServerKey($data['serverKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProfileId(): string diff --git a/src/Model/PayTabsSettings.php b/src/Model/PayTabsSettings.php index 21590e5ac..8642697e2 100644 --- a/src/Model/PayTabsSettings.php +++ b/src/Model/PayTabsSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayTabsSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('baseUrl', $data)) { $this->setBaseUrl($data['baseUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBaseUrl(): ?string diff --git a/src/Model/PayU.php b/src/Model/PayU.php index 8ebc10650..f22e2a99c 100644 --- a/src/Model/PayU.php +++ b/src/Model/PayU.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayU extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayU', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayUCredentials diff --git a/src/Model/PayUCredentials.php b/src/Model/PayUCredentials.php index 0dbf8b9c6..c69bc2131 100644 --- a/src/Model/PayUCredentials.php +++ b/src/Model/PayUCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayUCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantKey', $data)) { $this->setMerchantKey($data['merchantKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantSalt', $data)) { $this->setMerchantSalt($data['merchantSalt']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantKey(): string diff --git a/src/Model/PayULatam.php b/src/Model/PayULatam.php index f55212e7a..984e597c4 100644 --- a/src/Model/PayULatam.php +++ b/src/Model/PayULatam.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PayULatam extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PayULatam', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayULatamCredentials diff --git a/src/Model/PayULatamCredentials.php b/src/Model/PayULatamCredentials.php index 90e114a40..f8aa31e3b 100644 --- a/src/Model/PayULatamCredentials.php +++ b/src/Model/PayULatamCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayULatamCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Paybilt.php b/src/Model/Paybilt.php index cf64e3d55..428980a01 100644 --- a/src/Model/Paybilt.php +++ b/src/Model/Paybilt.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paybilt extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paybilt', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaybiltCredentials diff --git a/src/Model/PaybiltCredentials.php b/src/Model/PaybiltCredentials.php index c2be3c254..75a15f726 100644 --- a/src/Model/PaybiltCredentials.php +++ b/src/Model/PaybiltCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaybiltCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tokenId', $data)) { $this->setTokenId($data['tokenId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTokenId(): string diff --git a/src/Model/PaybiltSettings.php b/src/Model/PaybiltSettings.php index 5e0273923..464aa82ac 100644 --- a/src/Model/PaybiltSettings.php +++ b/src/Model/PaybiltSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaybiltSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('delay', $data)) { $this->setDelay($data['delay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDelay(): ?int diff --git a/src/Model/Paycly.php b/src/Model/Paycly.php index de463072b..57a4c80b3 100644 --- a/src/Model/Paycly.php +++ b/src/Model/Paycly.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paycly extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paycly', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayclyCredentials diff --git a/src/Model/PayclyCredentials.php b/src/Model/PayclyCredentials.php index 6061a1c9f..165261294 100644 --- a/src/Model/PayclyCredentials.php +++ b/src/Model/PayclyCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayclyCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiToken', $data)) { $this->setApiToken($data['apiToken']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiToken(): string diff --git a/src/Model/Payeezy.php b/src/Model/Payeezy.php index 5e71b6cdd..ae84ebf09 100644 --- a/src/Model/Payeezy.php +++ b/src/Model/Payeezy.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Payeezy extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Payeezy', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayeezyCredentials diff --git a/src/Model/PayeezyCredentials.php b/src/Model/PayeezyCredentials.php index 2b0b8e858..bd3088779 100644 --- a/src/Model/PayeezyCredentials.php +++ b/src/Model/PayeezyCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayeezyCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecret', $data)) { $this->setApiSecret($data['apiSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Payflow.php b/src/Model/Payflow.php index 52f7a66ff..c191a7169 100644 --- a/src/Model/Payflow.php +++ b/src/Model/Payflow.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Payflow extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Payflow', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayflowCredentials diff --git a/src/Model/PayflowCredentials.php b/src/Model/PayflowCredentials.php index 2f8e512b2..82ef53daa 100644 --- a/src/Model/PayflowCredentials.php +++ b/src/Model/PayflowCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayflowCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('user', $data)) { $this->setUser($data['user']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUser(): string diff --git a/src/Model/PaymenTechnologies.php b/src/Model/PaymenTechnologies.php index 1b77861c6..d141c7a74 100644 --- a/src/Model/PaymenTechnologies.php +++ b/src/Model/PaymenTechnologies.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymenTechnologies extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PaymenTechnologies', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaymenTechnologiesCredentials diff --git a/src/Model/PaymenTechnologiesCredentials.php b/src/Model/PaymenTechnologiesCredentials.php index fa95f5a57..756a3fc5d 100644 --- a/src/Model/PaymenTechnologiesCredentials.php +++ b/src/Model/PaymenTechnologiesCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymenTechnologiesCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authenticateId', $data)) { $this->setAuthenticateId($data['authenticateId']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthenticateId(): string diff --git a/src/Model/PaymenTechnologiesSettings.php b/src/Model/PaymenTechnologiesSettings.php index 68ed72ebd..1c4d20edf 100644 --- a/src/Model/PaymenTechnologiesSettings.php +++ b/src/Model/PaymenTechnologiesSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymenTechnologiesSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('use3DSEndpoint', $data)) { $this->setUse3DSEndpoint($data['use3DSEndpoint']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUse3DSEndpoint(): ?bool diff --git a/src/Model/PaymentAsia.php b/src/Model/PaymentAsia.php index e15b5f90e..0b2d256f8 100644 --- a/src/Model/PaymentAsia.php +++ b/src/Model/PaymentAsia.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentAsia extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PaymentAsia', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaymentAsiaCredentials diff --git a/src/Model/PaymentAsiaCredentials.php b/src/Model/PaymentAsiaCredentials.php index 9ff5dfad6..7efc51eae 100644 --- a/src/Model/PaymentAsiaCredentials.php +++ b/src/Model/PaymentAsiaCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentAsiaCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/PaymentCard.php b/src/Model/PaymentCard.php index ea6892605..53faeaace 100644 --- a/src/Model/PaymentCard.php +++ b/src/Model/PaymentCard.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentCard implements PaymentInstrument { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -67,7 +70,7 @@ class PaymentCard implements PaymentInstrument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -156,11 +159,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/PaymentCardCreatePlain.php b/src/Model/PaymentCardCreatePlain.php index 8493f8cac..7366ad9cf 100644 --- a/src/Model/PaymentCardCreatePlain.php +++ b/src/Model/PaymentCardCreatePlain.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentCardCreatePlain implements PostPaymentInstrumentRequest, PaymentInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerId', $data)) { $this->setCustomerId($data['customerId']); @@ -47,11 +51,12 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/PaymentCardEmbedded.php b/src/Model/PaymentCardEmbedded.php index 3a080cc0f..5a425e186 100644 --- a/src/Model/PaymentCardEmbedded.php +++ b/src/Model/PaymentCardEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentCardEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('authTransaction', $data)) { $this->setAuthTransaction($data['authTransaction']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAuthTransaction(): ?Transaction diff --git a/src/Model/PaymentCardFeatureFactory.php b/src/Model/PaymentCardFeatureFactory.php index cb375927c..a81a37d57 100644 --- a/src/Model/PaymentCardFeatureFactory.php +++ b/src/Model/PaymentCardFeatureFactory.php @@ -18,12 +18,12 @@ class PaymentCardFeatureFactory { - public static function from(array $data = []): PaymentCardFeature + public static function from(array $data = [], array $metadata = []): PaymentCardFeature { return match ($data['name']) { - 'Apple Pay' => ApplePayFeature::from($data), - 'Google Pay' => GooglePayFeature::from($data), - 'Samsung Pay' => SamsungPayFeature::from($data), + 'Apple Pay' => ApplePayFeature::from($data, $metadata), + 'Google Pay' => GooglePayFeature::from($data, $metadata), + 'Samsung Pay' => SamsungPayFeature::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PaymentCardToken.php b/src/Model/PaymentCardToken.php index b939d8823..971b8d218 100644 --- a/src/Model/PaymentCardToken.php +++ b/src/Model/PaymentCardToken.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentCardToken implements CompositeToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/PaymentCardTokenPaymentInstrument.php b/src/Model/PaymentCardTokenPaymentInstrument.php index 9c713cc79..54f17d9ba 100644 --- a/src/Model/PaymentCardTokenPaymentInstrument.php +++ b/src/Model/PaymentCardTokenPaymentInstrument.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentCardTokenPaymentInstrument implements JsonSerializable { + use HasMetadata; + public const BRAND_VISA = 'Visa'; public const BRAND_MASTER_CARD = 'MasterCard'; @@ -48,7 +51,7 @@ class PaymentCardTokenPaymentInstrument implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('pan', $data)) { $this->setPan($data['pan']); @@ -74,11 +77,12 @@ public function __construct(array $data = []) if (array_key_exists('brand', $data)) { $this->setBrand($data['brand']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPan(): ?string diff --git a/src/Model/PaymentCardUpdatePlain.php b/src/Model/PaymentCardUpdatePlain.php index 1b63684ea..f91e1bda1 100644 --- a/src/Model/PaymentCardUpdatePlain.php +++ b/src/Model/PaymentCardUpdatePlain.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentCardUpdatePlain implements PatchPaymentInstrumentRequest { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('cvv', $data)) { $this->setCvv($data['cvv']); @@ -41,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCvv(): ?string diff --git a/src/Model/PaymentInstructionFactory.php b/src/Model/PaymentInstructionFactory.php index 79601556b..f5cf42fe5 100644 --- a/src/Model/PaymentInstructionFactory.php +++ b/src/Model/PaymentInstructionFactory.php @@ -18,21 +18,21 @@ class PaymentInstructionFactory { - public static function from(array $data = []): PaymentInstruction + public static function from(array $data = [], array $metadata = []): PaymentInstruction { if (isset($data['paymentInstrumentId'])) { - return PaymentInstructionInstrument::from($data); + return PaymentInstructionInstrument::from($data, $metadata); } if (isset($data['methods'])) { - return PaymentInstructionMethods::from($data); + return PaymentInstructionMethods::from($data, $metadata); } if (isset($data['token'])) { - return PaymentInstructionToken::from($data); + return PaymentInstructionToken::from($data, $metadata); } return match ($data['method']) { - 'ach' => BankAccountCreatePlain::from($data), - 'payment-card' => PaymentCardCreatePlain::from($data), + 'ach' => BankAccountCreatePlainFactory::from($data, $metadata), + 'payment-card' => PaymentCardCreatePlain::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PaymentInstructionInstrument.php b/src/Model/PaymentInstructionInstrument.php index bbe52716f..7b8ecdcc5 100644 --- a/src/Model/PaymentInstructionInstrument.php +++ b/src/Model/PaymentInstructionInstrument.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentInstructionInstrument implements PaymentInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrumentId', $data)) { $this->setPaymentInstrumentId($data['paymentInstrumentId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentInstrumentId(): string diff --git a/src/Model/PaymentInstructionMethods.php b/src/Model/PaymentInstructionMethods.php index 52019760b..0c856b85c 100644 --- a/src/Model/PaymentInstructionMethods.php +++ b/src/Model/PaymentInstructionMethods.php @@ -14,17 +14,11 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentInstructionMethods implements PaymentInstruction { - public const METHODS_PAYMENT_CARD = 'payment-card'; - - public const METHODS_ACH = 'ach'; - - public const METHODS_CASH = 'cash'; - - public const METHODS_CHECK = 'check'; - - public const METHODS_PAYPAL = 'paypal'; + use HasMetadata; public const METHODS_ADV_CASH = 'AdvCash'; @@ -374,6 +368,8 @@ class PaymentInstructionMethods implements PaymentInstruction public const METHODS_VENUS_POINT = 'VenusPoint'; + public const METHODS_VIVA = 'Viva'; + public const METHODS_VOUCHER = 'voucher'; public const METHODS_VOUCHER2 = 'voucher-2'; @@ -408,7 +404,7 @@ class PaymentInstructionMethods implements PaymentInstruction private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('methods', $data)) { $this->setMethods($data['methods']); @@ -419,11 +415,12 @@ public function __construct(array $data = []) if (array_key_exists('reference', $data)) { $this->setReference($data['reference']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PaymentInstructionToken.php b/src/Model/PaymentInstructionToken.php index 4f94ee19f..74d64830c 100644 --- a/src/Model/PaymentInstructionToken.php +++ b/src/Model/PaymentInstructionToken.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentInstructionToken implements PaymentInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('token', $data)) { $this->setToken($data['token']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getToken(): string diff --git a/src/Model/PaymentInstrumentCreateToken.php b/src/Model/PaymentInstrumentCreateToken.php index 518d1c5db..f039d67f8 100644 --- a/src/Model/PaymentInstrumentCreateToken.php +++ b/src/Model/PaymentInstrumentCreateToken.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentInstrumentCreateToken implements PostPaymentInstrumentRequest { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerId', $data)) { $this->setCustomerId($data['customerId']); @@ -32,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomerId(): string diff --git a/src/Model/PaymentInstrumentFactory.php b/src/Model/PaymentInstrumentFactory.php index 39de6d640..49175d748 100644 --- a/src/Model/PaymentInstrumentFactory.php +++ b/src/Model/PaymentInstrumentFactory.php @@ -18,153 +18,153 @@ class PaymentInstrumentFactory { - public static function from(array $data = []): PaymentInstrument + public static function from(array $data = [], array $metadata = []): PaymentInstrument { return match ($data['method']) { - 'AdvCash' => AlternativeInstrument::from($data), - 'Alfa-click' => AlternativeInstrument::from($data), - 'Alipay' => AlternativeInstrument::from($data), - 'AstroPay Card' => AlternativeInstrument::from($data), - 'AstroPay-GO' => AlternativeInstrument::from($data), - 'Baloto' => AlternativeInstrument::from($data), - 'Bancontact' => AlternativeInstrument::from($data), - 'Bancontact-mobile' => AlternativeInstrument::from($data), - 'BankReferenced' => AlternativeInstrument::from($data), - 'Beeline' => AlternativeInstrument::from($data), - 'Belfius-direct-net' => AlternativeInstrument::from($data), - 'Bizum' => AlternativeInstrument::from($data), - 'Boleto' => AlternativeInstrument::from($data), - 'CASHlib' => AlternativeInstrument::from($data), - 'CODVoucher' => AlternativeInstrument::from($data), - 'CashToCode' => AlternativeInstrument::from($data), - 'China UnionPay' => AlternativeInstrument::from($data), - 'Cleo' => AlternativeInstrument::from($data), - 'Conekta-oxxo' => AlternativeInstrument::from($data), - 'Cupon-de-pagos' => AlternativeInstrument::from($data), - 'EPS' => AlternativeInstrument::from($data), - 'Efecty' => AlternativeInstrument::from($data), - 'FasterPay' => AlternativeInstrument::from($data), - 'Flexepin' => AlternativeInstrument::from($data), - 'Giropay' => AlternativeInstrument::from($data), - 'Google Pay' => AlternativeInstrument::from($data), - 'Gpaysafe' => AlternativeInstrument::from($data), - 'ING-homepay' => AlternativeInstrument::from($data), - 'INOVAPAY-pin' => AlternativeInstrument::from($data), - 'INOVAPAY-wallet' => AlternativeInstrument::from($data), - 'InstaDebit' => AlternativeInstrument::from($data), - 'InstantPayments' => AlternativeInstrument::from($data), - 'Interac' => AlternativeInstrument::from($data), - 'Interac-eTransfer' => AlternativeInstrument::from($data), - 'Interac-online' => AlternativeInstrument::from($data), - 'Jeton' => AlternativeInstrument::from($data), - 'KNOT' => AlternativeInstrument::from($data), - 'Klarna' => AlternativeInstrument::from($data), - 'MTS' => AlternativeInstrument::from($data), - 'Matrix' => AlternativeInstrument::from($data), - 'MaxiCash' => AlternativeInstrument::from($data), - 'Megafon' => AlternativeInstrument::from($data), - 'MiFinity-eWallet' => AlternativeInstrument::from($data), - 'MuchBetter' => AlternativeInstrument::from($data), - 'Multibanco' => AlternativeInstrument::from($data), - 'Neosurf' => AlternativeInstrument::from($data), - 'Netbanking' => AlternativeInstrument::from($data), - 'Neteller' => AlternativeInstrument::from($data), - 'Nordea-Solo' => AlternativeInstrument::from($data), - 'OXXO' => AlternativeInstrument::from($data), - 'OchaPay' => AlternativeInstrument::from($data), - 'Onlineueberweisen' => AlternativeInstrument::from($data), - 'P24' => AlternativeInstrument::from($data), - 'POLi' => AlternativeInstrument::from($data), - 'Pagadito' => AlternativeInstrument::from($data), - 'PagoEffectivo' => AlternativeInstrument::from($data), - 'Pagsmile-deposit-express' => AlternativeInstrument::from($data), - 'Pagsmile-lottery' => AlternativeInstrument::from($data), - 'Pay4Fun' => AlternativeInstrument::from($data), - 'PayCash' => AlternativeInstrument::from($data), - 'PayTabs' => AlternativeInstrument::from($data), - 'Payeer' => AlternativeInstrument::from($data), - 'PaymentAsia-crypto' => AlternativeInstrument::from($data), - 'Paymero' => AlternativeInstrument::from($data), - 'Paynote' => AlternativeInstrument::from($data), - 'Paysafecard' => AlternativeInstrument::from($data), - 'Paysafecash' => AlternativeInstrument::from($data), - 'Perfect-money' => AlternativeInstrument::from($data), - 'PhonePe' => AlternativeInstrument::from($data), - 'Piastrix' => AlternativeInstrument::from($data), - 'PinPay' => AlternativeInstrument::from($data), - 'PostFinance-card' => AlternativeInstrument::from($data), - 'PostFinance-e-finance' => AlternativeInstrument::from($data), - 'QIWI' => AlternativeInstrument::from($data), - 'QPay' => AlternativeInstrument::from($data), - 'QQPay' => AlternativeInstrument::from($data), - 'Resurs' => AlternativeInstrument::from($data), - 'SEPA' => AlternativeInstrument::from($data), - 'SMSVoucher' => AlternativeInstrument::from($data), - 'SafetyPay' => AlternativeInstrument::from($data), - 'Skrill' => AlternativeInstrument::from($data), - 'Skrill Rapid Transfer' => AlternativeInstrument::from($data), - 'Sofort' => AlternativeInstrument::from($data), - 'SparkPay' => AlternativeInstrument::from($data), - 'Tele2' => AlternativeInstrument::from($data), - 'Terminaly-RF' => AlternativeInstrument::from($data), - 'ToditoCash-card' => AlternativeInstrument::from($data), - 'Trustly' => AlternativeInstrument::from($data), - 'UPI' => AlternativeInstrument::from($data), - 'UPayCard' => AlternativeInstrument::from($data), - 'USD-coin' => AlternativeInstrument::from($data), - 'VCreditos' => AlternativeInstrument::from($data), - 'VenusPoint' => AlternativeInstrument::from($data), - 'WeChat Pay' => AlternativeInstrument::from($data), - 'Webmoney' => AlternativeInstrument::from($data), - 'Webpay' => AlternativeInstrument::from($data), - 'Webpay Card' => AlternativeInstrument::from($data), - 'Webpay-2' => AlternativeInstrument::from($data), - 'XPay-P2P' => AlternativeInstrument::from($data), - 'XPay-QR' => AlternativeInstrument::from($data), - 'Yandex-money' => AlternativeInstrument::from($data), - 'Zimpler' => AlternativeInstrument::from($data), - 'Zotapay' => AlternativeInstrument::from($data), - 'bank-transfer' => AlternativeInstrument::from($data), - 'bank-transfer-2' => AlternativeInstrument::from($data), - 'bank-transfer-3' => AlternativeInstrument::from($data), - 'bank-transfer-4' => AlternativeInstrument::from($data), - 'bank-transfer-5' => AlternativeInstrument::from($data), - 'bank-transfer-6' => AlternativeInstrument::from($data), - 'bank-transfer-7' => AlternativeInstrument::from($data), - 'bank-transfer-8' => AlternativeInstrument::from($data), - 'bank-transfer-9' => AlternativeInstrument::from($data), - 'bitcoin' => AlternativeInstrument::from($data), - 'cash' => AlternativeInstrument::from($data), - 'cash-deposit' => AlternativeInstrument::from($data), - 'check' => AlternativeInstrument::from($data), - 'cryptocurrency' => AlternativeInstrument::from($data), - 'domestic-cards' => AlternativeInstrument::from($data), - 'ePay.bg' => AlternativeInstrument::from($data), - 'eZeeWallet' => AlternativeInstrument::from($data), - 'ecoPayz' => AlternativeInstrument::from($data), - 'ecoVoucher' => AlternativeInstrument::from($data), - 'iDEAL' => AlternativeInstrument::from($data), - 'iDebit' => AlternativeInstrument::from($data), - 'iWallet' => AlternativeInstrument::from($data), - 'instant-bank-transfer' => AlternativeInstrument::from($data), - 'invoice' => AlternativeInstrument::from($data), - 'jpay' => AlternativeInstrument::from($data), - 'loonie' => AlternativeInstrument::from($data), - 'miscellaneous' => AlternativeInstrument::from($data), - 'online-bank-transfer' => AlternativeInstrument::from($data), - 'oriental-wallet' => AlternativeInstrument::from($data), - 'phone' => AlternativeInstrument::from($data), - 'plaid-account' => AlternativeInstrument::from($data), - 'rapyd-checkout' => AlternativeInstrument::from($data), - 'swift-dbt' => AlternativeInstrument::from($data), - 'voucher' => AlternativeInstrument::from($data), - 'voucher-2' => AlternativeInstrument::from($data), - 'voucher-3' => AlternativeInstrument::from($data), - 'voucher-4' => AlternativeInstrument::from($data), - 'ach' => BankAccount::from($data), - 'Khelocard' => KhelocardCard::from($data), - 'payment-card' => PaymentCard::from($data), - 'paypal' => PayPalAccount::from($data), + 'AdvCash' => AlternativeInstrument::from($data, $metadata), + 'Alfa-click' => AlternativeInstrument::from($data, $metadata), + 'Alipay' => AlternativeInstrument::from($data, $metadata), + 'AstroPay Card' => AlternativeInstrument::from($data, $metadata), + 'AstroPay-GO' => AlternativeInstrument::from($data, $metadata), + 'Baloto' => AlternativeInstrument::from($data, $metadata), + 'Bancontact' => AlternativeInstrument::from($data, $metadata), + 'Bancontact-mobile' => AlternativeInstrument::from($data, $metadata), + 'BankReferenced' => AlternativeInstrument::from($data, $metadata), + 'Beeline' => AlternativeInstrument::from($data, $metadata), + 'Belfius-direct-net' => AlternativeInstrument::from($data, $metadata), + 'Bizum' => AlternativeInstrument::from($data, $metadata), + 'Boleto' => AlternativeInstrument::from($data, $metadata), + 'CASHlib' => AlternativeInstrument::from($data, $metadata), + 'CODVoucher' => AlternativeInstrument::from($data, $metadata), + 'CashToCode' => AlternativeInstrument::from($data, $metadata), + 'China UnionPay' => AlternativeInstrument::from($data, $metadata), + 'Cleo' => AlternativeInstrument::from($data, $metadata), + 'Conekta-oxxo' => AlternativeInstrument::from($data, $metadata), + 'Cupon-de-pagos' => AlternativeInstrument::from($data, $metadata), + 'EPS' => AlternativeInstrument::from($data, $metadata), + 'Efecty' => AlternativeInstrument::from($data, $metadata), + 'FasterPay' => AlternativeInstrument::from($data, $metadata), + 'Flexepin' => AlternativeInstrument::from($data, $metadata), + 'Giropay' => AlternativeInstrument::from($data, $metadata), + 'Google Pay' => AlternativeInstrument::from($data, $metadata), + 'Gpaysafe' => AlternativeInstrument::from($data, $metadata), + 'ING-homepay' => AlternativeInstrument::from($data, $metadata), + 'INOVAPAY-pin' => AlternativeInstrument::from($data, $metadata), + 'INOVAPAY-wallet' => AlternativeInstrument::from($data, $metadata), + 'InstaDebit' => AlternativeInstrument::from($data, $metadata), + 'InstantPayments' => AlternativeInstrument::from($data, $metadata), + 'Interac' => AlternativeInstrument::from($data, $metadata), + 'Interac-eTransfer' => AlternativeInstrument::from($data, $metadata), + 'Interac-online' => AlternativeInstrument::from($data, $metadata), + 'Jeton' => AlternativeInstrument::from($data, $metadata), + 'KNOT' => AlternativeInstrument::from($data, $metadata), + 'Klarna' => AlternativeInstrument::from($data, $metadata), + 'MTS' => AlternativeInstrument::from($data, $metadata), + 'Matrix' => AlternativeInstrument::from($data, $metadata), + 'MaxiCash' => AlternativeInstrument::from($data, $metadata), + 'Megafon' => AlternativeInstrument::from($data, $metadata), + 'MiFinity-eWallet' => AlternativeInstrument::from($data, $metadata), + 'MuchBetter' => AlternativeInstrument::from($data, $metadata), + 'Multibanco' => AlternativeInstrument::from($data, $metadata), + 'Neosurf' => AlternativeInstrument::from($data, $metadata), + 'Netbanking' => AlternativeInstrument::from($data, $metadata), + 'Neteller' => AlternativeInstrument::from($data, $metadata), + 'Nordea-Solo' => AlternativeInstrument::from($data, $metadata), + 'OXXO' => AlternativeInstrument::from($data, $metadata), + 'OchaPay' => AlternativeInstrument::from($data, $metadata), + 'Onlineueberweisen' => AlternativeInstrument::from($data, $metadata), + 'P24' => AlternativeInstrument::from($data, $metadata), + 'POLi' => AlternativeInstrument::from($data, $metadata), + 'Pagadito' => AlternativeInstrument::from($data, $metadata), + 'PagoEffectivo' => AlternativeInstrument::from($data, $metadata), + 'Pagsmile-deposit-express' => AlternativeInstrument::from($data, $metadata), + 'Pagsmile-lottery' => AlternativeInstrument::from($data, $metadata), + 'Pay4Fun' => AlternativeInstrument::from($data, $metadata), + 'PayCash' => AlternativeInstrument::from($data, $metadata), + 'PayTabs' => AlternativeInstrument::from($data, $metadata), + 'Payeer' => AlternativeInstrument::from($data, $metadata), + 'PaymentAsia-crypto' => AlternativeInstrument::from($data, $metadata), + 'Paymero' => AlternativeInstrument::from($data, $metadata), + 'Paynote' => AlternativeInstrument::from($data, $metadata), + 'Paysafecard' => AlternativeInstrument::from($data, $metadata), + 'Paysafecash' => AlternativeInstrument::from($data, $metadata), + 'Perfect-money' => AlternativeInstrument::from($data, $metadata), + 'PhonePe' => AlternativeInstrument::from($data, $metadata), + 'Piastrix' => AlternativeInstrument::from($data, $metadata), + 'PinPay' => AlternativeInstrument::from($data, $metadata), + 'PostFinance-card' => AlternativeInstrument::from($data, $metadata), + 'PostFinance-e-finance' => AlternativeInstrument::from($data, $metadata), + 'QIWI' => AlternativeInstrument::from($data, $metadata), + 'QPay' => AlternativeInstrument::from($data, $metadata), + 'QQPay' => AlternativeInstrument::from($data, $metadata), + 'Resurs' => AlternativeInstrument::from($data, $metadata), + 'SEPA' => AlternativeInstrument::from($data, $metadata), + 'SMSVoucher' => AlternativeInstrument::from($data, $metadata), + 'SafetyPay' => AlternativeInstrument::from($data, $metadata), + 'Skrill' => AlternativeInstrument::from($data, $metadata), + 'Skrill Rapid Transfer' => AlternativeInstrument::from($data, $metadata), + 'Sofort' => AlternativeInstrument::from($data, $metadata), + 'SparkPay' => AlternativeInstrument::from($data, $metadata), + 'Tele2' => AlternativeInstrument::from($data, $metadata), + 'Terminaly-RF' => AlternativeInstrument::from($data, $metadata), + 'ToditoCash-card' => AlternativeInstrument::from($data, $metadata), + 'Trustly' => AlternativeInstrument::from($data, $metadata), + 'UPI' => AlternativeInstrument::from($data, $metadata), + 'UPayCard' => AlternativeInstrument::from($data, $metadata), + 'USD-coin' => AlternativeInstrument::from($data, $metadata), + 'VCreditos' => AlternativeInstrument::from($data, $metadata), + 'VenusPoint' => AlternativeInstrument::from($data, $metadata), + 'WeChat Pay' => AlternativeInstrument::from($data, $metadata), + 'Webmoney' => AlternativeInstrument::from($data, $metadata), + 'Webpay' => AlternativeInstrument::from($data, $metadata), + 'Webpay Card' => AlternativeInstrument::from($data, $metadata), + 'Webpay-2' => AlternativeInstrument::from($data, $metadata), + 'XPay-P2P' => AlternativeInstrument::from($data, $metadata), + 'XPay-QR' => AlternativeInstrument::from($data, $metadata), + 'Yandex-money' => AlternativeInstrument::from($data, $metadata), + 'Zimpler' => AlternativeInstrument::from($data, $metadata), + 'Zotapay' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-2' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-3' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-4' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-5' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-6' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-7' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-8' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-9' => AlternativeInstrument::from($data, $metadata), + 'bitcoin' => AlternativeInstrument::from($data, $metadata), + 'cash' => AlternativeInstrument::from($data, $metadata), + 'cash-deposit' => AlternativeInstrument::from($data, $metadata), + 'check' => AlternativeInstrument::from($data, $metadata), + 'cryptocurrency' => AlternativeInstrument::from($data, $metadata), + 'domestic-cards' => AlternativeInstrument::from($data, $metadata), + 'ePay.bg' => AlternativeInstrument::from($data, $metadata), + 'eZeeWallet' => AlternativeInstrument::from($data, $metadata), + 'ecoPayz' => AlternativeInstrument::from($data, $metadata), + 'ecoVoucher' => AlternativeInstrument::from($data, $metadata), + 'iDEAL' => AlternativeInstrument::from($data, $metadata), + 'iDebit' => AlternativeInstrument::from($data, $metadata), + 'iWallet' => AlternativeInstrument::from($data, $metadata), + 'instant-bank-transfer' => AlternativeInstrument::from($data, $metadata), + 'invoice' => AlternativeInstrument::from($data, $metadata), + 'jpay' => AlternativeInstrument::from($data, $metadata), + 'loonie' => AlternativeInstrument::from($data, $metadata), + 'miscellaneous' => AlternativeInstrument::from($data, $metadata), + 'online-bank-transfer' => AlternativeInstrument::from($data, $metadata), + 'oriental-wallet' => AlternativeInstrument::from($data, $metadata), + 'phone' => AlternativeInstrument::from($data, $metadata), + 'plaid-account' => AlternativeInstrument::from($data, $metadata), + 'rapyd-checkout' => AlternativeInstrument::from($data, $metadata), + 'swift-dbt' => AlternativeInstrument::from($data, $metadata), + 'voucher' => AlternativeInstrument::from($data, $metadata), + 'voucher-2' => AlternativeInstrument::from($data, $metadata), + 'voucher-3' => AlternativeInstrument::from($data, $metadata), + 'voucher-4' => AlternativeInstrument::from($data, $metadata), + 'ach' => BankAccount::from($data, $metadata), + 'Khelocard' => KhelocardCard::from($data, $metadata), + 'payment-card' => PaymentCard::from($data, $metadata), + 'paypal' => PayPalAccount::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PaymentInstrumentNameInquiry.php b/src/Model/PaymentInstrumentNameInquiry.php index db80b530a..8a02f0922 100644 --- a/src/Model/PaymentInstrumentNameInquiry.php +++ b/src/Model/PaymentInstrumentNameInquiry.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentInstrumentNameInquiry implements JsonSerializable { + use HasMetadata; + public const RESULT_FULL_MATCH = 'full-match'; public const RESULT_PARTIAL_MATCH = 'partial-match'; @@ -30,7 +33,7 @@ class PaymentInstrumentNameInquiry implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('gatewayAccountId', $data)) { $this->setGatewayAccountId($data['gatewayAccountId']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('response', $data)) { $this->setResponse($data['response']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getGatewayAccountId(): string diff --git a/src/Model/PaymentInstrumentUpdateToken.php b/src/Model/PaymentInstrumentUpdateToken.php index f0372f504..cb9e373de 100644 --- a/src/Model/PaymentInstrumentUpdateToken.php +++ b/src/Model/PaymentInstrumentUpdateToken.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentInstrumentUpdateToken implements PatchPaymentInstrumentRequest { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('token', $data)) { $this->setToken($data['token']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('useAsBackup', $data)) { $this->setUseAsBackup($data['useAsBackup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getToken(): ?string diff --git a/src/Model/PaymentMethodMetadata.php b/src/Model/PaymentMethodMetadata.php index aae8e8e8d..de4f2fdae 100644 --- a/src/Model/PaymentMethodMetadata.php +++ b/src/Model/PaymentMethodMetadata.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentMethodMetadata implements JsonSerializable { + use HasMetadata; + public const RELEVANT_BUSINESS_MODELS_B2_B = 'B2B'; public const RELEVANT_BUSINESS_MODELS_B2_C = 'B2C'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiName', $data)) { $this->setApiName($data['apiName']); @@ -77,11 +80,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiName(): string diff --git a/src/Model/PaymentMethodMetadataSupportedCurrenciesFactory.php b/src/Model/PaymentMethodMetadataSupportedCurrenciesFactory.php index 0d4574590..dc2095b9b 100644 --- a/src/Model/PaymentMethodMetadataSupportedCurrenciesFactory.php +++ b/src/Model/PaymentMethodMetadataSupportedCurrenciesFactory.php @@ -18,12 +18,12 @@ class PaymentMethodMetadataSupportedCurrenciesFactory { - public static function from(array $data = []): PaymentMethodMetadataSupportedCurrencies + public static function from(array $data = [], array $metadata = []): PaymentMethodMetadataSupportedCurrencies { return match ($data['mode']) { - 'subset' => CurrenciesSubsetMetadata::from($data), - 'all' => CurrenciesUnrestrictedMetadata::from($data), - 'unknown' => CurrenciesUnrestrictedMetadata::from($data), + 'subset' => CurrenciesSubsetMetadata::from($data, $metadata), + 'all' => CurrenciesUnrestrictedMetadata::from($data, $metadata), + 'unknown' => CurrenciesUnrestrictedMetadata::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PaymentMethodMetadataUx.php b/src/Model/PaymentMethodMetadataUx.php index 7fbc33f25..fcfe855d9 100644 --- a/src/Model/PaymentMethodMetadataUx.php +++ b/src/Model/PaymentMethodMetadataUx.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentMethodMetadataUx implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('description', $data)) { $this->setDescription($data['description']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDescription(): string diff --git a/src/Model/PaymentsOS.php b/src/Model/PaymentsOS.php index e6a3ab8b1..aa4577980 100644 --- a/src/Model/PaymentsOS.php +++ b/src/Model/PaymentsOS.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PaymentsOS extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PaymentsOS', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaymentsOSCredentials diff --git a/src/Model/PaymentsOSCredentials.php b/src/Model/PaymentsOSCredentials.php index 81383ef29..5000d5c82 100644 --- a/src/Model/PaymentsOSCredentials.php +++ b/src/Model/PaymentsOSCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymentsOSCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('appId', $data)) { $this->setAppId($data['appId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAppId(): string diff --git a/src/Model/Paymero.php b/src/Model/Paymero.php index 1e5416dca..b34c38857 100644 --- a/src/Model/Paymero.php +++ b/src/Model/Paymero.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paymero extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paymero', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaymeroCredentials diff --git a/src/Model/PaymeroCredentials.php b/src/Model/PaymeroCredentials.php index 5a800828c..d98b72f68 100644 --- a/src/Model/PaymeroCredentials.php +++ b/src/Model/PaymeroCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymeroCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/PaymeroSettings.php b/src/Model/PaymeroSettings.php index 560612d1e..4cf77ce1e 100644 --- a/src/Model/PaymeroSettings.php +++ b/src/Model/PaymeroSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaymeroSettings implements JsonSerializable { + use HasMetadata; + public const MAIN_CURRENCY_TRX = 'TRX'; public const MAIN_CURRENCY_ETH = 'ETH'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('targetCurrency', $data)) { $this->setTargetCurrency($data['targetCurrency']); @@ -35,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('amountExceeded', $data)) { $this->setAmountExceeded($data['amountExceeded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTargetCurrency(): ?string diff --git a/src/Model/Paynote.php b/src/Model/Paynote.php index 311674643..f38ac4e80 100644 --- a/src/Model/Paynote.php +++ b/src/Model/Paynote.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paynote extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paynote', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaynoteCredentials diff --git a/src/Model/PaynoteCredentials.php b/src/Model/PaynoteCredentials.php index e6cdbea0b..7ab41e075 100644 --- a/src/Model/PaynoteCredentials.php +++ b/src/Model/PaynoteCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaynoteCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/PayoutRequest.php b/src/Model/PayoutRequest.php index 1f1fa74b5..c3c09b139 100644 --- a/src/Model/PayoutRequest.php +++ b/src/Model/PayoutRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayoutRequest implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_INSTRUMENT_SELECTED = 'instrument-selected'; @@ -32,7 +35,7 @@ class PayoutRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -61,6 +64,15 @@ public function __construct(array $data = []) if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + if (array_key_exists('blocked', $data)) { + $this->setBlocked($data['blocked']); + } + if (array_key_exists('blockReason', $data)) { + $this->setBlockReason($data['blockReason']); + } + if (array_key_exists('batchId', $data)) { + $this->setBatchId($data['batchId']); + } if (array_key_exists('selectPaymentInstrumentUrl', $data)) { $this->setSelectPaymentInstrumentUrl($data['selectPaymentInstrumentUrl']); } @@ -82,11 +94,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -180,6 +193,39 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } + public function getBlocked(): ?bool + { + return $this->fields['blocked'] ?? null; + } + + public function setBlocked(null|bool $blocked): static + { + $this->fields['blocked'] = $blocked; + + return $this; + } + + public function getBlockReason(): ?PayoutRequestBlockReason + { + return $this->fields['blockReason'] ?? null; + } + + public function setBlockReason(null|PayoutRequestBlockReason|array $blockReason): static + { + if ($blockReason !== null && !($blockReason instanceof PayoutRequestBlockReason)) { + $blockReason = PayoutRequestBlockReason::from($blockReason); + } + + $this->fields['blockReason'] = $blockReason; + + return $this; + } + + public function getBatchId(): ?string + { + return $this->fields['batchId'] ?? null; + } + public function getSelectPaymentInstrumentUrl(): ?string { return $this->fields['selectPaymentInstrumentUrl'] ?? null; @@ -269,6 +315,15 @@ public function jsonSerialize(): array if (array_key_exists('status', $this->fields)) { $data['status'] = $this->fields['status']; } + if (array_key_exists('blocked', $this->fields)) { + $data['blocked'] = $this->fields['blocked']; + } + if (array_key_exists('blockReason', $this->fields)) { + $data['blockReason'] = $this->fields['blockReason']?->jsonSerialize(); + } + if (array_key_exists('batchId', $this->fields)) { + $data['batchId'] = $this->fields['batchId']; + } if (array_key_exists('selectPaymentInstrumentUrl', $this->fields)) { $data['selectPaymentInstrumentUrl'] = $this->fields['selectPaymentInstrumentUrl']; } @@ -329,6 +384,13 @@ private function setStatus(null|string $status): static return $this; } + private function setBatchId(null|string $batchId): static + { + $this->fields['batchId'] = $batchId; + + return $this; + } + private function setSelectPaymentInstrumentUrl(null|string $selectPaymentInstrumentUrl): static { $this->fields['selectPaymentInstrumentUrl'] = $selectPaymentInstrumentUrl; diff --git a/src/Model/PayoutRequestAllocation.php b/src/Model/PayoutRequestAllocation.php index b59ac0dd6..f568a8022 100644 --- a/src/Model/PayoutRequestAllocation.php +++ b/src/Model/PayoutRequestAllocation.php @@ -17,11 +17,398 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayoutRequestAllocation implements JsonSerializable { + use HasMetadata; + + public const PAYMENT_METHOD_ADV_CASH = 'AdvCash'; + + public const PAYMENT_METHOD_AERA = 'Aera'; + + public const PAYMENT_METHOD_AFFIRM = 'Affirm'; + + public const PAYMENT_METHOD_AFTERPAY = 'Afterpay'; + + public const PAYMENT_METHOD_AIRCASH = 'Aircash'; + + public const PAYMENT_METHOD_AIRPAY = 'Airpay'; + + public const PAYMENT_METHOD_ALFA_CLICK = 'Alfa-click'; + + public const PAYMENT_METHOD_ALIPAY = 'Alipay'; + + public const PAYMENT_METHOD_AMAZON_PAY = 'AmazonPay'; + + public const PAYMENT_METHOD_APPLE_PAY = 'Apple Pay'; + + public const PAYMENT_METHOD_ASTRO_PAY_CARD = 'AstroPay Card'; + + public const PAYMENT_METHOD_ASTRO_PAY_GO = 'AstroPay-GO'; + + public const PAYMENT_METHOD_BANK_SEND = 'BankSEND'; + + public const PAYMENT_METHOD_BANK_REFERENCED = 'BankReferenced'; + + public const PAYMENT_METHOD_BANK_TRANSFER = 'bank-transfer'; + + public const PAYMENT_METHOD_BANK_TRANSFER2 = 'bank-transfer-2'; + + public const PAYMENT_METHOD_BANK_TRANSFER3 = 'bank-transfer-3'; + + public const PAYMENT_METHOD_BANK_TRANSFER4 = 'bank-transfer-4'; + + public const PAYMENT_METHOD_BANK_TRANSFER5 = 'bank-transfer-5'; + + public const PAYMENT_METHOD_BANK_TRANSFER6 = 'bank-transfer-6'; + + public const PAYMENT_METHOD_BANK_TRANSFER7 = 'bank-transfer-7'; + + public const PAYMENT_METHOD_BANK_TRANSFER8 = 'bank-transfer-8'; + + public const PAYMENT_METHOD_BANK_TRANSFER9 = 'bank-transfer-9'; + + public const PAYMENT_METHOD_BALOTO = 'Baloto'; + + public const PAYMENT_METHOD_BEELINE = 'Beeline'; + + public const PAYMENT_METHOD_BELFIUS_DIRECT_NET = 'Belfius-direct-net'; + + public const PAYMENT_METHOD_BITCOIN = 'bitcoin'; + + public const PAYMENT_METHOD_BIZUM = 'Bizum'; + + public const PAYMENT_METHOD_BLIK = 'Blik'; + + public const PAYMENT_METHOD_BOLETO = 'Boleto'; + + public const PAYMENT_METHOD_BOLETO2 = 'Boleto-2'; + + public const PAYMENT_METHOD_BOLETO3 = 'Boleto-3'; + + public const PAYMENT_METHOD_CASH_DEPOSIT = 'cash-deposit'; + + public const PAYMENT_METHOD_CAS_HLIB = 'CASHlib'; + + public const PAYMENT_METHOD_CASH_TO_CODE = 'CashToCode'; + + public const PAYMENT_METHOD_CC_AVENUE = 'CCAvenue'; + + public const PAYMENT_METHOD_CHINA_UNION_PAY = 'China UnionPay'; + + public const PAYMENT_METHOD_CLEARPAY = 'Clearpay'; + + public const PAYMENT_METHOD_CLEO = 'Cleo'; + + public const PAYMENT_METHOD_COD_VOUCHER = 'CODVoucher'; + + public const PAYMENT_METHOD_CONEKTA_OXXO = 'Conekta-oxxo'; + + public const PAYMENT_METHOD_CONEKTA_SPEI = 'Conekta-spei'; + + public const PAYMENT_METHOD_CRYPTOCURRENCY = 'cryptocurrency'; + + public const PAYMENT_METHOD_CUPON_DE_PAGOS = 'Cupon-de-pagos'; + + public const PAYMENT_METHOD_CYBER_SOURCE = 'CyberSource'; + + public const PAYMENT_METHOD_DIMOCO_PAY_SMART = 'Dimoco-pay-smart'; + + public const PAYMENT_METHOD_DIRECTA24_CARD = 'Directa24Card'; + + public const PAYMENT_METHOD_DOMESTIC_CARDS = 'domestic-cards'; + + public const PAYMENT_METHOD_EFECTY = 'Efecty'; + + public const PAYMENT_METHOD_ECHECK = 'echeck'; + + public const PAYMENT_METHOD_ECO_PAYZ = 'ecoPayz'; + + public const PAYMENT_METHOD_ECO_PAYZ_TURKEY = 'ecoPayzTurkey'; + + public const PAYMENT_METHOD_ECO_VOUCHER = 'ecoVoucher'; + + public const PAYMENT_METHOD_EPS = 'EPS'; + + public const PAYMENT_METHOD_E_PAY_BG = 'ePay.bg'; + + public const PAYMENT_METHOD_ETHEREUM = 'Ethereum'; + + public const PAYMENT_METHOD_E_WALLET = 'e-wallet'; + + public const PAYMENT_METHOD_EZY_EFT = 'ezyEFT'; + + public const PAYMENT_METHOD_E_ZEE_WALLET = 'eZeeWallet'; + + public const PAYMENT_METHOD_FASTER_PAY = 'FasterPay'; + + public const PAYMENT_METHOD_FLEXEPIN = 'Flexepin'; + + public const PAYMENT_METHOD_GIROPAY = 'Giropay'; + + public const PAYMENT_METHOD_GOOGLE_PAY = 'Google Pay'; + + public const PAYMENT_METHOD_GPAYSAFE = 'Gpaysafe'; + + public const PAYMENT_METHOD_I_CASH_ONE_VOUCHER = 'iCashOne Voucher'; + + public const PAYMENT_METHOD_I_DEBIT = 'iDebit'; + + public const PAYMENT_METHOD_I_DEAL = 'iDEAL'; + + public const PAYMENT_METHOD_ING_HOMEPAY = 'ING-homepay'; + + public const PAYMENT_METHOD_INOVAPAY_PIN = 'INOVAPAY-pin'; + + public const PAYMENT_METHOD_INOVAPAY_WALLET = 'INOVAPAY-wallet'; + + public const PAYMENT_METHOD_INSTA_DEBIT = 'InstaDebit'; + + public const PAYMENT_METHOD_INSTANT_PAYMENTS = 'InstantPayments'; + + public const PAYMENT_METHOD_INSTANT_BANK_TRANSFER = 'instant-bank-transfer'; + + public const PAYMENT_METHOD_INTERAC_ONLINE = 'Interac-online'; + + public const PAYMENT_METHOD_INTERAC_E_TRANSFER = 'Interac-eTransfer'; + + public const PAYMENT_METHOD_INTERAC_EXPRESS_CONNECT = 'Interac-express-connect'; + + public const PAYMENT_METHOD_INTERAC = 'Interac'; + + public const PAYMENT_METHOD_INVOICE = 'invoice'; + + public const PAYMENT_METHOD_I_WALLET = 'iWallet'; + + public const PAYMENT_METHOD_JETON = 'Jeton'; + + public const PAYMENT_METHOD_JETON_CASH = 'JetonCash'; + + public const PAYMENT_METHOD_JPAY = 'jpay'; + + public const PAYMENT_METHOD_KAKAO_PAY = 'KakaoPay'; + + public const PAYMENT_METHOD_KHELOCARD = 'Khelocard'; + + public const PAYMENT_METHOD_KLARNA = 'Klarna'; + + public const PAYMENT_METHOD_KNOT = 'KNOT'; + + public const PAYMENT_METHOD_LITECOIN = 'Litecoin'; + + public const PAYMENT_METHOD_LOONIE = 'loonie'; + + public const PAYMENT_METHOD_LPG_ONLINE = 'LPG-online'; + + public const PAYMENT_METHOD_LPG_PAYMENT_CARD = 'LPG-payment-card'; + + public const PAYMENT_METHOD_MATRIX = 'Matrix'; + + public const PAYMENT_METHOD_MAXI_CASH = 'MaxiCash'; + + public const PAYMENT_METHOD_MEGAFON = 'Megafon'; + + public const PAYMENT_METHOD_MERCADO_PAGO = 'MercadoPago'; + + public const PAYMENT_METHOD_MI_FINITY_E_WALLET = 'MiFinity-eWallet'; + + public const PAYMENT_METHOD_MISCELLANEOUS = 'miscellaneous'; + + public const PAYMENT_METHOD_MOBILE_PAY = 'MobilePay'; + + public const PAYMENT_METHOD_MULTIBANCO = 'Multibanco'; + + public const PAYMENT_METHOD_BANCONTACT = 'Bancontact'; + + public const PAYMENT_METHOD_BANCONTACT_MOBILE = 'Bancontact-mobile'; + + public const PAYMENT_METHOD_MTS = 'MTS'; + + public const PAYMENT_METHOD_MUCH_BETTER = 'MuchBetter'; + + public const PAYMENT_METHOD_MUCH_BETTER_VOUCHER = 'MuchBetterVoucher'; + + public const PAYMENT_METHOD_MY_FATOORAH = 'MyFatoorah'; + + public const PAYMENT_METHOD_NEOSURF = 'Neosurf'; + + public const PAYMENT_METHOD_NETBANKING = 'Netbanking'; + + public const PAYMENT_METHOD_NETELLER = 'Neteller'; + + public const PAYMENT_METHOD_NORDEA_SOLO = 'Nordea-Solo'; + + public const PAYMENT_METHOD_NORDIK_COIN = 'NordikCoin'; + + public const PAYMENT_METHOD_OCHA_PAY = 'OchaPay'; + + public const PAYMENT_METHOD_ONLINE_BANK_TRANSFER = 'online-bank-transfer'; + + public const PAYMENT_METHOD_ONLINEUEBERWEISEN = 'Onlineueberweisen'; + + public const PAYMENT_METHOD_ORIENTAL_WALLET = 'oriental-wallet'; + + public const PAYMENT_METHOD_OXXO = 'OXXO'; + + public const PAYMENT_METHOD_P24 = 'P24'; + + public const PAYMENT_METHOD_PAGADITO = 'Pagadito'; + + public const PAYMENT_METHOD_PAGO_EFFECTIVO = 'PagoEffectivo'; + + public const PAYMENT_METHOD_PAGSMILE_LOTTERY = 'Pagsmile-lottery'; + + public const PAYMENT_METHOD_PAGSMILE_DEPOSIT_EXPRESS = 'Pagsmile-deposit-express'; + + public const PAYMENT_METHOD_PAY_CASH = 'PayCash'; + + public const PAYMENT_METHOD_PAYCO = 'Payco'; + + public const PAYMENT_METHOD_PAYEER = 'Payeer'; + + public const PAYMENT_METHOD_PAYMENT_ASIA_CRYPTO = 'PaymentAsia-crypto'; + + public const PAYMENT_METHOD_PAYSAFECARD = 'Paysafecard'; + + public const PAYMENT_METHOD_PAY_TABS = 'PayTabs'; + + public const PAYMENT_METHOD_PAY4_FUN = 'Pay4Fun'; + + public const PAYMENT_METHOD_PAYNOTE = 'Paynote'; + + public const PAYMENT_METHOD_PAYMERO = 'Paymero'; + + public const PAYMENT_METHOD_PAYMERO_QR = 'Paymero-QR'; + + public const PAYMENT_METHOD_PAY_U = 'PayU'; + + public const PAYMENT_METHOD_PAY_U_LATAM = 'PayULatam'; + + public const PAYMENT_METHOD_PERFECT_MONEY = 'Perfect-money'; + + public const PAYMENT_METHOD_PIASTRIX = 'Piastrix'; + + public const PAYMENT_METHOD_PIX = 'PIX'; + + public const PAYMENT_METHOD_PIN_PAY = 'PinPay'; + + public const PAYMENT_METHOD_PHONE = 'phone'; + + public const PAYMENT_METHOD_PHONE_PE = 'PhonePe'; + + public const PAYMENT_METHOD_PO_LI = 'POLi'; + + public const PAYMENT_METHOD_POST_FINANCE_CARD = 'PostFinance-card'; + + public const PAYMENT_METHOD_POST_FINANCE_E_FINANCE = 'PostFinance-e-finance'; + + public const PAYMENT_METHOD_QIWI = 'QIWI'; + + public const PAYMENT_METHOD_Q_PAY = 'QPay'; + + public const PAYMENT_METHOD_QQ_PAY = 'QQPay'; + + public const PAYMENT_METHOD_RAPYD_CHECKOUT = 'rapyd-checkout'; + + public const PAYMENT_METHOD_REBILLY_HOSTED_PAYMENT_FORM = 'rebilly-hosted-payment-form'; + + public const PAYMENT_METHOD_RESURS = 'Resurs'; + + public const PAYMENT_METHOD_REVERSE_WITHDRAWAL = 'reverse-withdrawal'; + + public const PAYMENT_METHOD_RIPPLE = 'Ripple'; + + public const PAYMENT_METHOD_SAFETY_PAY = 'SafetyPay'; + + public const PAYMENT_METHOD_SAMSUNG_PAY = 'Samsung Pay'; + + public const PAYMENT_METHOD_SEPA = 'SEPA'; + + public const PAYMENT_METHOD_SIIRTO = 'Siirto'; + + public const PAYMENT_METHOD_SKRILL = 'Skrill'; + + public const PAYMENT_METHOD_SKRILL_RAPID_TRANSFER = 'Skrill Rapid Transfer'; + + public const PAYMENT_METHOD_SMS_VOUCHER = 'SMSVoucher'; + + public const PAYMENT_METHOD_SOFORT = 'Sofort'; + + public const PAYMENT_METHOD_SPARK_PAY = 'SparkPay'; + + public const PAYMENT_METHOD_SPEI = 'SPEI'; + + public const PAYMENT_METHOD_SWIFT_DBT = 'swift-dbt'; + + public const PAYMENT_METHOD_TELE2 = 'Tele2'; + + public const PAYMENT_METHOD_TELR = 'Telr'; + + public const PAYMENT_METHOD_TERMINALY_RF = 'Terminaly-RF'; + + public const PAYMENT_METHOD_TETHER = 'Tether'; + + public const PAYMENT_METHOD_TODITO_CASH_CARD = 'ToditoCash-card'; + + public const PAYMENT_METHOD_TRUSTLY = 'Trustly'; + + public const PAYMENT_METHOD_TUPAY = 'Tupay'; + + public const PAYMENT_METHOD_TWINT = 'TWINT'; + + public const PAYMENT_METHOD_UNI_CRYPT = 'UniCrypt'; + + public const PAYMENT_METHOD_U_PAY_CARD = 'UPayCard'; + + public const PAYMENT_METHOD_UPI = 'UPI'; + + public const PAYMENT_METHOD_USD_COIN = 'USD-coin'; + + public const PAYMENT_METHOD_V_CREDITOS = 'VCreditos'; + + public const PAYMENT_METHOD_VEGA_WALLET = 'VegaWallet'; + + public const PAYMENT_METHOD_VENUS_POINT = 'VenusPoint'; + + public const PAYMENT_METHOD_VIVA = 'Viva'; + + public const PAYMENT_METHOD_VOUCHER = 'voucher'; + + public const PAYMENT_METHOD_VOUCHER2 = 'voucher-2'; + + public const PAYMENT_METHOD_VOUCHER3 = 'voucher-3'; + + public const PAYMENT_METHOD_VOUCHER4 = 'voucher-4'; + + public const PAYMENT_METHOD_WALLET88 = 'Wallet88'; + + public const PAYMENT_METHOD_WEBMONEY = 'Webmoney'; + + public const PAYMENT_METHOD_WEBPAY = 'Webpay'; + + public const PAYMENT_METHOD_WEBPAY2 = 'Webpay-2'; + + public const PAYMENT_METHOD_WEBPAY_CARD = 'Webpay Card'; + + public const PAYMENT_METHOD_WE_CHAT_PAY = 'WeChat Pay'; + + public const PAYMENT_METHOD_X_PAY_P2_P = 'XPay-P2P'; + + public const PAYMENT_METHOD_X_PAY_QR = 'XPay-QR'; + + public const PAYMENT_METHOD_YANDEX_MONEY = 'Yandex-money'; + + public const PAYMENT_METHOD_ZOTAPAY = 'Zotapay'; + + public const PAYMENT_METHOD_ZIMPLER = 'Zimpler'; + + public const PAYMENT_METHOD_ZIP = 'Zip'; + public const STATUS_PENDING = 'pending'; + public const STATUS_QUEUED = 'queued'; + public const STATUS_PROCESSING = 'processing'; public const STATUS_COMPLETED = 'completed'; @@ -30,9 +417,55 @@ class PayoutRequestAllocation implements JsonSerializable public const STATUS_CANCELED = 'canceled'; + public const STATUS_DECLINED = 'declined'; + + public const TRANSACTION_RESULT_ABANDONED = 'abandoned'; + + public const TRANSACTION_RESULT_APPROVED = 'approved'; + + public const TRANSACTION_RESULT_CANCELED = 'canceled'; + + public const TRANSACTION_RESULT_DECLINED = 'declined'; + + public const TRANSACTION_RESULT_UNKNOWN = 'unknown'; + + public const TRANSACTION_RESULT_NULL = 'null'; + + public const TRANSACTION_STATUS_COMPLETED = 'completed'; + + public const TRANSACTION_STATUS_CONN_ERROR = 'conn-error'; + + public const TRANSACTION_STATUS_DISPUTED = 'disputed'; + + public const TRANSACTION_STATUS_NEVER_SENT = 'never-sent'; + + public const TRANSACTION_STATUS_OFFSITE = 'offsite'; + + public const TRANSACTION_STATUS_PARTIALLY_REFUNDED = 'partially-refunded'; + + public const TRANSACTION_STATUS_PENDING = 'pending'; + + public const TRANSACTION_STATUS_REFUNDED = 'refunded'; + + public const TRANSACTION_STATUS_SENDING = 'sending'; + + public const TRANSACTION_STATUS_TIMEOUT = 'timeout'; + + public const TRANSACTION_STATUS_VOIDED = 'voided'; + + public const TRANSACTION_STATUS_WAITING_APPROVAL = 'waiting-approval'; + + public const TRANSACTION_STATUS_WAITING_CAPTURE = 'waiting-capture'; + + public const TRANSACTION_STATUS_WAITING_GATEWAY = 'waiting-gateway'; + + public const TRANSACTION_STATUS_WAITING_REFUND = 'waiting-refund'; + + public const TRANSACTION_STATUS_NULL = 'null'; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -40,9 +473,15 @@ public function __construct(array $data = []) if (array_key_exists('payoutRequestId', $data)) { $this->setPayoutRequestId($data['payoutRequestId']); } + if (array_key_exists('batchId', $data)) { + $this->setBatchId($data['batchId']); + } if (array_key_exists('paymentInstrumentId', $data)) { $this->setPaymentInstrumentId($data['paymentInstrumentId']); } + if (array_key_exists('paymentMethod', $data)) { + $this->setPaymentMethod($data['paymentMethod']); + } if (array_key_exists('gatewayAccountId', $data)) { $this->setGatewayAccountId($data['gatewayAccountId']); } @@ -61,6 +500,12 @@ public function __construct(array $data = []) if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); } + if (array_key_exists('transactionResult', $data)) { + $this->setTransactionResult($data['transactionResult']); + } + if (array_key_exists('transactionStatus', $data)) { + $this->setTransactionStatus($data['transactionStatus']); + } if (array_key_exists('createdTime', $data)) { $this->setCreatedTime($data['createdTime']); } @@ -70,11 +515,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -87,6 +533,11 @@ public function getPayoutRequestId(): string return $this->fields['payoutRequestId']; } + public function getBatchId(): ?string + { + return $this->fields['batchId'] ?? null; + } + public function getPaymentInstrumentId(): string { return $this->fields['paymentInstrumentId']; @@ -99,6 +550,11 @@ public function setPaymentInstrumentId(string $paymentInstrumentId): static return $this; } + public function getPaymentMethod(): ?string + { + return $this->fields['paymentMethod'] ?? null; + } + public function getGatewayAccountId(): string { return $this->fields['gatewayAccountId']; @@ -168,6 +624,16 @@ public function getTransactionId(): ?string return $this->fields['transactionId'] ?? null; } + public function getTransactionResult(): ?string + { + return $this->fields['transactionResult'] ?? null; + } + + public function getTransactionStatus(): ?string + { + return $this->fields['transactionStatus'] ?? null; + } + public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -195,9 +661,15 @@ public function jsonSerialize(): array if (array_key_exists('payoutRequestId', $this->fields)) { $data['payoutRequestId'] = $this->fields['payoutRequestId']; } + if (array_key_exists('batchId', $this->fields)) { + $data['batchId'] = $this->fields['batchId']; + } if (array_key_exists('paymentInstrumentId', $this->fields)) { $data['paymentInstrumentId'] = $this->fields['paymentInstrumentId']; } + if (array_key_exists('paymentMethod', $this->fields)) { + $data['paymentMethod'] = $this->fields['paymentMethod']; + } if (array_key_exists('gatewayAccountId', $this->fields)) { $data['gatewayAccountId'] = $this->fields['gatewayAccountId']; } @@ -216,6 +688,12 @@ public function jsonSerialize(): array if (array_key_exists('transactionId', $this->fields)) { $data['transactionId'] = $this->fields['transactionId']; } + if (array_key_exists('transactionResult', $this->fields)) { + $data['transactionResult'] = $this->fields['transactionResult']; + } + if (array_key_exists('transactionStatus', $this->fields)) { + $data['transactionStatus'] = $this->fields['transactionStatus']; + } if (array_key_exists('createdTime', $this->fields)) { $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); } @@ -248,6 +726,20 @@ private function setPayoutRequestId(string $payoutRequestId): static return $this; } + private function setBatchId(null|string $batchId): static + { + $this->fields['batchId'] = $batchId; + + return $this; + } + + private function setPaymentMethod(null|string $paymentMethod): static + { + $this->fields['paymentMethod'] = $paymentMethod; + + return $this; + } + private function setTransactionId(null|string $transactionId): static { $this->fields['transactionId'] = $transactionId; @@ -255,6 +747,20 @@ private function setTransactionId(null|string $transactionId): static return $this; } + private function setTransactionResult(null|string $transactionResult): static + { + $this->fields['transactionResult'] = $transactionResult; + + return $this; + } + + private function setTransactionStatus(null|string $transactionStatus): static + { + $this->fields['transactionStatus'] = $transactionStatus; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/PayoutRequestAllocations.php b/src/Model/PayoutRequestAllocations.php index 67c216e2b..4b4fabb58 100644 --- a/src/Model/PayoutRequestAllocations.php +++ b/src/Model/PayoutRequestAllocations.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayoutRequestAllocations implements JsonSerializable { + use HasMetadata; + public const TRANSACTION_RESULT_ABANDONED = 'abandoned'; public const TRANSACTION_RESULT_APPROVED = 'approved'; @@ -30,16 +33,6 @@ class PayoutRequestAllocations implements JsonSerializable public const TRANSACTION_RESULT_UNKNOWN = 'unknown'; - public const METHOD_PAYMENT_CARD = 'payment-card'; - - public const METHOD_ACH = 'ach'; - - public const METHOD_CASH = 'cash'; - - public const METHOD_CHECK = 'check'; - - public const METHOD_PAYPAL = 'paypal'; - public const METHOD_ADV_CASH = 'AdvCash'; public const METHOD_AERA = 'Aera'; @@ -388,6 +381,8 @@ class PayoutRequestAllocations implements JsonSerializable public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -848,6 +843,8 @@ class PayoutRequestAllocations implements JsonSerializable public const GATEWAY_NAME_VEGA_WALLET = 'VegaWallet'; + public const GATEWAY_NAME_VIVA = 'Viva'; + public const GATEWAY_NAME_WALLET88 = 'Wallet88'; public const GATEWAY_NAME_WALPAY = 'Walpay'; @@ -868,7 +865,7 @@ class PayoutRequestAllocations implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); @@ -897,11 +894,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): ?string diff --git a/src/Model/PayoutRequestAllocationsDataExport.php b/src/Model/PayoutRequestAllocationsDataExport.php new file mode 100644 index 000000000..93a24ce7b --- /dev/null +++ b/src/Model/PayoutRequestAllocationsDataExport.php @@ -0,0 +1,428 @@ +setId($data['id']); + } + if (array_key_exists('name', $data)) { + $this->setName($data['name']); + } + if (array_key_exists('format', $data)) { + $this->setFormat($data['format']); + } + if (array_key_exists('arguments', $data)) { + $this->setArguments($data['arguments']); + } + if (array_key_exists('emailNotification', $data)) { + $this->setEmailNotification($data['emailNotification']); + } + if (array_key_exists('fields', $data)) { + $this->setFields($data['fields']); + } + if (array_key_exists('recurring', $data)) { + $this->setRecurring($data['recurring']); + } + if (array_key_exists('userId', $data)) { + $this->setUserId($data['userId']); + } + if (array_key_exists('fileId', $data)) { + $this->setFileId($data['fileId']); + } + if (array_key_exists('recordCount', $data)) { + $this->setRecordCount($data['recordCount']); + } + if (array_key_exists('scheduledTime', $data)) { + $this->setScheduledTime($data['scheduledTime']); + } + if (array_key_exists('createdTime', $data)) { + $this->setCreatedTime($data['createdTime']); + } + if (array_key_exists('updatedTime', $data)) { + $this->setUpdatedTime($data['updatedTime']); + } + if (array_key_exists('status', $data)) { + $this->setStatus($data['status']); + } + if (array_key_exists('dateRange', $data)) { + $this->setDateRange($data['dateRange']); + } + if (array_key_exists('_links', $data)) { + $this->setLinks($data['_links']); + } + if (array_key_exists('_embedded', $data)) { + $this->setEmbedded($data['_embedded']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getResource(): string + { + return 'payoutRequestAllocations'; + } + + public function getId(): ?string + { + return $this->fields['id'] ?? null; + } + + public function getName(): string + { + return $this->fields['name']; + } + + public function setName(string $name): static + { + $this->fields['name'] = $name; + + return $this; + } + + public function getFormat(): string + { + return $this->fields['format']; + } + + public function setFormat(string $format): static + { + $this->fields['format'] = $format; + + return $this; + } + + public function getArguments(): ?DataExportArguments + { + return $this->fields['arguments'] ?? null; + } + + public function setArguments(null|DataExportArguments|array $arguments): static + { + if ($arguments !== null && !($arguments instanceof DataExportArguments)) { + $arguments = DataExportArguments::from($arguments); + } + + $this->fields['arguments'] = $arguments; + + return $this; + } + + /** + * @return null|string[] + */ + public function getEmailNotification(): ?array + { + return $this->fields['emailNotification'] ?? null; + } + + /** + * @param null|string[] $emailNotification + */ + public function setEmailNotification(null|array $emailNotification): static + { + $this->fields['emailNotification'] = $emailNotification; + + return $this; + } + + /** + * @return null|string[] + */ + public function getFields(): ?array + { + return $this->fields['fields'] ?? null; + } + + /** + * @param null|string[] $fields + */ + public function setFields(null|array $fields): static + { + $this->fields['fields'] = $fields; + + return $this; + } + + public function getRecurring(): ?DataExportRecurring + { + return $this->fields['recurring'] ?? null; + } + + public function setRecurring(null|DataExportRecurring|array $recurring): static + { + if ($recurring !== null && !($recurring instanceof DataExportRecurring)) { + $recurring = DataExportRecurring::from($recurring); + } + + $this->fields['recurring'] = $recurring; + + return $this; + } + + public function getUserId(): ?string + { + return $this->fields['userId'] ?? null; + } + + public function getFileId(): ?string + { + return $this->fields['fileId'] ?? null; + } + + public function getRecordCount(): ?int + { + return $this->fields['recordCount'] ?? null; + } + + public function getScheduledTime(): ?DateTimeImmutable + { + return $this->fields['scheduledTime'] ?? null; + } + + public function getCreatedTime(): ?DateTimeImmutable + { + return $this->fields['createdTime'] ?? null; + } + + public function getUpdatedTime(): ?DateTimeImmutable + { + return $this->fields['updatedTime'] ?? null; + } + + public function getStatus(): ?string + { + return $this->fields['status'] ?? null; + } + + public function getDateRange(): ?PayoutRequestAllocationsDataExportDateRange + { + return $this->fields['dateRange'] ?? null; + } + + public function setDateRange(null|PayoutRequestAllocationsDataExportDateRange|array $dateRange): static + { + if ($dateRange !== null && !($dateRange instanceof PayoutRequestAllocationsDataExportDateRange)) { + $dateRange = PayoutRequestAllocationsDataExportDateRange::from($dateRange); + } + + $this->fields['dateRange'] = $dateRange; + + return $this; + } + + /** + * @return null|ResourceLink[] + */ + public function getLinks(): ?array + { + return $this->fields['_links'] ?? null; + } + + public function getEmbedded(): ?PayoutRequestAllocationsDataExportEmbedded + { + return $this->fields['_embedded'] ?? null; + } + + public function setEmbedded(null|PayoutRequestAllocationsDataExportEmbedded|array $embedded): static + { + if ($embedded !== null && !($embedded instanceof PayoutRequestAllocationsDataExportEmbedded)) { + $embedded = PayoutRequestAllocationsDataExportEmbedded::from($embedded); + } + + $this->fields['_embedded'] = $embedded; + + return $this; + } + + public function jsonSerialize(): array + { + $data = [ + 'resource' => 'payoutRequestAllocations', + ]; + if (array_key_exists('id', $this->fields)) { + $data['id'] = $this->fields['id']; + } + if (array_key_exists('name', $this->fields)) { + $data['name'] = $this->fields['name']; + } + if (array_key_exists('format', $this->fields)) { + $data['format'] = $this->fields['format']; + } + if (array_key_exists('arguments', $this->fields)) { + $data['arguments'] = $this->fields['arguments']?->jsonSerialize(); + } + if (array_key_exists('emailNotification', $this->fields)) { + $data['emailNotification'] = $this->fields['emailNotification']; + } + if (array_key_exists('fields', $this->fields)) { + $data['fields'] = $this->fields['fields']; + } + if (array_key_exists('recurring', $this->fields)) { + $data['recurring'] = $this->fields['recurring']?->jsonSerialize(); + } + if (array_key_exists('userId', $this->fields)) { + $data['userId'] = $this->fields['userId']; + } + if (array_key_exists('fileId', $this->fields)) { + $data['fileId'] = $this->fields['fileId']; + } + if (array_key_exists('recordCount', $this->fields)) { + $data['recordCount'] = $this->fields['recordCount']; + } + if (array_key_exists('scheduledTime', $this->fields)) { + $data['scheduledTime'] = $this->fields['scheduledTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('createdTime', $this->fields)) { + $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('updatedTime', $this->fields)) { + $data['updatedTime'] = $this->fields['updatedTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('status', $this->fields)) { + $data['status'] = $this->fields['status']; + } + if (array_key_exists('dateRange', $this->fields)) { + $data['dateRange'] = $this->fields['dateRange']?->jsonSerialize(); + } + if (array_key_exists('_links', $this->fields)) { + $data['_links'] = $this->fields['_links'] !== null + ? array_map( + static fn (ResourceLink $resourceLink) => $resourceLink->jsonSerialize(), + $this->fields['_links'], + ) + : null; + } + if (array_key_exists('_embedded', $this->fields)) { + $data['_embedded'] = $this->fields['_embedded']?->jsonSerialize(); + } + + return $data; + } + + private function setId(null|string $id): static + { + $this->fields['id'] = $id; + + return $this; + } + + private function setUserId(null|string $userId): static + { + $this->fields['userId'] = $userId; + + return $this; + } + + private function setFileId(null|string $fileId): static + { + $this->fields['fileId'] = $fileId; + + return $this; + } + + private function setRecordCount(null|int $recordCount): static + { + $this->fields['recordCount'] = $recordCount; + + return $this; + } + + private function setScheduledTime(null|DateTimeImmutable|string $scheduledTime): static + { + if ($scheduledTime !== null && !($scheduledTime instanceof DateTimeImmutable)) { + $scheduledTime = new DateTimeImmutable($scheduledTime); + } + + $this->fields['scheduledTime'] = $scheduledTime; + + return $this; + } + + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static + { + if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { + $createdTime = new DateTimeImmutable($createdTime); + } + + $this->fields['createdTime'] = $createdTime; + + return $this; + } + + private function setUpdatedTime(null|DateTimeImmutable|string $updatedTime): static + { + if ($updatedTime !== null && !($updatedTime instanceof DateTimeImmutable)) { + $updatedTime = new DateTimeImmutable($updatedTime); + } + + $this->fields['updatedTime'] = $updatedTime; + + return $this; + } + + private function setStatus(null|string $status): static + { + $this->fields['status'] = $status; + + return $this; + } + + /** + * @param null|array[]|ResourceLink[] $links + */ + private function setLinks(null|array $links): static + { + $links = $links !== null ? array_map( + fn ($value) => $value instanceof ResourceLink ? $value : ResourceLink::from($value), + $links, + ) : null; + + $this->fields['_links'] = $links; + + return $this; + } +} diff --git a/src/Model/PayoutRequestAllocationsDataExportDateRange.php b/src/Model/PayoutRequestAllocationsDataExportDateRange.php new file mode 100644 index 000000000..8cff0a640 --- /dev/null +++ b/src/Model/PayoutRequestAllocationsDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/PayoutRequestAllocationsDataExportEmbedded.php b/src/Model/PayoutRequestAllocationsDataExportEmbedded.php new file mode 100644 index 000000000..e1a275f6a --- /dev/null +++ b/src/Model/PayoutRequestAllocationsDataExportEmbedded.php @@ -0,0 +1,86 @@ +setFile($data['file']); + } + if (array_key_exists('user', $data)) { + $this->setUser($data['user']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getFile(): ?File + { + return $this->fields['file'] ?? null; + } + + public function setFile(null|File|array $file): static + { + if ($file !== null && !($file instanceof File)) { + $file = File::from($file); + } + + $this->fields['file'] = $file; + + return $this; + } + + public function getUser(): ?User + { + return $this->fields['user'] ?? null; + } + + public function setUser(null|User|array $user): static + { + if ($user !== null && !($user instanceof User)) { + $user = User::from($user); + } + + $this->fields['user'] = $user; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('file', $this->fields)) { + $data['file'] = $this->fields['file']?->jsonSerialize(); + } + if (array_key_exists('user', $this->fields)) { + $data['user'] = $this->fields['user']?->jsonSerialize(); + } + + return $data; + } +} diff --git a/src/Model/PayoutRequestBatch.php b/src/Model/PayoutRequestBatch.php new file mode 100644 index 000000000..ead10ec95 --- /dev/null +++ b/src/Model/PayoutRequestBatch.php @@ -0,0 +1,308 @@ +setId($data['id']); + } + if (array_key_exists('userId', $data)) { + $this->setUserId($data['userId']); + } + if (array_key_exists('status', $data)) { + $this->setStatus($data['status']); + } + if (array_key_exists('totalCount', $data)) { + $this->setTotalCount($data['totalCount']); + } + if (array_key_exists('successCount', $data)) { + $this->setSuccessCount($data['successCount']); + } + if (array_key_exists('failureCount', $data)) { + $this->setFailureCount($data['failureCount']); + } + if (array_key_exists('customerCount', $data)) { + $this->setCustomerCount($data['customerCount']); + } + if (array_key_exists('totalAmountByCurrency', $data)) { + $this->setTotalAmountByCurrency($data['totalAmountByCurrency']); + } + if (array_key_exists('description', $data)) { + $this->setDescription($data['description']); + } + if (array_key_exists('createdTime', $data)) { + $this->setCreatedTime($data['createdTime']); + } + if (array_key_exists('updatedTime', $data)) { + $this->setUpdatedTime($data['updatedTime']); + } + if (array_key_exists('_links', $data)) { + $this->setLinks($data['_links']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getId(): ?string + { + return $this->fields['id'] ?? null; + } + + public function getUserId(): ?string + { + return $this->fields['userId'] ?? null; + } + + public function getStatus(): ?string + { + return $this->fields['status'] ?? null; + } + + public function getTotalCount(): ?int + { + return $this->fields['totalCount'] ?? null; + } + + public function getSuccessCount(): ?int + { + return $this->fields['successCount'] ?? null; + } + + public function getFailureCount(): ?int + { + return $this->fields['failureCount'] ?? null; + } + + public function getCustomerCount(): ?int + { + return $this->fields['customerCount'] ?? null; + } + + /** + * @return null|PayoutRequestBatchTotalAmountByCurrency[] + */ + public function getTotalAmountByCurrency(): ?array + { + return $this->fields['totalAmountByCurrency'] ?? null; + } + + public function getDescription(): ?string + { + return $this->fields['description'] ?? null; + } + + public function setDescription(null|string $description): static + { + $this->fields['description'] = $description; + + return $this; + } + + public function getCreatedTime(): ?DateTimeImmutable + { + return $this->fields['createdTime'] ?? null; + } + + public function getUpdatedTime(): ?DateTimeImmutable + { + return $this->fields['updatedTime'] ?? null; + } + + /** + * @return null|ResourceLink[] + */ + public function getLinks(): ?array + { + return $this->fields['_links'] ?? null; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('id', $this->fields)) { + $data['id'] = $this->fields['id']; + } + if (array_key_exists('userId', $this->fields)) { + $data['userId'] = $this->fields['userId']; + } + if (array_key_exists('status', $this->fields)) { + $data['status'] = $this->fields['status']; + } + if (array_key_exists('totalCount', $this->fields)) { + $data['totalCount'] = $this->fields['totalCount']; + } + if (array_key_exists('successCount', $this->fields)) { + $data['successCount'] = $this->fields['successCount']; + } + if (array_key_exists('failureCount', $this->fields)) { + $data['failureCount'] = $this->fields['failureCount']; + } + if (array_key_exists('customerCount', $this->fields)) { + $data['customerCount'] = $this->fields['customerCount']; + } + if (array_key_exists('totalAmountByCurrency', $this->fields)) { + $data['totalAmountByCurrency'] = $this->fields['totalAmountByCurrency'] !== null + ? array_map( + static fn (PayoutRequestBatchTotalAmountByCurrency $payoutRequestBatchTotalAmountByCurrency) => $payoutRequestBatchTotalAmountByCurrency->jsonSerialize(), + $this->fields['totalAmountByCurrency'], + ) + : null; + } + if (array_key_exists('description', $this->fields)) { + $data['description'] = $this->fields['description']; + } + if (array_key_exists('createdTime', $this->fields)) { + $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('updatedTime', $this->fields)) { + $data['updatedTime'] = $this->fields['updatedTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('_links', $this->fields)) { + $data['_links'] = $this->fields['_links'] !== null + ? array_map( + static fn (ResourceLink $resourceLink) => $resourceLink->jsonSerialize(), + $this->fields['_links'], + ) + : null; + } + + return $data; + } + + private function setId(null|string $id): static + { + $this->fields['id'] = $id; + + return $this; + } + + private function setUserId(null|string $userId): static + { + $this->fields['userId'] = $userId; + + return $this; + } + + private function setStatus(null|string $status): static + { + $this->fields['status'] = $status; + + return $this; + } + + private function setTotalCount(null|int $totalCount): static + { + $this->fields['totalCount'] = $totalCount; + + return $this; + } + + private function setSuccessCount(null|int $successCount): static + { + $this->fields['successCount'] = $successCount; + + return $this; + } + + private function setFailureCount(null|int $failureCount): static + { + $this->fields['failureCount'] = $failureCount; + + return $this; + } + + private function setCustomerCount(null|int $customerCount): static + { + $this->fields['customerCount'] = $customerCount; + + return $this; + } + + /** + * @param null|array[]|PayoutRequestBatchTotalAmountByCurrency[] $totalAmountByCurrency + */ + private function setTotalAmountByCurrency(null|array $totalAmountByCurrency): static + { + $totalAmountByCurrency = $totalAmountByCurrency !== null ? array_map( + fn ($value) => $value instanceof PayoutRequestBatchTotalAmountByCurrency ? $value : PayoutRequestBatchTotalAmountByCurrency::from($value), + $totalAmountByCurrency, + ) : null; + + $this->fields['totalAmountByCurrency'] = $totalAmountByCurrency; + + return $this; + } + + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static + { + if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { + $createdTime = new DateTimeImmutable($createdTime); + } + + $this->fields['createdTime'] = $createdTime; + + return $this; + } + + private function setUpdatedTime(null|DateTimeImmutable|string $updatedTime): static + { + if ($updatedTime !== null && !($updatedTime instanceof DateTimeImmutable)) { + $updatedTime = new DateTimeImmutable($updatedTime); + } + + $this->fields['updatedTime'] = $updatedTime; + + return $this; + } + + /** + * @param null|array[]|ResourceLink[] $links + */ + private function setLinks(null|array $links): static + { + $links = $links !== null ? array_map( + fn ($value) => $value instanceof ResourceLink ? $value : ResourceLink::from($value), + $links, + ) : null; + + $this->fields['_links'] = $links; + + return $this; + } +} diff --git a/src/Model/PayoutRequestBatchTotalAmountByCurrency.php b/src/Model/PayoutRequestBatchTotalAmountByCurrency.php new file mode 100644 index 000000000..79857ec78 --- /dev/null +++ b/src/Model/PayoutRequestBatchTotalAmountByCurrency.php @@ -0,0 +1,82 @@ +setCurrency($data['currency']); + } + if (array_key_exists('amount', $data)) { + $this->setAmount($data['amount']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getCurrency(): string + { + return $this->fields['currency']; + } + + public function setCurrency(string $currency): static + { + $this->fields['currency'] = $currency; + + return $this; + } + + public function getAmount(): float + { + return $this->fields['amount']; + } + + public function setAmount(float|string $amount): static + { + if (is_string($amount)) { + $amount = (float) $amount; + } + + $this->fields['amount'] = $amount; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('currency', $this->fields)) { + $data['currency'] = $this->fields['currency']; + } + if (array_key_exists('amount', $this->fields)) { + $data['amount'] = $this->fields['amount']; + } + + return $data; + } +} diff --git a/src/Model/PayoutRequestBlockReason.php b/src/Model/PayoutRequestBlockReason.php new file mode 100644 index 000000000..54a70a3f0 --- /dev/null +++ b/src/Model/PayoutRequestBlockReason.php @@ -0,0 +1,40 @@ +setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function jsonSerialize(): array + { + $data = []; + + return $data; + } +} diff --git a/src/Model/PayoutRequestCancellation.php b/src/Model/PayoutRequestCancellation.php index 068489a46..8df3d8797 100644 --- a/src/Model/PayoutRequestCancellation.php +++ b/src/Model/PayoutRequestCancellation.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayoutRequestCancellation implements JsonSerializable { + use HasMetadata; + public const CANCELED_BY_MERCHANT = 'merchant'; public const CANCELED_BY_CUSTOMER = 'customer'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('canceledBy', $data)) { $this->setCanceledBy($data['canceledBy']); @@ -32,11 +35,12 @@ public function __construct(array $data = []) if (array_key_exists('description', $data)) { $this->setDescription($data['description']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCanceledBy(): ?string diff --git a/src/Model/PayoutRequestSplit.php b/src/Model/PayoutRequestSplit.php new file mode 100644 index 000000000..6e95c63ca --- /dev/null +++ b/src/Model/PayoutRequestSplit.php @@ -0,0 +1,71 @@ +setAmounts($data['amounts']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + /** + * @return float[] + */ + public function getAmounts(): array + { + return $this->fields['amounts']; + } + + /** + * @param float[]|string[] $amounts + */ + public function setAmounts(array $amounts): static + { + $amounts = array_map( + fn ($value) => is_string($value) ? (float) $value : $value, + $amounts, + ); + + $this->fields['amounts'] = $amounts; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('amounts', $this->fields)) { + $data['amounts'] = $this->fields['amounts']; + } + + return $data; + } +} diff --git a/src/Model/PayoutRequestTimelineMessage.php b/src/Model/PayoutRequestTimelineMessage.php index 9d372b9ec..e972ca342 100644 --- a/src/Model/PayoutRequestTimelineMessage.php +++ b/src/Model/PayoutRequestTimelineMessage.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayoutRequestTimelineMessage implements JsonSerializable { + use HasMetadata; + public const TYPE_TIMELINE_COMMENT_CREATED = 'timeline-comment-created'; public const TYPE_PAYOUT_REQUEST_CREATED = 'payout-request-created'; - public const TYPE_PAYOUT_REQUEST_FLUSHED = 'payout-request-flushed'; + public const TYPE_PAYOUT_REQUEST_READY = 'payout-request-ready'; - public const TYPE_PAYOUT_REQUEST_FLUSH_UNDONE = 'payout-request-flush-undone'; + public const TYPE_PAYOUT_REQUEST_RETURNED_TO_PENDING = 'payout-request-returned-to-pending'; public const TYPE_PAYOUT_REQUEST_APPROVED = 'payout-request-approved'; @@ -54,7 +57,7 @@ class PayoutRequestTimelineMessage implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -74,11 +77,12 @@ public function __construct(array $data = []) if (array_key_exists('extraData', $data)) { $this->setExtraData($data['extraData']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): string diff --git a/src/Model/PayoutRequestV2.php b/src/Model/PayoutRequestV2.php index e74b0eecd..bd5b340b6 100644 --- a/src/Model/PayoutRequestV2.php +++ b/src/Model/PayoutRequestV2.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayoutRequestV2 implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; - public const STATUS_FLUSHED = 'flushed'; + public const STATUS_READY = 'ready'; public const STATUS_APPROVED = 'approved'; @@ -42,9 +45,13 @@ class PayoutRequestV2 implements JsonSerializable public const STATUS_ADMIN_REVERSED = 'admin-reversed'; + public const STATUS_SPLIT = 'split'; + + public const STATUS_MERGED = 'merged'; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -58,6 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentInstrumentId', $data)) { $this->setPaymentInstrumentId($data['paymentInstrumentId']); } + if (array_key_exists('splitFromPayoutRequestId', $data)) { + $this->setSplitFromPayoutRequestId($data['splitFromPayoutRequestId']); + } + if (array_key_exists('mergedIntoPayoutRequestId', $data)) { + $this->setMergedIntoPayoutRequestId($data['mergedIntoPayoutRequestId']); + } if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } @@ -76,6 +89,12 @@ public function __construct(array $data = []) if (array_key_exists('blocked', $data)) { $this->setBlocked($data['blocked']); } + if (array_key_exists('blockReason', $data)) { + $this->setBlockReason($data['blockReason']); + } + if (array_key_exists('batchId', $data)) { + $this->setBatchId($data['batchId']); + } if (array_key_exists('selectPaymentInstrumentUrl', $data)) { $this->setSelectPaymentInstrumentUrl($data['selectPaymentInstrumentUrl']); } @@ -97,11 +116,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -145,6 +165,16 @@ public function setPaymentInstrumentId(null|string $paymentInstrumentId): static return $this; } + public function getSplitFromPayoutRequestId(): ?string + { + return $this->fields['splitFromPayoutRequestId'] ?? null; + } + + public function getMergedIntoPayoutRequestId(): ?string + { + return $this->fields['mergedIntoPayoutRequestId'] ?? null; + } + public function getCurrency(): string { return $this->fields['currency']; @@ -214,6 +244,27 @@ public function setBlocked(null|bool $blocked): static return $this; } + public function getBlockReason(): ?PayoutRequestBlockReason + { + return $this->fields['blockReason'] ?? null; + } + + public function setBlockReason(null|PayoutRequestBlockReason|array $blockReason): static + { + if ($blockReason !== null && !($blockReason instanceof PayoutRequestBlockReason)) { + $blockReason = PayoutRequestBlockReason::from($blockReason); + } + + $this->fields['blockReason'] = $blockReason; + + return $this; + } + + public function getBatchId(): ?string + { + return $this->fields['batchId'] ?? null; + } + public function getSelectPaymentInstrumentUrl(): ?string { return $this->fields['selectPaymentInstrumentUrl'] ?? null; @@ -288,6 +339,12 @@ public function jsonSerialize(): array if (array_key_exists('paymentInstrumentId', $this->fields)) { $data['paymentInstrumentId'] = $this->fields['paymentInstrumentId']; } + if (array_key_exists('splitFromPayoutRequestId', $this->fields)) { + $data['splitFromPayoutRequestId'] = $this->fields['splitFromPayoutRequestId']; + } + if (array_key_exists('mergedIntoPayoutRequestId', $this->fields)) { + $data['mergedIntoPayoutRequestId'] = $this->fields['mergedIntoPayoutRequestId']; + } if (array_key_exists('currency', $this->fields)) { $data['currency'] = $this->fields['currency']; } @@ -306,6 +363,12 @@ public function jsonSerialize(): array if (array_key_exists('blocked', $this->fields)) { $data['blocked'] = $this->fields['blocked']; } + if (array_key_exists('blockReason', $this->fields)) { + $data['blockReason'] = $this->fields['blockReason']?->jsonSerialize(); + } + if (array_key_exists('batchId', $this->fields)) { + $data['batchId'] = $this->fields['batchId']; + } if (array_key_exists('selectPaymentInstrumentUrl', $this->fields)) { $data['selectPaymentInstrumentUrl'] = $this->fields['selectPaymentInstrumentUrl']; } @@ -348,6 +411,20 @@ private function setId(null|string $id): static return $this; } + private function setSplitFromPayoutRequestId(null|string $splitFromPayoutRequestId): static + { + $this->fields['splitFromPayoutRequestId'] = $splitFromPayoutRequestId; + + return $this; + } + + private function setMergedIntoPayoutRequestId(null|string $mergedIntoPayoutRequestId): static + { + $this->fields['mergedIntoPayoutRequestId'] = $mergedIntoPayoutRequestId; + + return $this; + } + private function setAvailableAmount(null|float|string $availableAmount): static { if (is_string($availableAmount)) { @@ -359,6 +436,13 @@ private function setAvailableAmount(null|float|string $availableAmount): static return $this; } + private function setBatchId(null|string $batchId): static + { + $this->fields['batchId'] = $batchId; + + return $this; + } + private function setSelectPaymentInstrumentUrl(null|string $selectPaymentInstrumentUrl): static { $this->fields['selectPaymentInstrumentUrl'] = $selectPaymentInstrumentUrl; diff --git a/src/Model/PayoutRequestsDataExport.php b/src/Model/PayoutRequestsDataExport.php new file mode 100644 index 000000000..e25d9c729 --- /dev/null +++ b/src/Model/PayoutRequestsDataExport.php @@ -0,0 +1,428 @@ +setId($data['id']); + } + if (array_key_exists('name', $data)) { + $this->setName($data['name']); + } + if (array_key_exists('format', $data)) { + $this->setFormat($data['format']); + } + if (array_key_exists('arguments', $data)) { + $this->setArguments($data['arguments']); + } + if (array_key_exists('emailNotification', $data)) { + $this->setEmailNotification($data['emailNotification']); + } + if (array_key_exists('fields', $data)) { + $this->setFields($data['fields']); + } + if (array_key_exists('recurring', $data)) { + $this->setRecurring($data['recurring']); + } + if (array_key_exists('userId', $data)) { + $this->setUserId($data['userId']); + } + if (array_key_exists('fileId', $data)) { + $this->setFileId($data['fileId']); + } + if (array_key_exists('recordCount', $data)) { + $this->setRecordCount($data['recordCount']); + } + if (array_key_exists('scheduledTime', $data)) { + $this->setScheduledTime($data['scheduledTime']); + } + if (array_key_exists('createdTime', $data)) { + $this->setCreatedTime($data['createdTime']); + } + if (array_key_exists('updatedTime', $data)) { + $this->setUpdatedTime($data['updatedTime']); + } + if (array_key_exists('status', $data)) { + $this->setStatus($data['status']); + } + if (array_key_exists('dateRange', $data)) { + $this->setDateRange($data['dateRange']); + } + if (array_key_exists('_links', $data)) { + $this->setLinks($data['_links']); + } + if (array_key_exists('_embedded', $data)) { + $this->setEmbedded($data['_embedded']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getResource(): string + { + return 'payoutRequests'; + } + + public function getId(): ?string + { + return $this->fields['id'] ?? null; + } + + public function getName(): string + { + return $this->fields['name']; + } + + public function setName(string $name): static + { + $this->fields['name'] = $name; + + return $this; + } + + public function getFormat(): string + { + return $this->fields['format']; + } + + public function setFormat(string $format): static + { + $this->fields['format'] = $format; + + return $this; + } + + public function getArguments(): ?DataExportArguments + { + return $this->fields['arguments'] ?? null; + } + + public function setArguments(null|DataExportArguments|array $arguments): static + { + if ($arguments !== null && !($arguments instanceof DataExportArguments)) { + $arguments = DataExportArguments::from($arguments); + } + + $this->fields['arguments'] = $arguments; + + return $this; + } + + /** + * @return null|string[] + */ + public function getEmailNotification(): ?array + { + return $this->fields['emailNotification'] ?? null; + } + + /** + * @param null|string[] $emailNotification + */ + public function setEmailNotification(null|array $emailNotification): static + { + $this->fields['emailNotification'] = $emailNotification; + + return $this; + } + + /** + * @return null|string[] + */ + public function getFields(): ?array + { + return $this->fields['fields'] ?? null; + } + + /** + * @param null|string[] $fields + */ + public function setFields(null|array $fields): static + { + $this->fields['fields'] = $fields; + + return $this; + } + + public function getRecurring(): ?DataExportRecurring + { + return $this->fields['recurring'] ?? null; + } + + public function setRecurring(null|DataExportRecurring|array $recurring): static + { + if ($recurring !== null && !($recurring instanceof DataExportRecurring)) { + $recurring = DataExportRecurring::from($recurring); + } + + $this->fields['recurring'] = $recurring; + + return $this; + } + + public function getUserId(): ?string + { + return $this->fields['userId'] ?? null; + } + + public function getFileId(): ?string + { + return $this->fields['fileId'] ?? null; + } + + public function getRecordCount(): ?int + { + return $this->fields['recordCount'] ?? null; + } + + public function getScheduledTime(): ?DateTimeImmutable + { + return $this->fields['scheduledTime'] ?? null; + } + + public function getCreatedTime(): ?DateTimeImmutable + { + return $this->fields['createdTime'] ?? null; + } + + public function getUpdatedTime(): ?DateTimeImmutable + { + return $this->fields['updatedTime'] ?? null; + } + + public function getStatus(): ?string + { + return $this->fields['status'] ?? null; + } + + public function getDateRange(): ?PayoutRequestsDataExportDateRange + { + return $this->fields['dateRange'] ?? null; + } + + public function setDateRange(null|PayoutRequestsDataExportDateRange|array $dateRange): static + { + if ($dateRange !== null && !($dateRange instanceof PayoutRequestsDataExportDateRange)) { + $dateRange = PayoutRequestsDataExportDateRange::from($dateRange); + } + + $this->fields['dateRange'] = $dateRange; + + return $this; + } + + /** + * @return null|ResourceLink[] + */ + public function getLinks(): ?array + { + return $this->fields['_links'] ?? null; + } + + public function getEmbedded(): ?PayoutRequestsDataExportEmbedded + { + return $this->fields['_embedded'] ?? null; + } + + public function setEmbedded(null|PayoutRequestsDataExportEmbedded|array $embedded): static + { + if ($embedded !== null && !($embedded instanceof PayoutRequestsDataExportEmbedded)) { + $embedded = PayoutRequestsDataExportEmbedded::from($embedded); + } + + $this->fields['_embedded'] = $embedded; + + return $this; + } + + public function jsonSerialize(): array + { + $data = [ + 'resource' => 'payoutRequests', + ]; + if (array_key_exists('id', $this->fields)) { + $data['id'] = $this->fields['id']; + } + if (array_key_exists('name', $this->fields)) { + $data['name'] = $this->fields['name']; + } + if (array_key_exists('format', $this->fields)) { + $data['format'] = $this->fields['format']; + } + if (array_key_exists('arguments', $this->fields)) { + $data['arguments'] = $this->fields['arguments']?->jsonSerialize(); + } + if (array_key_exists('emailNotification', $this->fields)) { + $data['emailNotification'] = $this->fields['emailNotification']; + } + if (array_key_exists('fields', $this->fields)) { + $data['fields'] = $this->fields['fields']; + } + if (array_key_exists('recurring', $this->fields)) { + $data['recurring'] = $this->fields['recurring']?->jsonSerialize(); + } + if (array_key_exists('userId', $this->fields)) { + $data['userId'] = $this->fields['userId']; + } + if (array_key_exists('fileId', $this->fields)) { + $data['fileId'] = $this->fields['fileId']; + } + if (array_key_exists('recordCount', $this->fields)) { + $data['recordCount'] = $this->fields['recordCount']; + } + if (array_key_exists('scheduledTime', $this->fields)) { + $data['scheduledTime'] = $this->fields['scheduledTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('createdTime', $this->fields)) { + $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('updatedTime', $this->fields)) { + $data['updatedTime'] = $this->fields['updatedTime']?->format(DateTimeInterface::RFC3339); + } + if (array_key_exists('status', $this->fields)) { + $data['status'] = $this->fields['status']; + } + if (array_key_exists('dateRange', $this->fields)) { + $data['dateRange'] = $this->fields['dateRange']?->jsonSerialize(); + } + if (array_key_exists('_links', $this->fields)) { + $data['_links'] = $this->fields['_links'] !== null + ? array_map( + static fn (ResourceLink $resourceLink) => $resourceLink->jsonSerialize(), + $this->fields['_links'], + ) + : null; + } + if (array_key_exists('_embedded', $this->fields)) { + $data['_embedded'] = $this->fields['_embedded']?->jsonSerialize(); + } + + return $data; + } + + private function setId(null|string $id): static + { + $this->fields['id'] = $id; + + return $this; + } + + private function setUserId(null|string $userId): static + { + $this->fields['userId'] = $userId; + + return $this; + } + + private function setFileId(null|string $fileId): static + { + $this->fields['fileId'] = $fileId; + + return $this; + } + + private function setRecordCount(null|int $recordCount): static + { + $this->fields['recordCount'] = $recordCount; + + return $this; + } + + private function setScheduledTime(null|DateTimeImmutable|string $scheduledTime): static + { + if ($scheduledTime !== null && !($scheduledTime instanceof DateTimeImmutable)) { + $scheduledTime = new DateTimeImmutable($scheduledTime); + } + + $this->fields['scheduledTime'] = $scheduledTime; + + return $this; + } + + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static + { + if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { + $createdTime = new DateTimeImmutable($createdTime); + } + + $this->fields['createdTime'] = $createdTime; + + return $this; + } + + private function setUpdatedTime(null|DateTimeImmutable|string $updatedTime): static + { + if ($updatedTime !== null && !($updatedTime instanceof DateTimeImmutable)) { + $updatedTime = new DateTimeImmutable($updatedTime); + } + + $this->fields['updatedTime'] = $updatedTime; + + return $this; + } + + private function setStatus(null|string $status): static + { + $this->fields['status'] = $status; + + return $this; + } + + /** + * @param null|array[]|ResourceLink[] $links + */ + private function setLinks(null|array $links): static + { + $links = $links !== null ? array_map( + fn ($value) => $value instanceof ResourceLink ? $value : ResourceLink::from($value), + $links, + ) : null; + + $this->fields['_links'] = $links; + + return $this; + } +} diff --git a/src/Model/PayoutRequestsDataExportDateRange.php b/src/Model/PayoutRequestsDataExportDateRange.php new file mode 100644 index 000000000..4ce78fa9e --- /dev/null +++ b/src/Model/PayoutRequestsDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/PayoutRequestsDataExportEmbedded.php b/src/Model/PayoutRequestsDataExportEmbedded.php new file mode 100644 index 000000000..d178bbc23 --- /dev/null +++ b/src/Model/PayoutRequestsDataExportEmbedded.php @@ -0,0 +1,86 @@ +setFile($data['file']); + } + if (array_key_exists('user', $data)) { + $this->setUser($data['user']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getFile(): ?File + { + return $this->fields['file'] ?? null; + } + + public function setFile(null|File|array $file): static + { + if ($file !== null && !($file instanceof File)) { + $file = File::from($file); + } + + $this->fields['file'] = $file; + + return $this; + } + + public function getUser(): ?User + { + return $this->fields['user'] ?? null; + } + + public function setUser(null|User|array $user): static + { + if ($user !== null && !($user instanceof User)) { + $user = User::from($user); + } + + $this->fields['user'] = $user; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('file', $this->fields)) { + $data['file'] = $this->fields['file']?->jsonSerialize(); + } + if (array_key_exists('user', $this->fields)) { + $data['user'] = $this->fields['user']?->jsonSerialize(); + } + + return $data; + } +} diff --git a/src/Model/Payper.php b/src/Model/Payper.php index 1dc34ddbe..9c9828136 100644 --- a/src/Model/Payper.php +++ b/src/Model/Payper.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Payper extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Payper', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayperCredentials diff --git a/src/Model/PayperCredentials.php b/src/Model/PayperCredentials.php index c482bc779..28744db8f 100644 --- a/src/Model/PayperCredentials.php +++ b/src/Model/PayperCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayperCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSecretKey(): string diff --git a/src/Model/PayperSettings.php b/src/Model/PayperSettings.php index 3d105335b..91c975300 100644 --- a/src/Model/PayperSettings.php +++ b/src/Model/PayperSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayperSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('autodepositLookup', $data)) { $this->setAutodepositLookup($data['autodepositLookup']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('bypassAutodepositLookup', $data)) { $this->setBypassAutodepositLookup($data['bypassAutodepositLookup']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAutodepositLookup(): ?bool diff --git a/src/Model/Payr.php b/src/Model/Payr.php index 228b3e6a6..55d6db7be 100644 --- a/src/Model/Payr.php +++ b/src/Model/Payr.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Payr extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Payr', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayrCredentials diff --git a/src/Model/PayrCredentials.php b/src/Model/PayrCredentials.php index 87e0c6a47..ca838ee24 100644 --- a/src/Model/PayrCredentials.php +++ b/src/Model/PayrCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayrCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('apiSecurityToken', $data)) { $this->setApiSecurityToken($data['apiSecurityToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/Paysafe.php b/src/Model/Paysafe.php index 43b80d2fc..dba0d2490 100644 --- a/src/Model/Paysafe.php +++ b/src/Model/Paysafe.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paysafe extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paysafe', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaysafeCredentials diff --git a/src/Model/PaysafeCredentials.php b/src/Model/PaysafeCredentials.php index 82e06ad1c..1f5025d53 100644 --- a/src/Model/PaysafeCredentials.php +++ b/src/Model/PaysafeCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaysafeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('storeId', $data)) { $this->setStoreId($data['storeId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('accountNum', $data)) { $this->setAccountNum($data['accountNum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStoreId(): string diff --git a/src/Model/Paysafecard.php b/src/Model/Paysafecard.php index 5cb633143..6abb28e70 100644 --- a/src/Model/Paysafecard.php +++ b/src/Model/Paysafecard.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paysafecard extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paysafecard', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaysafecardCredentials diff --git a/src/Model/PaysafecardCredentials.php b/src/Model/PaysafecardCredentials.php index 7584ed464..33232a65e 100644 --- a/src/Model/PaysafecardCredentials.php +++ b/src/Model/PaysafecardCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaysafecardCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('reconciliationApiKey', $data)) { $this->setReconciliationApiKey($data['reconciliationApiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Paysafecash.php b/src/Model/Paysafecash.php index 4ee02038b..27b1c02ac 100644 --- a/src/Model/Paysafecash.php +++ b/src/Model/Paysafecash.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Paysafecash extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Paysafecash', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PaysafecashCredentials diff --git a/src/Model/PaysafecashCredentials.php b/src/Model/PaysafecashCredentials.php index 4f24cbaef..7e0adc90b 100644 --- a/src/Model/PaysafecashCredentials.php +++ b/src/Model/PaysafecashCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PaysafecashCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Payvision.php b/src/Model/Payvision.php index d42b15bce..7e6fc08c2 100644 --- a/src/Model/Payvision.php +++ b/src/Model/Payvision.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Payvision extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Payvision', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PayvisionCredentials diff --git a/src/Model/PayvisionCredentials.php b/src/Model/PayvisionCredentials.php index ecc97a7ed..d0ead4e40 100644 --- a/src/Model/PayvisionCredentials.php +++ b/src/Model/PayvisionCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayvisionCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('memberId', $data)) { $this->setMemberId($data['memberId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('memberGuid', $data)) { $this->setMemberGuid($data['memberGuid']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMemberId(): string diff --git a/src/Model/PayvisionSettings.php b/src/Model/PayvisionSettings.php index d4aa65905..d4f50662d 100644 --- a/src/Model/PayvisionSettings.php +++ b/src/Model/PayvisionSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PayvisionSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('avs', $data)) { $this->setAvs($data['avs']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantAccountType', $data)) { $this->setMerchantAccountType($data['merchantAccountType']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAvs(): ?bool diff --git a/src/Model/PercentageFeeFormula.php b/src/Model/PercentageFeeFormula.php index e47fc33c7..0def3d100 100644 --- a/src/Model/PercentageFeeFormula.php +++ b/src/Model/PercentageFeeFormula.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PercentageFeeFormula implements FeeFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -29,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('minAmount', $data)) { $this->setMinAmount($data['minAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/PeriodAnchorFactory.php b/src/Model/PeriodAnchorFactory.php index 79b5bad45..2858916ab 100644 --- a/src/Model/PeriodAnchorFactory.php +++ b/src/Model/PeriodAnchorFactory.php @@ -18,11 +18,11 @@ class PeriodAnchorFactory { - public static function from(array $data = []): PeriodAnchor + public static function from(array $data = [], array $metadata = []): PeriodAnchor { return match ($data['method']) { - 'day-of-month' => SchedulingMethodDayOfMonth::from($data), - 'day-of-week' => SchedulingMethodDayOfWeek::from($data), + 'day-of-month' => SchedulingMethodDayOfMonth::from($data, $metadata), + 'day-of-week' => SchedulingMethodDayOfWeek::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PharosPayments.php b/src/Model/PharosPayments.php index cdc864c0f..27662c49f 100644 --- a/src/Model/PharosPayments.php +++ b/src/Model/PharosPayments.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PharosPayments extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PharosPayments', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PharosPaymentsCredentials diff --git a/src/Model/PharosPaymentsCredentials.php b/src/Model/PharosPaymentsCredentials.php index 51ef1f22a..bfb47308c 100644 --- a/src/Model/PharosPaymentsCredentials.php +++ b/src/Model/PharosPaymentsCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PharosPaymentsCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('terminalCode', $data)) { $this->setTerminalCode($data['terminalCode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/Piastrix.php b/src/Model/Piastrix.php index 179740bda..b1c051c8f 100644 --- a/src/Model/Piastrix.php +++ b/src/Model/Piastrix.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Piastrix extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Piastrix', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PiastrixCredentials diff --git a/src/Model/PiastrixCredentials.php b/src/Model/PiastrixCredentials.php index 9b2f162a2..c68e75230 100644 --- a/src/Model/PiastrixCredentials.php +++ b/src/Model/PiastrixCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PiastrixCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('shopId', $data)) { $this->setShopId($data['shopId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getShopId(): string diff --git a/src/Model/PiastrixSettings.php b/src/Model/PiastrixSettings.php index 905345903..8463bdfae 100644 --- a/src/Model/PiastrixSettings.php +++ b/src/Model/PiastrixSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PiastrixSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tolerancePercentage', $data)) { $this->setTolerancePercentage($data['tolerancePercentage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTolerancePercentage(): ?int diff --git a/src/Model/PickInstructionGatewayAccountWeights.php b/src/Model/PickInstructionGatewayAccountWeights.php index 856b5891c..42a3d15e4 100644 --- a/src/Model/PickInstructionGatewayAccountWeights.php +++ b/src/Model/PickInstructionGatewayAccountWeights.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PickInstructionGatewayAccountWeights extends GatewayAccountPickInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'method' => 'gateway-account-weights', - ] + $data); + ] + $data, $metadata); if (array_key_exists('weightedList', $data)) { $this->setWeightedList($data['weightedList']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PickInstructionGatewayAccountWeightsWeightedList.php b/src/Model/PickInstructionGatewayAccountWeightsWeightedList.php index eb9aac08c..3625a1171 100644 --- a/src/Model/PickInstructionGatewayAccountWeightsWeightedList.php +++ b/src/Model/PickInstructionGatewayAccountWeightsWeightedList.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PickInstructionGatewayAccountWeightsWeightedList implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('gatewayAccountId', $data)) { $this->setGatewayAccountId($data['gatewayAccountId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('weight', $data)) { $this->setWeight($data['weight']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getGatewayAccountId(): string diff --git a/src/Model/PickInstructionGatewayAcquirerWeights.php b/src/Model/PickInstructionGatewayAcquirerWeights.php index 33f86ce8b..fcaf040ad 100644 --- a/src/Model/PickInstructionGatewayAcquirerWeights.php +++ b/src/Model/PickInstructionGatewayAcquirerWeights.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PickInstructionGatewayAcquirerWeights extends GatewayAccountPickInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'method' => 'gateway-acquirer-weights', - ] + $data); + ] + $data, $metadata); if (array_key_exists('weightedList', $data)) { $this->setWeightedList($data['weightedList']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php b/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php index dcc0f647e..8878a2cb5 100644 --- a/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php +++ b/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PickInstructionGatewayAcquirerWeightsWeightedList implements JsonSerializable { + use HasMetadata; + public const GATEWAY_NAME_A1_GATEWAY = 'A1Gateway'; public const GATEWAY_NAME_ACI = 'ACI'; @@ -446,6 +449,8 @@ class PickInstructionGatewayAcquirerWeightsWeightedList implements JsonSerializa public const GATEWAY_NAME_VEGA_WALLET = 'VegaWallet'; + public const GATEWAY_NAME_VIVA = 'Viva'; + public const GATEWAY_NAME_WALLET88 = 'Wallet88'; public const GATEWAY_NAME_WALPAY = 'Walpay'; @@ -884,7 +889,7 @@ class PickInstructionGatewayAcquirerWeightsWeightedList implements JsonSerializa private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('gatewayName', $data)) { $this->setGatewayName($data['gatewayName']); @@ -895,11 +900,12 @@ public function __construct(array $data = []) if (array_key_exists('weight', $data)) { $this->setWeight($data['weight']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getGatewayName(): ?string diff --git a/src/Model/Pin4Pay.php b/src/Model/Pin4Pay.php index 300ba0104..0c4afcbf3 100644 --- a/src/Model/Pin4Pay.php +++ b/src/Model/Pin4Pay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Pin4Pay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Pin4Pay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): Pin4PayCredentials diff --git a/src/Model/Pin4PayCredentials.php b/src/Model/Pin4PayCredentials.php index 69e56c711..f7298d69f 100644 --- a/src/Model/Pin4PayCredentials.php +++ b/src/Model/Pin4PayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Pin4PayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('keyValue', $data)) { $this->setKeyValue($data['keyValue']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/PlaidAccountToken.php b/src/Model/PlaidAccountToken.php index f0ac1ca29..5be2b47e1 100644 --- a/src/Model/PlaidAccountToken.php +++ b/src/Model/PlaidAccountToken.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PlaidAccountToken implements CompositeToken { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentInstrument', $data)) { $this->setPaymentInstrument($data['paymentInstrument']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/PlaidAccountTokenPaymentInstrument.php b/src/Model/PlaidAccountTokenPaymentInstrument.php index 6e7443364..325f922fb 100644 --- a/src/Model/PlaidAccountTokenPaymentInstrument.php +++ b/src/Model/PlaidAccountTokenPaymentInstrument.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlaidAccountTokenPaymentInstrument implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('linkToken', $data)) { $this->setLinkToken($data['linkToken']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('accountId', $data)) { $this->setAccountId($data['accountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLinkToken(): string diff --git a/src/Model/PlaidCredential.php b/src/Model/PlaidCredential.php index 4a22bc328..0a523201c 100644 --- a/src/Model/PlaidCredential.php +++ b/src/Model/PlaidCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PlaidCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class PlaidCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Plan.php b/src/Model/Plan.php index 5d7771c12..568b3b1c6 100644 --- a/src/Model/Plan.php +++ b/src/Model/Plan.php @@ -19,7 +19,7 @@ interface Plan extends JsonSerializable { - public function getId(): ?string; + public function getId(): string; public function getName(): string; diff --git a/src/Model/PlanFactory.php b/src/Model/PlanFactory.php index 4dd87a42a..21a5eb349 100644 --- a/src/Model/PlanFactory.php +++ b/src/Model/PlanFactory.php @@ -16,15 +16,15 @@ class PlanFactory { - public static function from(array $data = []): Plan + public static function from(array $data = [], array $metadata = []): Plan { if ($data['isTrialOnly'] ?? false) { - return TrialOnlyPlan::from($data); + return TrialOnlyPlan::from($data, $metadata); } if (isset($data['recurringInterval'])) { - return SubscriptionPlan::from($data); + return SubscriptionPlan::from($data, $metadata); } - return OneTimeSalePlan::from($data); + return OneTimeSalePlan::from($data, $metadata); } } diff --git a/src/Model/PlanFormulaFixedFee.php b/src/Model/PlanFormulaFixedFee.php index 631c2c2b2..90776fbe6 100644 --- a/src/Model/PlanFormulaFixedFee.php +++ b/src/Model/PlanFormulaFixedFee.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PlanFormulaFixedFee implements PlanPriceFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFormula(): string diff --git a/src/Model/PlanFormulaFlatRate.php b/src/Model/PlanFormulaFlatRate.php index 098cc294f..8b21205f7 100644 --- a/src/Model/PlanFormulaFlatRate.php +++ b/src/Model/PlanFormulaFlatRate.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PlanFormulaFlatRate implements PlanPriceFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); @@ -29,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('maxQuantity', $data)) { $this->setMaxQuantity($data['maxQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFormula(): string diff --git a/src/Model/PlanFormulaStairstep.php b/src/Model/PlanFormulaStairstep.php index d32897789..4a4284af9 100644 --- a/src/Model/PlanFormulaStairstep.php +++ b/src/Model/PlanFormulaStairstep.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PlanFormulaStairstep implements PlanPriceFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('brackets', $data)) { $this->setBrackets($data['brackets']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('minQuantity', $data)) { $this->setMinQuantity($data['minQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFormula(): string diff --git a/src/Model/PlanFormulaStairstepBrackets.php b/src/Model/PlanFormulaStairstepBrackets.php index 411a73841..eab01b184 100644 --- a/src/Model/PlanFormulaStairstepBrackets.php +++ b/src/Model/PlanFormulaStairstepBrackets.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlanFormulaStairstepBrackets implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('maxQuantity', $data)) { $this->setMaxQuantity($data['maxQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrice(): ?float diff --git a/src/Model/PlanFormulaTiered.php b/src/Model/PlanFormulaTiered.php index e1c3192f2..663ea2dcf 100644 --- a/src/Model/PlanFormulaTiered.php +++ b/src/Model/PlanFormulaTiered.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PlanFormulaTiered implements PlanPriceFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('brackets', $data)) { $this->setBrackets($data['brackets']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('minQuantity', $data)) { $this->setMinQuantity($data['minQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFormula(): string diff --git a/src/Model/PlanFormulaTieredBrackets.php b/src/Model/PlanFormulaTieredBrackets.php index ee5233cde..bea7b2b3d 100644 --- a/src/Model/PlanFormulaTieredBrackets.php +++ b/src/Model/PlanFormulaTieredBrackets.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlanFormulaTieredBrackets implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('maxQuantity', $data)) { $this->setMaxQuantity($data['maxQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrice(): ?float diff --git a/src/Model/PlanFormulaVolume.php b/src/Model/PlanFormulaVolume.php index e05815c59..cf9d7f22b 100644 --- a/src/Model/PlanFormulaVolume.php +++ b/src/Model/PlanFormulaVolume.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PlanFormulaVolume implements PlanPriceFormula { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('brackets', $data)) { $this->setBrackets($data['brackets']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('minQuantity', $data)) { $this->setMinQuantity($data['minQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFormula(): string diff --git a/src/Model/PlanFormulaVolumeBrackets.php b/src/Model/PlanFormulaVolumeBrackets.php index a00409481..0807e2180 100644 --- a/src/Model/PlanFormulaVolumeBrackets.php +++ b/src/Model/PlanFormulaVolumeBrackets.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlanFormulaVolumeBrackets implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('maxQuantity', $data)) { $this->setMaxQuantity($data['maxQuantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrice(): ?float diff --git a/src/Model/PlanPriceFormulaFactory.php b/src/Model/PlanPriceFormulaFactory.php index 87d153382..281eb7f9b 100644 --- a/src/Model/PlanPriceFormulaFactory.php +++ b/src/Model/PlanPriceFormulaFactory.php @@ -18,14 +18,14 @@ class PlanPriceFormulaFactory { - public static function from(array $data = []): PlanPriceFormula + public static function from(array $data = [], array $metadata = []): PlanPriceFormula { return match ($data['formula']) { - 'fixed-fee' => PlanFormulaFixedFee::from($data), - 'flat-rate' => PlanFormulaFlatRate::from($data), - 'stairstep' => PlanFormulaStairstep::from($data), - 'tiered' => PlanFormulaTiered::from($data), - 'volume' => PlanFormulaVolume::from($data), + 'fixed-fee' => PlanFormulaFixedFee::from($data, $metadata), + 'flat-rate' => PlanFormulaFlatRate::from($data, $metadata), + 'stairstep' => PlanFormulaStairstep::from($data, $metadata), + 'tiered' => PlanFormulaTiered::from($data, $metadata), + 'volume' => PlanFormulaVolume::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PlanSetup.php b/src/Model/PlanSetup.php index 0e846e57d..c4c8e6ca6 100644 --- a/src/Model/PlanSetup.php +++ b/src/Model/PlanSetup.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlanSetup implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrice(): float diff --git a/src/Model/PlanTrial.php b/src/Model/PlanTrial.php index 161ab9f38..ad26fd8c2 100644 --- a/src/Model/PlanTrial.php +++ b/src/Model/PlanTrial.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlanTrial implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('price', $data)) { $this->setPrice($data['price']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrice(): float diff --git a/src/Model/PlanTrialPeriod.php b/src/Model/PlanTrialPeriod.php index f7d22f6e6..90e3ca263 100644 --- a/src/Model/PlanTrialPeriod.php +++ b/src/Model/PlanTrialPeriod.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlanTrialPeriod implements JsonSerializable { + use HasMetadata; + public const UNIT_DAY = 'day'; public const UNIT_WEEK = 'week'; @@ -28,7 +31,7 @@ class PlanTrialPeriod implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('unit', $data)) { $this->setUnit($data['unit']); @@ -36,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('length', $data)) { $this->setLength($data['length']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUnit(): string diff --git a/src/Model/Plugnpay.php b/src/Model/Plugnpay.php index e14af43e8..b46ec31c5 100644 --- a/src/Model/Plugnpay.php +++ b/src/Model/Plugnpay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Plugnpay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Plugnpay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PlugnpayCredentials diff --git a/src/Model/PlugnpayCredentials.php b/src/Model/PlugnpayCredentials.php index 031a86368..87dddec36 100644 --- a/src/Model/PlugnpayCredentials.php +++ b/src/Model/PlugnpayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PlugnpayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publisher-name', $data)) { $this->setPublisherName($data['publisher-name']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('publisher-password', $data)) { $this->setPublisherPassword($data['publisher-password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublisherName(): string diff --git a/src/Model/PostCashier.php b/src/Model/PostCashier.php index 42c2ee70f..d70d04608 100644 --- a/src/Model/PostCashier.php +++ b/src/Model/PostCashier.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostCashier implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerId', $data)) { $this->setCustomerId($data['customerId']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('pendingPayoutTotal', $data)) { $this->setPendingPayoutTotal($data['pendingPayoutTotal']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomerId(): string diff --git a/src/Model/PostCashierDepositLimits.php b/src/Model/PostCashierDepositLimits.php index c0d353e86..15939a53a 100644 --- a/src/Model/PostCashierDepositLimits.php +++ b/src/Model/PostCashierDepositLimits.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostCashierDepositLimits implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('maximum', $data)) { $this->setMaximum($data['maximum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): ?float diff --git a/src/Model/PostDepositRequest.php b/src/Model/PostDepositRequest.php index 067100ea7..600f8e89a 100644 --- a/src/Model/PostDepositRequest.php +++ b/src/Model/PostDepositRequest.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostDepositRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -57,11 +60,12 @@ public function __construct(array $data = []) if (array_key_exists('notificationUrl', $data)) { $this->setNotificationUrl($data['notificationUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string diff --git a/src/Model/PostDepositRequestAmountLimits.php b/src/Model/PostDepositRequestAmountLimits.php index 92ac4b579..3b6e11c8a 100644 --- a/src/Model/PostDepositRequestAmountLimits.php +++ b/src/Model/PostDepositRequestAmountLimits.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostDepositRequestAmountLimits implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('maximum', $data)) { $this->setMaximum($data['maximum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): ?float diff --git a/src/Model/PostDepositRequestCustomAmount.php b/src/Model/PostDepositRequestCustomAmount.php index d002965e0..ab8a81629 100644 --- a/src/Model/PostDepositRequestCustomAmount.php +++ b/src/Model/PostDepositRequestCustomAmount.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostDepositRequestCustomAmount implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('minimum', $data)) { $this->setMinimum($data['minimum']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('maximum', $data)) { $this->setMaximum($data['maximum']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMinimum(): float diff --git a/src/Model/PostDisputeRequest.php b/src/Model/PostDisputeRequest.php index 7c3f66f06..428304dd2 100644 --- a/src/Model/PostDisputeRequest.php +++ b/src/Model/PostDisputeRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostDisputeRequest implements JsonSerializable { + use HasMetadata; + public const REASON_CODE_0 = '0'; public const REASON_CODE_00 = '00'; @@ -310,6 +313,36 @@ class PostDisputeRequest implements JsonSerializable public const REASON_CODE_4999 = '4999'; + public const REASON_CODE_4534 = '4534'; + + public const REASON_CODE_4541 = '4541'; + + public const REASON_CODE_4542 = '4542'; + + public const REASON_CODE_4550 = '4550'; + + public const REASON_CODE_4553 = '4553'; + + public const REASON_CODE_4586 = '4586'; + + public const REASON_CODE_4752 = '4752'; + + public const REASON_CODE_4753 = '4753'; + + public const REASON_CODE_4755 = '4755'; + + public const REASON_CODE_4865 = '4865'; + + public const REASON_CODE_4866 = '4866'; + + public const REASON_CODE_4867 = '4867'; + + public const REASON_CODE_7010 = '7010'; + + public const REASON_CODE_7030 = '7030'; + + public const REASON_CODE_8002 = '8002'; + public const REASON_CODE_A = 'A'; public const REASON_CODE_A01 = 'A01'; @@ -576,7 +609,7 @@ class PostDisputeRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); @@ -608,11 +641,12 @@ public function __construct(array $data = []) if (array_key_exists('deadlineTime', $data)) { $this->setDeadlineTime($data['deadlineTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): string diff --git a/src/Model/PostFileRequestFactory.php b/src/Model/PostFileRequestFactory.php index 9e4cfe361..1406be51a 100644 --- a/src/Model/PostFileRequestFactory.php +++ b/src/Model/PostFileRequestFactory.php @@ -18,13 +18,13 @@ class PostFileRequestFactory { - public static function from(array $data = []): PostFileRequest + public static function from(array $data = [], array $metadata = []): PostFileRequest { if (isset($data['file'])) { - return FileCreateFromInline::from($data); + return FileCreateFromInline::from($data, $metadata); } if (isset($data['url'])) { - return FileCreateFromUrl::from($data); + return FileCreateFromUrl::from($data, $metadata); } throw new UnknownDiscriminatorValueException(); diff --git a/src/Model/PostFinance.php b/src/Model/PostFinance.php index 7def8f6ac..fd17faaf6 100644 --- a/src/Model/PostFinance.php +++ b/src/Model/PostFinance.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class PostFinance extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'PostFinance', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PostFinanceCredentials diff --git a/src/Model/PostFinanceCredentials.php b/src/Model/PostFinanceCredentials.php index 6d13b2b56..90824ab57 100644 --- a/src/Model/PostFinanceCredentials.php +++ b/src/Model/PostFinanceCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostFinanceCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('pspId', $data)) { $this->setPspId($data['pspId']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('sftpKeyPassphrase', $data)) { $this->setSftpKeyPassphrase($data['sftpKeyPassphrase']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPspId(): string diff --git a/src/Model/PostFinanceSettings.php b/src/Model/PostFinanceSettings.php index e3ea13f72..66169ca57 100644 --- a/src/Model/PostFinanceSettings.php +++ b/src/Model/PostFinanceSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostFinanceSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('skipPaymentFileUpload', $data)) { $this->setSkipPaymentFileUpload($data['skipPaymentFileUpload']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('enableAliasAuthentication', $data)) { $this->setEnableAliasAuthentication($data['enableAliasAuthentication']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSkipPaymentFileUpload(): ?bool diff --git a/src/Model/PostOrganizationExportRequest.php b/src/Model/PostOrganizationExportRequest.php index e8b039a76..614a66fff 100644 --- a/src/Model/PostOrganizationExportRequest.php +++ b/src/Model/PostOrganizationExportRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostOrganizationExportRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('includeFiles', $data)) { $this->setIncludeFiles($data['includeFiles']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIncludeFiles(): ?bool diff --git a/src/Model/PostOrganizationRequest.php b/src/Model/PostOrganizationRequest.php index 12097fac7..0e29aef4e 100644 --- a/src/Model/PostOrganizationRequest.php +++ b/src/Model/PostOrganizationRequest.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostOrganizationRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -87,11 +90,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/PostPaymentInstrumentRequest.php b/src/Model/PostPaymentInstrumentRequest.php index 132cb76a9..9d96577c2 100644 --- a/src/Model/PostPaymentInstrumentRequest.php +++ b/src/Model/PostPaymentInstrumentRequest.php @@ -18,4 +18,15 @@ interface PostPaymentInstrumentRequest extends JsonSerializable { + public function getCustomerId(): string; + + public function setCustomerId(string $customerId): static; + + public function getUseAsBackup(): ?bool; + + public function setUseAsBackup(null|bool $useAsBackup): static; + + public function getCustomFields(): ?array; + + public function setCustomFields(null|array $customFields): static; } diff --git a/src/Model/PostPaymentInstrumentRequestFactory.php b/src/Model/PostPaymentInstrumentRequestFactory.php index d1d0118c5..037d10ff6 100644 --- a/src/Model/PostPaymentInstrumentRequestFactory.php +++ b/src/Model/PostPaymentInstrumentRequestFactory.php @@ -18,175 +18,176 @@ class PostPaymentInstrumentRequestFactory { - public static function from(array $data = []): PostPaymentInstrumentRequest + public static function from(array $data = [], array $metadata = []): PostPaymentInstrumentRequest { if (isset($data['token'])) { - return PaymentInstrumentCreateToken::from($data); + return PaymentInstrumentCreateToken::from($data, $metadata); } return match ($data['method']) { - 'AdvCash' => AlternativeInstrument::from($data), - 'Aera' => AlternativeInstrument::from($data), - 'Affirm' => AlternativeInstrument::from($data), - 'Afterpay' => AlternativeInstrument::from($data), - 'Aircash' => AlternativeInstrument::from($data), - 'Alfa-click' => AlternativeInstrument::from($data), - 'Alipay' => AlternativeInstrument::from($data), - 'AstroPay Card' => AlternativeInstrument::from($data), - 'AstroPay-GO' => AlternativeInstrument::from($data), - 'Baloto' => AlternativeInstrument::from($data), - 'Bancontact' => AlternativeInstrument::from($data), - 'Bancontact-mobile' => AlternativeInstrument::from($data), - 'BankReferenced' => AlternativeInstrument::from($data), - 'Beeline' => AlternativeInstrument::from($data), - 'Belfius-direct-net' => AlternativeInstrument::from($data), - 'Bizum' => AlternativeInstrument::from($data), - 'Boleto' => AlternativeInstrument::from($data), - 'CASHlib' => AlternativeInstrument::from($data), - 'CODVoucher' => AlternativeInstrument::from($data), - 'CashToCode' => AlternativeInstrument::from($data), - 'China UnionPay' => AlternativeInstrument::from($data), - 'Clearpay' => AlternativeInstrument::from($data), - 'Cleo' => AlternativeInstrument::from($data), - 'Conekta-oxxo' => AlternativeInstrument::from($data), - 'Cupon-de-pagos' => AlternativeInstrument::from($data), - 'Directa24Card' => AlternativeInstrument::from($data), - 'EPS' => AlternativeInstrument::from($data), - 'Efecty' => AlternativeInstrument::from($data), - 'FasterPay' => AlternativeInstrument::from($data), - 'Flexepin' => AlternativeInstrument::from($data), - 'Giropay' => AlternativeInstrument::from($data), - 'Google Pay' => AlternativeInstrument::from($data), - 'Gpaysafe' => AlternativeInstrument::from($data), - 'ING-homepay' => AlternativeInstrument::from($data), - 'INOVAPAY-pin' => AlternativeInstrument::from($data), - 'INOVAPAY-wallet' => AlternativeInstrument::from($data), - 'InstaDebit' => AlternativeInstrument::from($data), - 'InstantPayments' => AlternativeInstrument::from($data), - 'Interac' => AlternativeInstrument::from($data), - 'Interac-eTransfer' => AlternativeInstrument::from($data), - 'Interac-online' => AlternativeInstrument::from($data), - 'Jeton' => AlternativeInstrument::from($data), - 'JetonCash' => AlternativeInstrument::from($data), - 'KNOT' => AlternativeInstrument::from($data), - 'KakaoPay' => AlternativeInstrument::from($data), - 'Klarna' => AlternativeInstrument::from($data), - 'MTS' => AlternativeInstrument::from($data), - 'Matrix' => AlternativeInstrument::from($data), - 'MaxiCash' => AlternativeInstrument::from($data), - 'Megafon' => AlternativeInstrument::from($data), - 'MercadoPago' => AlternativeInstrument::from($data), - 'MiFinity-eWallet' => AlternativeInstrument::from($data), - 'MobilePay' => AlternativeInstrument::from($data), - 'MuchBetter' => AlternativeInstrument::from($data), - 'MuchBetterVoucher' => AlternativeInstrument::from($data), - 'Multibanco' => AlternativeInstrument::from($data), - 'Neosurf' => AlternativeInstrument::from($data), - 'Netbanking' => AlternativeInstrument::from($data), - 'Neteller' => AlternativeInstrument::from($data), - 'Nordea-Solo' => AlternativeInstrument::from($data), - 'OXXO' => AlternativeInstrument::from($data), - 'OchaPay' => AlternativeInstrument::from($data), - 'Onlineueberweisen' => AlternativeInstrument::from($data), - 'P24' => AlternativeInstrument::from($data), - 'PIX' => AlternativeInstrument::from($data), - 'POLi' => AlternativeInstrument::from($data), - 'Pagadito' => AlternativeInstrument::from($data), - 'PagoEffectivo' => AlternativeInstrument::from($data), - 'Pagsmile-deposit-express' => AlternativeInstrument::from($data), - 'Pagsmile-lottery' => AlternativeInstrument::from($data), - 'Pay4Fun' => AlternativeInstrument::from($data), - 'PayCash' => AlternativeInstrument::from($data), - 'PayTabs' => AlternativeInstrument::from($data), - 'Payco' => AlternativeInstrument::from($data), - 'Payeer' => AlternativeInstrument::from($data), - 'PaymentAsia-crypto' => AlternativeInstrument::from($data), - 'Paymero' => AlternativeInstrument::from($data), - 'Paynote' => AlternativeInstrument::from($data), - 'Paysafecard' => AlternativeInstrument::from($data), - 'Paysafecash' => AlternativeInstrument::from($data), - 'Perfect-money' => AlternativeInstrument::from($data), - 'PhonePe' => AlternativeInstrument::from($data), - 'Piastrix' => AlternativeInstrument::from($data), - 'PinPay' => AlternativeInstrument::from($data), - 'PostFinance-card' => AlternativeInstrument::from($data), - 'PostFinance-e-finance' => AlternativeInstrument::from($data), - 'QIWI' => AlternativeInstrument::from($data), - 'QPay' => AlternativeInstrument::from($data), - 'QQPay' => AlternativeInstrument::from($data), - 'Resurs' => AlternativeInstrument::from($data), - 'SEPA' => AlternativeInstrument::from($data), - 'SMSVoucher' => AlternativeInstrument::from($data), - 'SafetyPay' => AlternativeInstrument::from($data), - 'Samsung Pay' => AlternativeInstrument::from($data), - 'Skrill' => AlternativeInstrument::from($data), - 'Skrill Rapid Transfer' => AlternativeInstrument::from($data), - 'Sofort' => AlternativeInstrument::from($data), - 'SparkPay' => AlternativeInstrument::from($data), - 'Tele2' => AlternativeInstrument::from($data), - 'Terminaly-RF' => AlternativeInstrument::from($data), - 'ToditoCash-card' => AlternativeInstrument::from($data), - 'Trustly' => AlternativeInstrument::from($data), - 'Tupay' => AlternativeInstrument::from($data), - 'UPI' => AlternativeInstrument::from($data), - 'UPayCard' => AlternativeInstrument::from($data), - 'USD-coin' => AlternativeInstrument::from($data), - 'VCreditos' => AlternativeInstrument::from($data), - 'VenusPoint' => AlternativeInstrument::from($data), - 'Wallet88' => AlternativeInstrument::from($data), - 'WeChat Pay' => AlternativeInstrument::from($data), - 'Webmoney' => AlternativeInstrument::from($data), - 'Webpay' => AlternativeInstrument::from($data), - 'Webpay Card' => AlternativeInstrument::from($data), - 'Webpay-2' => AlternativeInstrument::from($data), - 'XPay-P2P' => AlternativeInstrument::from($data), - 'XPay-QR' => AlternativeInstrument::from($data), - 'Yandex-money' => AlternativeInstrument::from($data), - 'Zimpler' => AlternativeInstrument::from($data), - 'Zip' => AlternativeInstrument::from($data), - 'Zotapay' => AlternativeInstrument::from($data), - 'bank-transfer' => AlternativeInstrument::from($data), - 'bank-transfer-2' => AlternativeInstrument::from($data), - 'bank-transfer-3' => AlternativeInstrument::from($data), - 'bank-transfer-4' => AlternativeInstrument::from($data), - 'bank-transfer-5' => AlternativeInstrument::from($data), - 'bank-transfer-6' => AlternativeInstrument::from($data), - 'bank-transfer-7' => AlternativeInstrument::from($data), - 'bank-transfer-8' => AlternativeInstrument::from($data), - 'bank-transfer-9' => AlternativeInstrument::from($data), - 'bitcoin' => AlternativeInstrument::from($data), - 'cash' => AlternativeInstrument::from($data), - 'cash-deposit' => AlternativeInstrument::from($data), - 'check' => AlternativeInstrument::from($data), - 'cryptocurrency' => AlternativeInstrument::from($data), - 'domestic-cards' => AlternativeInstrument::from($data), - 'ePay.bg' => AlternativeInstrument::from($data), - 'eZeeWallet' => AlternativeInstrument::from($data), - 'ecoPayz' => AlternativeInstrument::from($data), - 'ecoPayzTurkey' => AlternativeInstrument::from($data), - 'ecoVoucher' => AlternativeInstrument::from($data), - 'iDEAL' => AlternativeInstrument::from($data), - 'iDebit' => AlternativeInstrument::from($data), - 'iWallet' => AlternativeInstrument::from($data), - 'instant-bank-transfer' => AlternativeInstrument::from($data), - 'invoice' => AlternativeInstrument::from($data), - 'jpay' => AlternativeInstrument::from($data), - 'loonie' => AlternativeInstrument::from($data), - 'miscellaneous' => AlternativeInstrument::from($data), - 'online-bank-transfer' => AlternativeInstrument::from($data), - 'oriental-wallet' => AlternativeInstrument::from($data), - 'phone' => AlternativeInstrument::from($data), - 'plaid-account' => AlternativeInstrument::from($data), - 'rapyd-checkout' => AlternativeInstrument::from($data), - 'swift-dbt' => AlternativeInstrument::from($data), - 'voucher' => AlternativeInstrument::from($data), - 'voucher-2' => AlternativeInstrument::from($data), - 'voucher-3' => AlternativeInstrument::from($data), - 'voucher-4' => AlternativeInstrument::from($data), - 'wire' => AlternativeInstrument::from($data), - 'ach' => BankAccountCreatePlain::from($data), - 'payment-card' => PaymentCardCreatePlain::from($data), - 'paypal' => PayPalAccount::from($data), + 'AdvCash' => AlternativeInstrument::from($data, $metadata), + 'Aera' => AlternativeInstrument::from($data, $metadata), + 'Affirm' => AlternativeInstrument::from($data, $metadata), + 'Afterpay' => AlternativeInstrument::from($data, $metadata), + 'Aircash' => AlternativeInstrument::from($data, $metadata), + 'Alfa-click' => AlternativeInstrument::from($data, $metadata), + 'Alipay' => AlternativeInstrument::from($data, $metadata), + 'AstroPay Card' => AlternativeInstrument::from($data, $metadata), + 'AstroPay-GO' => AlternativeInstrument::from($data, $metadata), + 'Baloto' => AlternativeInstrument::from($data, $metadata), + 'Bancontact' => AlternativeInstrument::from($data, $metadata), + 'Bancontact-mobile' => AlternativeInstrument::from($data, $metadata), + 'BankReferenced' => AlternativeInstrument::from($data, $metadata), + 'Beeline' => AlternativeInstrument::from($data, $metadata), + 'Belfius-direct-net' => AlternativeInstrument::from($data, $metadata), + 'Bizum' => AlternativeInstrument::from($data, $metadata), + 'Boleto' => AlternativeInstrument::from($data, $metadata), + 'CASHlib' => AlternativeInstrument::from($data, $metadata), + 'CODVoucher' => AlternativeInstrument::from($data, $metadata), + 'CashToCode' => AlternativeInstrument::from($data, $metadata), + 'China UnionPay' => AlternativeInstrument::from($data, $metadata), + 'Clearpay' => AlternativeInstrument::from($data, $metadata), + 'Cleo' => AlternativeInstrument::from($data, $metadata), + 'Conekta-oxxo' => AlternativeInstrument::from($data, $metadata), + 'Cupon-de-pagos' => AlternativeInstrument::from($data, $metadata), + 'Directa24Card' => AlternativeInstrument::from($data, $metadata), + 'EPS' => AlternativeInstrument::from($data, $metadata), + 'Efecty' => AlternativeInstrument::from($data, $metadata), + 'FasterPay' => AlternativeInstrument::from($data, $metadata), + 'Flexepin' => AlternativeInstrument::from($data, $metadata), + 'Giropay' => AlternativeInstrument::from($data, $metadata), + 'Google Pay' => AlternativeInstrument::from($data, $metadata), + 'Gpaysafe' => AlternativeInstrument::from($data, $metadata), + 'ING-homepay' => AlternativeInstrument::from($data, $metadata), + 'INOVAPAY-pin' => AlternativeInstrument::from($data, $metadata), + 'INOVAPAY-wallet' => AlternativeInstrument::from($data, $metadata), + 'InstaDebit' => AlternativeInstrument::from($data, $metadata), + 'InstantPayments' => AlternativeInstrument::from($data, $metadata), + 'Interac' => AlternativeInstrument::from($data, $metadata), + 'Interac-eTransfer' => AlternativeInstrument::from($data, $metadata), + 'Interac-online' => AlternativeInstrument::from($data, $metadata), + 'Jeton' => AlternativeInstrument::from($data, $metadata), + 'JetonCash' => AlternativeInstrument::from($data, $metadata), + 'KNOT' => AlternativeInstrument::from($data, $metadata), + 'KakaoPay' => AlternativeInstrument::from($data, $metadata), + 'Klarna' => AlternativeInstrument::from($data, $metadata), + 'MTS' => AlternativeInstrument::from($data, $metadata), + 'Matrix' => AlternativeInstrument::from($data, $metadata), + 'MaxiCash' => AlternativeInstrument::from($data, $metadata), + 'Megafon' => AlternativeInstrument::from($data, $metadata), + 'MercadoPago' => AlternativeInstrument::from($data, $metadata), + 'MiFinity-eWallet' => AlternativeInstrument::from($data, $metadata), + 'MobilePay' => AlternativeInstrument::from($data, $metadata), + 'MuchBetter' => AlternativeInstrument::from($data, $metadata), + 'MuchBetterVoucher' => AlternativeInstrument::from($data, $metadata), + 'Multibanco' => AlternativeInstrument::from($data, $metadata), + 'Neosurf' => AlternativeInstrument::from($data, $metadata), + 'Netbanking' => AlternativeInstrument::from($data, $metadata), + 'Neteller' => AlternativeInstrument::from($data, $metadata), + 'Nordea-Solo' => AlternativeInstrument::from($data, $metadata), + 'OXXO' => AlternativeInstrument::from($data, $metadata), + 'OchaPay' => AlternativeInstrument::from($data, $metadata), + 'Onlineueberweisen' => AlternativeInstrument::from($data, $metadata), + 'P24' => AlternativeInstrument::from($data, $metadata), + 'PIX' => AlternativeInstrument::from($data, $metadata), + 'POLi' => AlternativeInstrument::from($data, $metadata), + 'Pagadito' => AlternativeInstrument::from($data, $metadata), + 'PagoEffectivo' => AlternativeInstrument::from($data, $metadata), + 'Pagsmile-deposit-express' => AlternativeInstrument::from($data, $metadata), + 'Pagsmile-lottery' => AlternativeInstrument::from($data, $metadata), + 'Pay4Fun' => AlternativeInstrument::from($data, $metadata), + 'PayCash' => AlternativeInstrument::from($data, $metadata), + 'PayTabs' => AlternativeInstrument::from($data, $metadata), + 'Payco' => AlternativeInstrument::from($data, $metadata), + 'Payeer' => AlternativeInstrument::from($data, $metadata), + 'PaymentAsia-crypto' => AlternativeInstrument::from($data, $metadata), + 'Paymero' => AlternativeInstrument::from($data, $metadata), + 'Paynote' => AlternativeInstrument::from($data, $metadata), + 'Paysafecard' => AlternativeInstrument::from($data, $metadata), + 'Paysafecash' => AlternativeInstrument::from($data, $metadata), + 'Perfect-money' => AlternativeInstrument::from($data, $metadata), + 'PhonePe' => AlternativeInstrument::from($data, $metadata), + 'Piastrix' => AlternativeInstrument::from($data, $metadata), + 'PinPay' => AlternativeInstrument::from($data, $metadata), + 'PostFinance-card' => AlternativeInstrument::from($data, $metadata), + 'PostFinance-e-finance' => AlternativeInstrument::from($data, $metadata), + 'QIWI' => AlternativeInstrument::from($data, $metadata), + 'QPay' => AlternativeInstrument::from($data, $metadata), + 'QQPay' => AlternativeInstrument::from($data, $metadata), + 'Resurs' => AlternativeInstrument::from($data, $metadata), + 'SEPA' => AlternativeInstrument::from($data, $metadata), + 'SMSVoucher' => AlternativeInstrument::from($data, $metadata), + 'SafetyPay' => AlternativeInstrument::from($data, $metadata), + 'Samsung Pay' => AlternativeInstrument::from($data, $metadata), + 'Skrill' => AlternativeInstrument::from($data, $metadata), + 'Skrill Rapid Transfer' => AlternativeInstrument::from($data, $metadata), + 'Sofort' => AlternativeInstrument::from($data, $metadata), + 'SparkPay' => AlternativeInstrument::from($data, $metadata), + 'Tele2' => AlternativeInstrument::from($data, $metadata), + 'Terminaly-RF' => AlternativeInstrument::from($data, $metadata), + 'ToditoCash-card' => AlternativeInstrument::from($data, $metadata), + 'Trustly' => AlternativeInstrument::from($data, $metadata), + 'Tupay' => AlternativeInstrument::from($data, $metadata), + 'UPI' => AlternativeInstrument::from($data, $metadata), + 'UPayCard' => AlternativeInstrument::from($data, $metadata), + 'USD-coin' => AlternativeInstrument::from($data, $metadata), + 'VCreditos' => AlternativeInstrument::from($data, $metadata), + 'VenusPoint' => AlternativeInstrument::from($data, $metadata), + 'Viva' => AlternativeInstrument::from($data, $metadata), + 'Wallet88' => AlternativeInstrument::from($data, $metadata), + 'WeChat Pay' => AlternativeInstrument::from($data, $metadata), + 'Webmoney' => AlternativeInstrument::from($data, $metadata), + 'Webpay' => AlternativeInstrument::from($data, $metadata), + 'Webpay Card' => AlternativeInstrument::from($data, $metadata), + 'Webpay-2' => AlternativeInstrument::from($data, $metadata), + 'XPay-P2P' => AlternativeInstrument::from($data, $metadata), + 'XPay-QR' => AlternativeInstrument::from($data, $metadata), + 'Yandex-money' => AlternativeInstrument::from($data, $metadata), + 'Zimpler' => AlternativeInstrument::from($data, $metadata), + 'Zip' => AlternativeInstrument::from($data, $metadata), + 'Zotapay' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-2' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-3' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-4' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-5' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-6' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-7' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-8' => AlternativeInstrument::from($data, $metadata), + 'bank-transfer-9' => AlternativeInstrument::from($data, $metadata), + 'bitcoin' => AlternativeInstrument::from($data, $metadata), + 'cash' => AlternativeInstrument::from($data, $metadata), + 'cash-deposit' => AlternativeInstrument::from($data, $metadata), + 'check' => AlternativeInstrument::from($data, $metadata), + 'cryptocurrency' => AlternativeInstrument::from($data, $metadata), + 'domestic-cards' => AlternativeInstrument::from($data, $metadata), + 'ePay.bg' => AlternativeInstrument::from($data, $metadata), + 'eZeeWallet' => AlternativeInstrument::from($data, $metadata), + 'ecoPayz' => AlternativeInstrument::from($data, $metadata), + 'ecoPayzTurkey' => AlternativeInstrument::from($data, $metadata), + 'ecoVoucher' => AlternativeInstrument::from($data, $metadata), + 'iDEAL' => AlternativeInstrument::from($data, $metadata), + 'iDebit' => AlternativeInstrument::from($data, $metadata), + 'iWallet' => AlternativeInstrument::from($data, $metadata), + 'instant-bank-transfer' => AlternativeInstrument::from($data, $metadata), + 'invoice' => AlternativeInstrument::from($data, $metadata), + 'jpay' => AlternativeInstrument::from($data, $metadata), + 'loonie' => AlternativeInstrument::from($data, $metadata), + 'miscellaneous' => AlternativeInstrument::from($data, $metadata), + 'online-bank-transfer' => AlternativeInstrument::from($data, $metadata), + 'oriental-wallet' => AlternativeInstrument::from($data, $metadata), + 'phone' => AlternativeInstrument::from($data, $metadata), + 'plaid-account' => AlternativeInstrument::from($data, $metadata), + 'rapyd-checkout' => AlternativeInstrument::from($data, $metadata), + 'swift-dbt' => AlternativeInstrument::from($data, $metadata), + 'voucher' => AlternativeInstrument::from($data, $metadata), + 'voucher-2' => AlternativeInstrument::from($data, $metadata), + 'voucher-3' => AlternativeInstrument::from($data, $metadata), + 'voucher-4' => AlternativeInstrument::from($data, $metadata), + 'wire' => AlternativeInstrument::from($data, $metadata), + 'ach' => BankAccountCreatePlainFactory::from($data, $metadata), + 'payment-card' => PaymentCardCreatePlain::from($data, $metadata), + 'paypal' => PayPalAccount::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/PostPayoutRequest.php b/src/Model/PostPayoutRequest.php index 1143e4e28..07807521a 100644 --- a/src/Model/PostPayoutRequest.php +++ b/src/Model/PostPayoutRequest.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostPayoutRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -78,11 +81,12 @@ public function __construct(array $data = []) if (array_key_exists('payoutRequestId', $data)) { $this->setPayoutRequestId($data['payoutRequestId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string diff --git a/src/Model/PostPayoutRequestAllocationRequest.php b/src/Model/PostPayoutRequestAllocationRequest.php index 68a5b6171..7bb9fbf68 100644 --- a/src/Model/PostPayoutRequestAllocationRequest.php +++ b/src/Model/PostPayoutRequestAllocationRequest.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostPayoutRequestAllocationRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('payoutRequestId', $data)) { $this->setPayoutRequestId($data['payoutRequestId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPayoutRequestId(): string diff --git a/src/Model/PostPayoutRequestAllocationsProcessRequest.php b/src/Model/PostPayoutRequestAllocationsProcessRequest.php new file mode 100644 index 000000000..f90dea506 --- /dev/null +++ b/src/Model/PostPayoutRequestAllocationsProcessRequest.php @@ -0,0 +1,66 @@ +setAllocationIds($data['allocationIds']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + /** + * @return string[] + */ + public function getAllocationIds(): array + { + return $this->fields['allocationIds']; + } + + /** + * @param string[] $allocationIds + */ + public function setAllocationIds(array $allocationIds): static + { + $this->fields['allocationIds'] = $allocationIds; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('allocationIds', $this->fields)) { + $data['allocationIds'] = $this->fields['allocationIds']; + } + + return $data; + } +} diff --git a/src/Model/PostPayoutRequestAutoAllocationRequest.php b/src/Model/PostPayoutRequestAutoAllocationRequest.php index 5e366afe1..2ec32ecc1 100644 --- a/src/Model/PostPayoutRequestAutoAllocationRequest.php +++ b/src/Model/PostPayoutRequestAutoAllocationRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostPayoutRequestAutoAllocationRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('payoutRequestId', $data)) { $this->setPayoutRequestId($data['payoutRequestId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPayoutRequestId(): string diff --git a/src/Model/PostPayoutRequestBatchBlockRequest.php b/src/Model/PostPayoutRequestBatchBlockRequest.php new file mode 100644 index 000000000..aae078e73 --- /dev/null +++ b/src/Model/PostPayoutRequestBatchBlockRequest.php @@ -0,0 +1,94 @@ +setReason($data['reason']); + } + if (array_key_exists('description', $data)) { + $this->setDescription($data['description']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getReason(): string + { + return $this->fields['reason']; + } + + public function setReason(string $reason): static + { + $this->fields['reason'] = $reason; + + return $this; + } + + public function getDescription(): ?string + { + return $this->fields['description'] ?? null; + } + + public function setDescription(null|string $description): static + { + $this->fields['description'] = $description; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('reason', $this->fields)) { + $data['reason'] = $this->fields['reason']; + } + if (array_key_exists('description', $this->fields)) { + $data['description'] = $this->fields['description']; + } + + return $data; + } +} diff --git a/src/Model/PostPayoutRequestBatchRequest.php b/src/Model/PostPayoutRequestBatchRequest.php new file mode 100644 index 000000000..2cbca3bff --- /dev/null +++ b/src/Model/PostPayoutRequestBatchRequest.php @@ -0,0 +1,24 @@ +setPayoutRequestIds($data['payoutRequestIds']); + } + if (array_key_exists('description', $data)) { + $this->setDescription($data['description']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + /** + * @return string[] + */ + public function getPayoutRequestIds(): array + { + return $this->fields['payoutRequestIds']; + } + + /** + * @param string[] $payoutRequestIds + */ + public function setPayoutRequestIds(array $payoutRequestIds): static + { + $this->fields['payoutRequestIds'] = $payoutRequestIds; + + return $this; + } + + public function getDescription(): ?string + { + return $this->fields['description'] ?? null; + } + + public function setDescription(null|string $description): static + { + $this->fields['description'] = $description; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('payoutRequestIds', $this->fields)) { + $data['payoutRequestIds'] = $this->fields['payoutRequestIds']; + } + if (array_key_exists('description', $this->fields)) { + $data['description'] = $this->fields['description']; + } + + return $data; + } +} diff --git a/src/Model/PostPayoutRequestBatchRequestFactory.php b/src/Model/PostPayoutRequestBatchRequestFactory.php new file mode 100644 index 000000000..b6e527eb4 --- /dev/null +++ b/src/Model/PostPayoutRequestBatchRequestFactory.php @@ -0,0 +1,32 @@ +setFilter($data['filter']); + } + if (array_key_exists('description', $data)) { + $this->setDescription($data['description']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getFilter(): string + { + return $this->fields['filter']; + } + + public function setFilter(string $filter): static + { + $this->fields['filter'] = $filter; + + return $this; + } + + public function getDescription(): ?string + { + return $this->fields['description'] ?? null; + } + + public function setDescription(null|string $description): static + { + $this->fields['description'] = $description; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('filter', $this->fields)) { + $data['filter'] = $this->fields['filter']; + } + if (array_key_exists('description', $this->fields)) { + $data['description'] = $this->fields['description']; + } + + return $data; + } +} diff --git a/src/Model/PostPermissionsEmulationRequest.php b/src/Model/PostPermissionsEmulationRequest.php index ce4555618..e70e536a9 100644 --- a/src/Model/PostPermissionsEmulationRequest.php +++ b/src/Model/PostPermissionsEmulationRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostPermissionsEmulationRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('permissions', $data)) { $this->setPermissions($data['permissions']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PostReadyToPayFactory.php b/src/Model/PostReadyToPayFactory.php index 4aaf21a2e..6287e9e19 100644 --- a/src/Model/PostReadyToPayFactory.php +++ b/src/Model/PostReadyToPayFactory.php @@ -18,13 +18,13 @@ class PostReadyToPayFactory { - public static function from(array $data = []): PostReadyToPay + public static function from(array $data = [], array $metadata = []): PostReadyToPay { if (isset($data['amount']) || isset($data['currency'])) { - return ReadyToPayAmount::from($data); + return ReadyToPayAmount::from($data, $metadata); } if (isset($data['items'])) { - return ReadyToPayItems::from($data); + return ReadyToPayItems::from($data, $metadata); } throw new UnknownDiscriminatorValueException(); diff --git a/src/Model/PostTagAmlCheckCollectionRequest.php b/src/Model/PostTagAmlCheckCollectionRequest.php index cee6c8d33..6e9ceab9e 100644 --- a/src/Model/PostTagAmlCheckCollectionRequest.php +++ b/src/Model/PostTagAmlCheckCollectionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostTagAmlCheckCollectionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amlCheckIds', $data)) { $this->setAmlCheckIds($data['amlCheckIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PostTagCustomerCollectionRequest.php b/src/Model/PostTagCustomerCollectionRequest.php index 248e17d95..96a51c4ab 100644 --- a/src/Model/PostTagCustomerCollectionRequest.php +++ b/src/Model/PostTagCustomerCollectionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostTagCustomerCollectionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customerIds', $data)) { $this->setCustomerIds($data['customerIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PostTagKycDocumentCollectionRequest.php b/src/Model/PostTagKycDocumentCollectionRequest.php index f7577b0e7..4d44438e3 100644 --- a/src/Model/PostTagKycDocumentCollectionRequest.php +++ b/src/Model/PostTagKycDocumentCollectionRequest.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostTagKycDocumentCollectionRequest implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('kycDocumentIds', $data)) { $this->setKycDocumentIds($data['kycDocumentIds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/PostTransactionRequest.php b/src/Model/PostTransactionRequest.php index dee31dcf6..99b9f00fc 100644 --- a/src/Model/PostTransactionRequest.php +++ b/src/Model/PostTransactionRequest.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PostTransactionRequest implements JsonSerializable { + use HasMetadata; + public const TYPE_SALE = 'sale'; public const TYPE_AUTHORIZE = 'authorize'; @@ -28,7 +31,7 @@ class PostTransactionRequest implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('upsertCustomer', $data)) { $this->setUpsertCustomer($data['upsertCustomer']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('processedTime', $data)) { $this->setProcessedTime($data['processedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUpsertCustomer(): ?bool diff --git a/src/Model/PostmarkCredential.php b/src/Model/PostmarkCredential.php index abec5bbb1..2ad72e76c 100644 --- a/src/Model/PostmarkCredential.php +++ b/src/Model/PostmarkCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class PostmarkCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class PostmarkCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Powertranz.php b/src/Model/Powertranz.php index 3736e72da..dce558bc5 100644 --- a/src/Model/Powertranz.php +++ b/src/Model/Powertranz.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Powertranz extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Powertranz', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): PowertranzCredentials diff --git a/src/Model/PowertranzCredentials.php b/src/Model/PowertranzCredentials.php index 1ffed9f0c..c70a85f43 100644 --- a/src/Model/PowertranzCredentials.php +++ b/src/Model/PowertranzCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PowertranzCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Product.php b/src/Model/Product.php index 616f26c14..7bb12a617 100644 --- a/src/Model/Product.php +++ b/src/Model/Product.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Product implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -63,11 +66,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ProductRecognition.php b/src/Model/ProductRecognition.php index 9ad206154..257ae1a42 100644 --- a/src/Model/ProductRecognition.php +++ b/src/Model/ProductRecognition.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProductRecognition implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('debitAccountId', $data)) { $this->setDebitAccountId($data['debitAccountId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('creditAccountId', $data)) { $this->setCreditAccountId($data['creditAccountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDebitAccountId(): ?string diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 7f65c4328..23f7e27e9 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Profile implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -28,7 +31,7 @@ class Profile implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -87,11 +90,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ProfileMfa.php b/src/Model/ProfileMfa.php index 94d0241b9..98dd373b8 100644 --- a/src/Model/ProfileMfa.php +++ b/src/Model/ProfileMfa.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProfileMfa implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -32,7 +35,7 @@ class ProfileMfa implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string diff --git a/src/Model/ProofOfAddressKycDocument.php b/src/Model/ProofOfAddressKycDocument.php index 4a8481dfd..b4f7c2275 100644 --- a/src/Model/ProofOfAddressKycDocument.php +++ b/src/Model/ProofOfAddressKycDocument.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfAddressKycDocument implements KycDocument { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -91,7 +94,7 @@ class ProofOfAddressKycDocument implements KycDocument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -165,11 +168,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): string diff --git a/src/Model/ProofOfAddressKycDocumentDocumentMatches.php b/src/Model/ProofOfAddressKycDocumentDocumentMatches.php index 27c0a52b7..9c03cb880 100644 --- a/src/Model/ProofOfAddressKycDocumentDocumentMatches.php +++ b/src/Model/ProofOfAddressKycDocumentDocumentMatches.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfAddressKycDocumentDocumentMatches implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('score', $data)) { $this->setScore($data['score']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScore(): ?int diff --git a/src/Model/ProofOfAddressKycDocumentEmbedded.php b/src/Model/ProofOfAddressKycDocumentEmbedded.php index 35d6b153f..d6a688e5e 100644 --- a/src/Model/ProofOfAddressKycDocumentEmbedded.php +++ b/src/Model/ProofOfAddressKycDocumentEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfAddressKycDocumentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('files', $data)) { $this->setFiles($data['files']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ProofOfAddressKycDocumentParsedData.php b/src/Model/ProofOfAddressKycDocumentParsedData.php index 5a40ae2ac..376a9c8b4 100644 --- a/src/Model/ProofOfAddressKycDocumentParsedData.php +++ b/src/Model/ProofOfAddressKycDocumentParsedData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfAddressKycDocumentParsedData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('score', $data)) { $this->setScore($data['score']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScore(): ?int diff --git a/src/Model/ProofOfCreditFileKycDocument.php b/src/Model/ProofOfCreditFileKycDocument.php index c81f2221d..9e2fa8934 100644 --- a/src/Model/ProofOfCreditFileKycDocument.php +++ b/src/Model/ProofOfCreditFileKycDocument.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfCreditFileKycDocument implements KycDocument { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -91,7 +94,7 @@ class ProofOfCreditFileKycDocument implements KycDocument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -162,11 +165,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): string diff --git a/src/Model/ProofOfCreditFileKycDocumentDocumentMatches.php b/src/Model/ProofOfCreditFileKycDocumentDocumentMatches.php index 5742ef11e..4a5d65fcc 100644 --- a/src/Model/ProofOfCreditFileKycDocumentDocumentMatches.php +++ b/src/Model/ProofOfCreditFileKycDocumentDocumentMatches.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfCreditFileKycDocumentDocumentMatches implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('checkList', $data)) { $this->setCheckList($data['checkList']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getData(): ?CreditFileMatches diff --git a/src/Model/ProofOfCreditFileKycDocumentEmbedded.php b/src/Model/ProofOfCreditFileKycDocumentEmbedded.php index 160f706fd..1825f57e3 100644 --- a/src/Model/ProofOfCreditFileKycDocumentEmbedded.php +++ b/src/Model/ProofOfCreditFileKycDocumentEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfCreditFileKycDocumentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('files', $data)) { $this->setFiles($data['files']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ProofOfFundsKycDocument.php b/src/Model/ProofOfFundsKycDocument.php index 057d27aff..3a8c29b59 100644 --- a/src/Model/ProofOfFundsKycDocument.php +++ b/src/Model/ProofOfFundsKycDocument.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfFundsKycDocument implements KycDocument { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -91,7 +94,7 @@ class ProofOfFundsKycDocument implements KycDocument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -165,11 +168,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): string diff --git a/src/Model/ProofOfFundsKycDocumentDocumentMatches.php b/src/Model/ProofOfFundsKycDocumentDocumentMatches.php index 2958c5f2f..b7c74bfff 100644 --- a/src/Model/ProofOfFundsKycDocumentDocumentMatches.php +++ b/src/Model/ProofOfFundsKycDocumentDocumentMatches.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfFundsKycDocumentDocumentMatches implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getData(): ?FundsMatches diff --git a/src/Model/ProofOfFundsKycDocumentEmbedded.php b/src/Model/ProofOfFundsKycDocumentEmbedded.php index d024b5586..2ac30df5e 100644 --- a/src/Model/ProofOfFundsKycDocumentEmbedded.php +++ b/src/Model/ProofOfFundsKycDocumentEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfFundsKycDocumentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('files', $data)) { $this->setFiles($data['files']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ProofOfFundsKycDocumentParsedData.php b/src/Model/ProofOfFundsKycDocumentParsedData.php index 242dbe6f4..7ee337b56 100644 --- a/src/Model/ProofOfFundsKycDocumentParsedData.php +++ b/src/Model/ProofOfFundsKycDocumentParsedData.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfFundsKycDocumentParsedData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getData(): ?FundsMatches diff --git a/src/Model/ProofOfIdentityKycDocument.php b/src/Model/ProofOfIdentityKycDocument.php index feb2f4d0b..248d2baa8 100644 --- a/src/Model/ProofOfIdentityKycDocument.php +++ b/src/Model/ProofOfIdentityKycDocument.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfIdentityKycDocument implements KycDocument { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -91,7 +94,7 @@ class ProofOfIdentityKycDocument implements KycDocument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -165,11 +168,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): string diff --git a/src/Model/ProofOfIdentityKycDocumentDocumentMatches.php b/src/Model/ProofOfIdentityKycDocumentDocumentMatches.php index 2fd12f35f..83c1239c3 100644 --- a/src/Model/ProofOfIdentityKycDocumentDocumentMatches.php +++ b/src/Model/ProofOfIdentityKycDocumentDocumentMatches.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfIdentityKycDocumentDocumentMatches implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('score', $data)) { $this->setScore($data['score']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScore(): ?int diff --git a/src/Model/ProofOfIdentityKycDocumentEmbedded.php b/src/Model/ProofOfIdentityKycDocumentEmbedded.php index 4208d82bb..2e471b51d 100644 --- a/src/Model/ProofOfIdentityKycDocumentEmbedded.php +++ b/src/Model/ProofOfIdentityKycDocumentEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfIdentityKycDocumentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('files', $data)) { $this->setFiles($data['files']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ProofOfIdentityKycDocumentParsedData.php b/src/Model/ProofOfIdentityKycDocumentParsedData.php index 9c398d227..df60ffd10 100644 --- a/src/Model/ProofOfIdentityKycDocumentParsedData.php +++ b/src/Model/ProofOfIdentityKycDocumentParsedData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfIdentityKycDocumentParsedData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('score', $data)) { $this->setScore($data['score']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScore(): ?int diff --git a/src/Model/ProofOfPurchaseKycDocument.php b/src/Model/ProofOfPurchaseKycDocument.php index 920716730..d2489d576 100644 --- a/src/Model/ProofOfPurchaseKycDocument.php +++ b/src/Model/ProofOfPurchaseKycDocument.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfPurchaseKycDocument implements KycDocument { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -91,7 +94,7 @@ class ProofOfPurchaseKycDocument implements KycDocument private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -165,11 +168,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): string diff --git a/src/Model/ProofOfPurchaseKycDocumentDocumentMatches.php b/src/Model/ProofOfPurchaseKycDocumentDocumentMatches.php index b08449ebf..0433170ff 100644 --- a/src/Model/ProofOfPurchaseKycDocumentDocumentMatches.php +++ b/src/Model/ProofOfPurchaseKycDocumentDocumentMatches.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfPurchaseKycDocumentDocumentMatches implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getData(): ?PurchaseMatches diff --git a/src/Model/ProofOfPurchaseKycDocumentEmbedded.php b/src/Model/ProofOfPurchaseKycDocumentEmbedded.php index 3df2d22fe..7f083d6f9 100644 --- a/src/Model/ProofOfPurchaseKycDocumentEmbedded.php +++ b/src/Model/ProofOfPurchaseKycDocumentEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfPurchaseKycDocumentEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('files', $data)) { $this->setFiles($data['files']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ProofOfPurchaseKycDocumentParsedData.php b/src/Model/ProofOfPurchaseKycDocumentParsedData.php index 4b5243f03..a69891092 100644 --- a/src/Model/ProofOfPurchaseKycDocumentParsedData.php +++ b/src/Model/ProofOfPurchaseKycDocumentParsedData.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProofOfPurchaseKycDocumentParsedData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getData(): ?PurchaseMatches diff --git a/src/Model/Prosa.php b/src/Model/Prosa.php index 25577478f..7a6d5c239 100644 --- a/src/Model/Prosa.php +++ b/src/Model/Prosa.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Prosa extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Prosa', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ProsaCredentials diff --git a/src/Model/ProsaCredentials.php b/src/Model/ProsaCredentials.php index 5dcd134a6..feab44bec 100644 --- a/src/Model/ProsaCredentials.php +++ b/src/Model/ProsaCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ProsaCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('entityId', $data)) { $this->setEntityId($data['entityId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('accessToken', $data)) { $this->setAccessToken($data['accessToken']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEntityId(): string diff --git a/src/Model/PurchaseMatches.php b/src/Model/PurchaseMatches.php index cce62ae12..c09be1493 100644 --- a/src/Model/PurchaseMatches.php +++ b/src/Model/PurchaseMatches.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class PurchaseMatches implements JsonSerializable { + use HasMetadata; + public const DOCUMENT_SUBTYPE_PASSPORT = 'passport'; public const DOCUMENT_SUBTYPE_ID_CARD = 'id-card'; @@ -74,7 +77,7 @@ class PurchaseMatches implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('firstName', $data)) { $this->setFirstName($data['firstName']); @@ -88,11 +91,12 @@ public function __construct(array $data = []) if (array_key_exists('documentSubtype', $data)) { $this->setDocumentSubtype($data['documentSubtype']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFirstName(): ?string diff --git a/src/Model/QuickBooksOnlineCustomerExternalServiceSettings.php b/src/Model/QuickBooksOnlineCustomerExternalServiceSettings.php index 3cf28f5b5..8127dacdc 100644 --- a/src/Model/QuickBooksOnlineCustomerExternalServiceSettings.php +++ b/src/Model/QuickBooksOnlineCustomerExternalServiceSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class QuickBooksOnlineCustomerExternalServiceSettings implements JsonSerializable { + use HasMetadata; + public const SYNC_MANUALLY = 'manually'; public const SYNC_WHEN_USED = 'when-used'; @@ -32,7 +35,7 @@ class QuickBooksOnlineCustomerExternalServiceSettings implements JsonSerializabl private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sync', $data)) { $this->setSync($data['sync']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('displayName', $data)) { $this->setDisplayName($data['displayName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSync(): ?string diff --git a/src/Model/QuickBooksOnlineExternalServiceSettings.php b/src/Model/QuickBooksOnlineExternalServiceSettings.php index c3f0a52c2..ed2b51959 100644 --- a/src/Model/QuickBooksOnlineExternalServiceSettings.php +++ b/src/Model/QuickBooksOnlineExternalServiceSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class QuickBooksOnlineExternalServiceSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('journalEntry', $data)) { $this->setJournalEntry($data['journalEntry']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?QuickBooksOnlineCustomerExternalServiceSettings diff --git a/src/Model/QuickBooksOnlineInvoiceExternalServiceSettings.php b/src/Model/QuickBooksOnlineInvoiceExternalServiceSettings.php index f89a9dcb0..2ae439314 100644 --- a/src/Model/QuickBooksOnlineInvoiceExternalServiceSettings.php +++ b/src/Model/QuickBooksOnlineInvoiceExternalServiceSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class QuickBooksOnlineInvoiceExternalServiceSettings implements JsonSerializable { + use HasMetadata; + public const SYNC_MANUALLY = 'manually'; public const SYNC_WHEN_ISSUED = 'when-issued'; @@ -26,7 +29,7 @@ class QuickBooksOnlineInvoiceExternalServiceSettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sync', $data)) { $this->setSync($data['sync']); @@ -70,11 +73,12 @@ public function __construct(array $data = []) if (array_key_exists('taxLineDescription', $data)) { $this->setTaxLineDescription($data['taxLineDescription']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSync(): ?string diff --git a/src/Model/QuickBooksOnlineJournalEntryExternalServiceSettings.php b/src/Model/QuickBooksOnlineJournalEntryExternalServiceSettings.php index f90bd010e..e5edd7ec6 100644 --- a/src/Model/QuickBooksOnlineJournalEntryExternalServiceSettings.php +++ b/src/Model/QuickBooksOnlineJournalEntryExternalServiceSettings.php @@ -15,25 +15,29 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class QuickBooksOnlineJournalEntryExternalServiceSettings implements JsonSerializable { + use HasMetadata; + public const SYNC_MANUALLY = 'manually'; public const SYNC_ALWAYS = 'always'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sync', $data)) { $this->setSync($data['sync']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSync(): ?string diff --git a/src/Model/QuickBooksOnlineTransactionExternalServiceSettings.php b/src/Model/QuickBooksOnlineTransactionExternalServiceSettings.php index 867cdec61..23d43a1fc 100644 --- a/src/Model/QuickBooksOnlineTransactionExternalServiceSettings.php +++ b/src/Model/QuickBooksOnlineTransactionExternalServiceSettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class QuickBooksOnlineTransactionExternalServiceSettings implements JsonSerializable { + use HasMetadata; + public const SYNC_PAYMENTS_MANUALLY = 'manually'; public const SYNC_PAYMENTS_ALWAYS = 'always'; @@ -28,7 +31,7 @@ class QuickBooksOnlineTransactionExternalServiceSettings implements JsonSerializ private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('syncPayments', $data)) { $this->setSyncPayments($data['syncPayments']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('department', $data)) { $this->setDepartment($data['department']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSyncPayments(): ?string diff --git a/src/Model/QuoteFactory.php b/src/Model/QuoteFactory.php index 1edeeb43e..690ad0acc 100644 --- a/src/Model/QuoteFactory.php +++ b/src/Model/QuoteFactory.php @@ -18,12 +18,12 @@ class QuoteFactory { - public static function from(array $data = []): Quote + public static function from(array $data = [], array $metadata = []): Quote { return match ($data['type']) { - 'change' => ChangeQuote::from($data), - 'creation' => CreationQuote::from($data), - 'reactivation' => ReactivationQuote::from($data), + 'change' => ChangeQuote::from($data, $metadata), + 'creation' => CreationQuote::from($data, $metadata), + 'reactivation' => ReactivationQuote::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/QuoteItemFactory.php b/src/Model/QuoteItemFactory.php index 20b64cce7..74a49039c 100644 --- a/src/Model/QuoteItemFactory.php +++ b/src/Model/QuoteItemFactory.php @@ -18,11 +18,11 @@ class QuoteItemFactory { - public static function from(array $data = []): QuoteItem + public static function from(array $data = [], array $metadata = []): QuoteItem { return match ($data['type']) { - 'one-time-sale' => QuoteOneTimeSaleItem::from($data), - 'subscription' => QuoteSubscriptionItem::from($data), + 'one-time-sale' => QuoteOneTimeSaleItem::from($data, $metadata), + 'subscription' => QuoteSubscriptionItem::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/QuoteOneTimeSaleItem.php b/src/Model/QuoteOneTimeSaleItem.php index f94a92017..b715a08b0 100644 --- a/src/Model/QuoteOneTimeSaleItem.php +++ b/src/Model/QuoteOneTimeSaleItem.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class QuoteOneTimeSaleItem implements QuoteItem { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/QuoteSubscriptionItem.php b/src/Model/QuoteSubscriptionItem.php index dc9cecdb4..0fde35dca 100644 --- a/src/Model/QuoteSubscriptionItem.php +++ b/src/Model/QuoteSubscriptionItem.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class QuoteSubscriptionItem implements QuoteItem { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/QuoteTimeline.php b/src/Model/QuoteTimeline.php index 325271f48..0088087c7 100644 --- a/src/Model/QuoteTimeline.php +++ b/src/Model/QuoteTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class QuoteTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_CREATED = 'quote-created'; public const TYPE_ISSUED = 'quote-issued'; @@ -46,7 +49,7 @@ class QuoteTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -69,11 +72,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RPN.php b/src/Model/RPN.php index 530788799..d501d4650 100644 --- a/src/Model/RPN.php +++ b/src/Model/RPN.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RPN extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'RPN', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): RPNCredentials diff --git a/src/Model/RPNCredentials.php b/src/Model/RPNCredentials.php index 79baf2353..cac0846ea 100644 --- a/src/Model/RPNCredentials.php +++ b/src/Model/RPNCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RPNCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('mid', $data)) { $this->setMid($data['mid']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('key', $data)) { $this->setKey($data['key']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMid(): string diff --git a/src/Model/Rapyd.php b/src/Model/Rapyd.php index 32f3a2a11..14cec9cdd 100644 --- a/src/Model/Rapyd.php +++ b/src/Model/Rapyd.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Rapyd extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Rapyd', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): RapydCredentials diff --git a/src/Model/RapydCredentials.php b/src/Model/RapydCredentials.php index 54601e185..237034883 100644 --- a/src/Model/RapydCredentials.php +++ b/src/Model/RapydCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RapydCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accessKey', $data)) { $this->setAccessKey($data['accessKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccessKey(): string diff --git a/src/Model/RapydSettings.php b/src/Model/RapydSettings.php index f871988eb..c5d1775a1 100644 --- a/src/Model/RapydSettings.php +++ b/src/Model/RapydSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RapydSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('ipnUrl', $data)) { $this->setIpnUrl($data['ipnUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIpnUrl(): ?string diff --git a/src/Model/ReactivationQuote.php b/src/Model/ReactivationQuote.php index e6a764bdd..2bedffeea 100644 --- a/src/Model/ReactivationQuote.php +++ b/src/Model/ReactivationQuote.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuote implements Quote { + use HasMetadata; + public const ACCEPTANCE_CONDITIONS_CUSTOMER = 'customer'; public const ACCEPTANCE_CONDITIONS_PAYMENT = 'payment'; @@ -37,7 +40,7 @@ class ReactivationQuote implements Quote private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -108,11 +111,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/ReactivationQuoteAcceptanceFulfillment.php b/src/Model/ReactivationQuoteAcceptanceFulfillment.php index 68ea34cd4..cd1a01c45 100644 --- a/src/Model/ReactivationQuoteAcceptanceFulfillment.php +++ b/src/Model/ReactivationQuoteAcceptanceFulfillment.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteAcceptanceFulfillment implements JsonSerializable { + use HasMetadata; + public const CONDITION_CUSTOMER = 'customer'; public const CONDITION_PAYMENT = 'payment'; @@ -26,7 +29,7 @@ class ReactivationQuoteAcceptanceFulfillment implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('condition', $data)) { $this->setCondition($data['condition']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('isFulfilled', $data)) { $this->setIsFulfilled($data['isFulfilled']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCondition(): ?string diff --git a/src/Model/ReactivationQuoteEmbedded.php b/src/Model/ReactivationQuoteEmbedded.php index c570dc3ea..5d51926c1 100644 --- a/src/Model/ReactivationQuoteEmbedded.php +++ b/src/Model/ReactivationQuoteEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('invoice', $data)) { $this->setInvoice($data['invoice']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/ReactivationQuoteInvoicePreview.php b/src/Model/ReactivationQuoteInvoicePreview.php index 71d0af28d..f4127f496 100644 --- a/src/Model/ReactivationQuoteInvoicePreview.php +++ b/src/Model/ReactivationQuoteInvoicePreview.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteInvoicePreview implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('items', $data)) { $this->setItems($data['items']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/ReactivationQuoteInvoicePreviewInitialAmounts.php b/src/Model/ReactivationQuoteInvoicePreviewInitialAmounts.php index cccc7b9c5..fd43c3dd4 100644 --- a/src/Model/ReactivationQuoteInvoicePreviewInitialAmounts.php +++ b/src/Model/ReactivationQuoteInvoicePreviewInitialAmounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteInvoicePreviewInitialAmounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('taxAmount', $data)) { $this->setTaxAmount($data['taxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/ReactivationQuoteInvoicePreviewItems.php b/src/Model/ReactivationQuoteInvoicePreviewItems.php index fc8d94b55..4d8b8d583 100644 --- a/src/Model/ReactivationQuoteInvoicePreviewItems.php +++ b/src/Model/ReactivationQuoteInvoicePreviewItems.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteInvoicePreviewItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quoteItemId', $data)) { $this->setQuoteItemId($data['quoteItemId']); @@ -68,11 +71,12 @@ public function __construct(array $data = []) if (array_key_exists('trialTaxAmount', $data)) { $this->setTrialTaxAmount($data['trialTaxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getQuoteItemId(): ?string diff --git a/src/Model/ReactivationQuoteInvoicePreviewRecurringAmounts.php b/src/Model/ReactivationQuoteInvoicePreviewRecurringAmounts.php index 223e6ef38..6963be403 100644 --- a/src/Model/ReactivationQuoteInvoicePreviewRecurringAmounts.php +++ b/src/Model/ReactivationQuoteInvoicePreviewRecurringAmounts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteInvoicePreviewRecurringAmounts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('taxAmount', $data)) { $this->setTaxAmount($data['taxAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/ReactivationQuoteOrder.php b/src/Model/ReactivationQuoteOrder.php index 0acb73723..fff2eb4ba 100644 --- a/src/Model/ReactivationQuoteOrder.php +++ b/src/Model/ReactivationQuoteOrder.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteOrder implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -45,11 +48,12 @@ public function __construct(array $data = []) if (array_key_exists('shipping', $data)) { $this->setShipping($data['shipping']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): string diff --git a/src/Model/ReactivationQuoteSignature.php b/src/Model/ReactivationQuoteSignature.php index 60f2f92c2..632cb4754 100644 --- a/src/Model/ReactivationQuoteSignature.php +++ b/src/Model/ReactivationQuoteSignature.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReactivationQuoteSignature implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('showWrittenSignatureLines', $data)) { $this->setShowWrittenSignatureLines($data['showWrittenSignatureLines']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('organizationPrintedName', $data)) { $this->setOrganizationPrintedName($data['organizationPrintedName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getShowWrittenSignatureLines(): ?bool diff --git a/src/Model/ReadyToPayAchMethod.php b/src/Model/ReadyToPayAchMethod.php index eb2195a6c..256cf71b3 100644 --- a/src/Model/ReadyToPayAchMethod.php +++ b/src/Model/ReadyToPayAchMethod.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayAchMethod implements ReadyToPayMethods { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('filters', $data)) { $this->setFilters($data['filters']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/ReadyToPayAchMethodFeatureFactory.php b/src/Model/ReadyToPayAchMethodFeatureFactory.php index b2b773b86..0a5131aaa 100644 --- a/src/Model/ReadyToPayAchMethodFeatureFactory.php +++ b/src/Model/ReadyToPayAchMethodFeatureFactory.php @@ -18,10 +18,10 @@ class ReadyToPayAchMethodFeatureFactory { - public static function from(array $data = []): ReadyToPayAchMethodFeature + public static function from(array $data = [], array $metadata = []): ReadyToPayAchMethodFeature { return match ($data['name']) { - 'Plaid' => AchPlaidFeature::from($data), + 'Plaid' => AchPlaidFeature::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/ReadyToPayAmount.php b/src/Model/ReadyToPayAmount.php index 04eaec597..ca9ea7ee4 100644 --- a/src/Model/ReadyToPayAmount.php +++ b/src/Model/ReadyToPayAmount.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayAmount implements PostReadyToPay { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('riskMetadata', $data)) { $this->setRiskMetadata($data['riskMetadata']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string diff --git a/src/Model/ReadyToPayGenericMethod.php b/src/Model/ReadyToPayGenericMethod.php index 7ab70d0db..225576b88 100644 --- a/src/Model/ReadyToPayGenericMethod.php +++ b/src/Model/ReadyToPayGenericMethod.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayGenericMethod implements ReadyToPayMethods { + use HasMetadata; + public const METHOD_CASH = 'cash'; public const METHOD_CHECK = 'check'; @@ -88,8 +92,6 @@ class ReadyToPayGenericMethod implements ReadyToPayMethods public const METHOD_CUPON_DE_PAGOS = 'Cupon-de-pagos'; - public const METHOD_CRYPTOCURRENCY = 'cryptocurrency'; - public const METHOD_DOMESTIC_CARDS = 'domestic-cards'; public const METHOD_DIRECTA24_CARD = 'Directa24Card'; @@ -296,6 +298,8 @@ class ReadyToPayGenericMethod implements ReadyToPayMethods public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -332,7 +336,7 @@ class ReadyToPayGenericMethod implements ReadyToPayMethods private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); @@ -340,11 +344,12 @@ public function __construct(array $data = []) if (array_key_exists('filters', $data)) { $this->setFilters($data['filters']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/ReadyToPayItems.php b/src/Model/ReadyToPayItems.php index c64cc120f..210ea489a 100644 --- a/src/Model/ReadyToPayItems.php +++ b/src/Model/ReadyToPayItems.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayItems implements PostReadyToPay { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -32,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('riskMetadata', $data)) { $this->setRiskMetadata($data['riskMetadata']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string diff --git a/src/Model/ReadyToPayItemsItems.php b/src/Model/ReadyToPayItemsItems.php index 630c8da91..0220fa218 100644 --- a/src/Model/ReadyToPayItemsItems.php +++ b/src/Model/ReadyToPayItemsItems.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReadyToPayItemsItems implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlanId(): string diff --git a/src/Model/ReadyToPayKlarnaMethod.php b/src/Model/ReadyToPayKlarnaMethod.php index a66fabec9..2ec4c9bcc 100644 --- a/src/Model/ReadyToPayKlarnaMethod.php +++ b/src/Model/ReadyToPayKlarnaMethod.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayKlarnaMethod implements ReadyToPayMethods { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('filters', $data)) { $this->setFilters($data['filters']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/ReadyToPayKlarnaMethodFeatureFactory.php b/src/Model/ReadyToPayKlarnaMethodFeatureFactory.php index bb772bdb8..3df8626eb 100644 --- a/src/Model/ReadyToPayKlarnaMethodFeatureFactory.php +++ b/src/Model/ReadyToPayKlarnaMethodFeatureFactory.php @@ -18,10 +18,10 @@ class ReadyToPayKlarnaMethodFeatureFactory { - public static function from(array $data = []): ReadyToPayKlarnaMethodFeature + public static function from(array $data = [], array $metadata = []): ReadyToPayKlarnaMethodFeature { return match ($data['name']) { - 'Klarna' => KlarnaFeature::from($data), + 'Klarna' => KlarnaFeature::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/ReadyToPayMethodsFactory.php b/src/Model/ReadyToPayMethodsFactory.php index c59ddd59f..86dac5c01 100644 --- a/src/Model/ReadyToPayMethodsFactory.php +++ b/src/Model/ReadyToPayMethodsFactory.php @@ -18,154 +18,154 @@ class ReadyToPayMethodsFactory { - public static function from(array $data = []): ReadyToPayMethods + public static function from(array $data = [], array $metadata = []): ReadyToPayMethods { return match ($data['method']) { - 'ach' => ReadyToPayAchMethod::from($data), - 'AdvCash' => ReadyToPayGenericMethod::from($data), - 'Alfa-click' => ReadyToPayGenericMethod::from($data), - 'Alipay' => ReadyToPayGenericMethod::from($data), - 'AstroPay Card' => ReadyToPayGenericMethod::from($data), - 'AstroPay-GO' => ReadyToPayGenericMethod::from($data), - 'Baloto' => ReadyToPayGenericMethod::from($data), - 'Bancontact' => ReadyToPayGenericMethod::from($data), - 'Bancontact-mobile' => ReadyToPayGenericMethod::from($data), - 'BankReferenced' => ReadyToPayGenericMethod::from($data), - 'Beeline' => ReadyToPayGenericMethod::from($data), - 'Belfius-direct-net' => ReadyToPayGenericMethod::from($data), - 'Bizum' => ReadyToPayGenericMethod::from($data), - 'Boleto' => ReadyToPayGenericMethod::from($data), - 'CASHlib' => ReadyToPayGenericMethod::from($data), - 'CODVoucher' => ReadyToPayGenericMethod::from($data), - 'CashToCode' => ReadyToPayGenericMethod::from($data), - 'China UnionPay' => ReadyToPayGenericMethod::from($data), - 'Cleo' => ReadyToPayGenericMethod::from($data), - 'Conekta-oxxo' => ReadyToPayGenericMethod::from($data), - 'Cupon-de-pagos' => ReadyToPayGenericMethod::from($data), - 'EPS' => ReadyToPayGenericMethod::from($data), - 'Efecty' => ReadyToPayGenericMethod::from($data), - 'FasterPay' => ReadyToPayGenericMethod::from($data), - 'Flexepin' => ReadyToPayGenericMethod::from($data), - 'Giropay' => ReadyToPayGenericMethod::from($data), - 'Google Pay' => ReadyToPayGenericMethod::from($data), - 'Gpaysafe' => ReadyToPayGenericMethod::from($data), - 'ING-homepay' => ReadyToPayGenericMethod::from($data), - 'INOVAPAY-pin' => ReadyToPayGenericMethod::from($data), - 'INOVAPAY-wallet' => ReadyToPayGenericMethod::from($data), - 'InstaDebit' => ReadyToPayGenericMethod::from($data), - 'InstantPayments' => ReadyToPayGenericMethod::from($data), - 'Interac' => ReadyToPayGenericMethod::from($data), - 'Interac-eTransfer' => ReadyToPayGenericMethod::from($data), - 'Interac-online' => ReadyToPayGenericMethod::from($data), - 'Jeton' => ReadyToPayGenericMethod::from($data), - 'KNOT' => ReadyToPayGenericMethod::from($data), - 'Khelocard' => ReadyToPayGenericMethod::from($data), - 'MTS' => ReadyToPayGenericMethod::from($data), - 'Matrix' => ReadyToPayGenericMethod::from($data), - 'MaxiCash' => ReadyToPayGenericMethod::from($data), - 'Megafon' => ReadyToPayGenericMethod::from($data), - 'MiFinity-eWallet' => ReadyToPayGenericMethod::from($data), - 'MuchBetter' => ReadyToPayGenericMethod::from($data), - 'Multibanco' => ReadyToPayGenericMethod::from($data), - 'Neosurf' => ReadyToPayGenericMethod::from($data), - 'Netbanking' => ReadyToPayGenericMethod::from($data), - 'Neteller' => ReadyToPayGenericMethod::from($data), - 'Nordea-Solo' => ReadyToPayGenericMethod::from($data), - 'OXXO' => ReadyToPayGenericMethod::from($data), - 'OchaPay' => ReadyToPayGenericMethod::from($data), - 'Onlineueberweisen' => ReadyToPayGenericMethod::from($data), - 'P24' => ReadyToPayGenericMethod::from($data), - 'POLi' => ReadyToPayGenericMethod::from($data), - 'Pagadito' => ReadyToPayGenericMethod::from($data), - 'PagoEffectivo' => ReadyToPayGenericMethod::from($data), - 'Pagsmile-deposit-express' => ReadyToPayGenericMethod::from($data), - 'Pagsmile-lottery' => ReadyToPayGenericMethod::from($data), - 'Pay4Fun' => ReadyToPayGenericMethod::from($data), - 'PayCash' => ReadyToPayGenericMethod::from($data), - 'PayTabs' => ReadyToPayGenericMethod::from($data), - 'Payeer' => ReadyToPayGenericMethod::from($data), - 'PaymentAsia-crypto' => ReadyToPayGenericMethod::from($data), - 'Paymero' => ReadyToPayGenericMethod::from($data), - 'Paynote' => ReadyToPayGenericMethod::from($data), - 'Paysafecard' => ReadyToPayGenericMethod::from($data), - 'Paysafecash' => ReadyToPayGenericMethod::from($data), - 'Perfect-money' => ReadyToPayGenericMethod::from($data), - 'PhonePe' => ReadyToPayGenericMethod::from($data), - 'Piastrix' => ReadyToPayGenericMethod::from($data), - 'PinPay' => ReadyToPayGenericMethod::from($data), - 'PostFinance-card' => ReadyToPayGenericMethod::from($data), - 'PostFinance-e-finance' => ReadyToPayGenericMethod::from($data), - 'QIWI' => ReadyToPayGenericMethod::from($data), - 'QPay' => ReadyToPayGenericMethod::from($data), - 'QQPay' => ReadyToPayGenericMethod::from($data), - 'Resurs' => ReadyToPayGenericMethod::from($data), - 'SEPA' => ReadyToPayGenericMethod::from($data), - 'SMSVoucher' => ReadyToPayGenericMethod::from($data), - 'SafetyPay' => ReadyToPayGenericMethod::from($data), - 'Skrill' => ReadyToPayGenericMethod::from($data), - 'Skrill Rapid Transfer' => ReadyToPayGenericMethod::from($data), - 'Sofort' => ReadyToPayGenericMethod::from($data), - 'SparkPay' => ReadyToPayGenericMethod::from($data), - 'Tele2' => ReadyToPayGenericMethod::from($data), - 'Terminaly-RF' => ReadyToPayGenericMethod::from($data), - 'ToditoCash-card' => ReadyToPayGenericMethod::from($data), - 'Trustly' => ReadyToPayGenericMethod::from($data), - 'UPI' => ReadyToPayGenericMethod::from($data), - 'UPayCard' => ReadyToPayGenericMethod::from($data), - 'USD-coin' => ReadyToPayGenericMethod::from($data), - 'VCreditos' => ReadyToPayGenericMethod::from($data), - 'VenusPoint' => ReadyToPayGenericMethod::from($data), - 'WeChat Pay' => ReadyToPayGenericMethod::from($data), - 'Webmoney' => ReadyToPayGenericMethod::from($data), - 'Webpay' => ReadyToPayGenericMethod::from($data), - 'Webpay Card' => ReadyToPayGenericMethod::from($data), - 'Webpay-2' => ReadyToPayGenericMethod::from($data), - 'XPay-P2P' => ReadyToPayGenericMethod::from($data), - 'XPay-QR' => ReadyToPayGenericMethod::from($data), - 'Yandex-money' => ReadyToPayGenericMethod::from($data), - 'Zimpler' => ReadyToPayGenericMethod::from($data), - 'Zotapay' => ReadyToPayGenericMethod::from($data), - 'bank-transfer' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-2' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-3' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-4' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-5' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-6' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-7' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-8' => ReadyToPayGenericMethod::from($data), - 'bank-transfer-9' => ReadyToPayGenericMethod::from($data), - 'bitcoin' => ReadyToPayGenericMethod::from($data), - 'cash' => ReadyToPayGenericMethod::from($data), - 'cash-deposit' => ReadyToPayGenericMethod::from($data), - 'check' => ReadyToPayGenericMethod::from($data), - 'cryptocurrency' => ReadyToPayGenericMethod::from($data), - 'domestic-cards' => ReadyToPayGenericMethod::from($data), - 'ePay.bg' => ReadyToPayGenericMethod::from($data), - 'eZeeWallet' => ReadyToPayGenericMethod::from($data), - 'echeck' => ReadyToPayGenericMethod::from($data), - 'ecoPayz' => ReadyToPayGenericMethod::from($data), - 'ecoVoucher' => ReadyToPayGenericMethod::from($data), - 'iDEAL' => ReadyToPayGenericMethod::from($data), - 'iDebit' => ReadyToPayGenericMethod::from($data), - 'iWallet' => ReadyToPayGenericMethod::from($data), - 'instant-bank-transfer' => ReadyToPayGenericMethod::from($data), - 'invoice' => ReadyToPayGenericMethod::from($data), - 'jpay' => ReadyToPayGenericMethod::from($data), - 'loonie' => ReadyToPayGenericMethod::from($data), - 'miscellaneous' => ReadyToPayGenericMethod::from($data), - 'online-bank-transfer' => ReadyToPayGenericMethod::from($data), - 'oriental-wallet' => ReadyToPayGenericMethod::from($data), - 'phone' => ReadyToPayGenericMethod::from($data), - 'plaid-account' => ReadyToPayGenericMethod::from($data), - 'rapyd-checkout' => ReadyToPayGenericMethod::from($data), - 'swift-dbt' => ReadyToPayGenericMethod::from($data), - 'voucher' => ReadyToPayGenericMethod::from($data), - 'voucher-2' => ReadyToPayGenericMethod::from($data), - 'voucher-3' => ReadyToPayGenericMethod::from($data), - 'voucher-4' => ReadyToPayGenericMethod::from($data), - 'Klarna' => ReadyToPayKlarnaMethod::from($data), - 'payment-card' => ReadyToPayPaymentCardMethod::from($data), - 'paypal' => ReadyToPayPayPalMethod::from($data), + 'ach' => ReadyToPayAchMethod::from($data, $metadata), + 'AdvCash' => ReadyToPayGenericMethod::from($data, $metadata), + 'Alfa-click' => ReadyToPayGenericMethod::from($data, $metadata), + 'Alipay' => ReadyToPayGenericMethod::from($data, $metadata), + 'AstroPay Card' => ReadyToPayGenericMethod::from($data, $metadata), + 'AstroPay-GO' => ReadyToPayGenericMethod::from($data, $metadata), + 'Baloto' => ReadyToPayGenericMethod::from($data, $metadata), + 'Bancontact' => ReadyToPayGenericMethod::from($data, $metadata), + 'Bancontact-mobile' => ReadyToPayGenericMethod::from($data, $metadata), + 'BankReferenced' => ReadyToPayGenericMethod::from($data, $metadata), + 'Beeline' => ReadyToPayGenericMethod::from($data, $metadata), + 'Belfius-direct-net' => ReadyToPayGenericMethod::from($data, $metadata), + 'Bizum' => ReadyToPayGenericMethod::from($data, $metadata), + 'Boleto' => ReadyToPayGenericMethod::from($data, $metadata), + 'CASHlib' => ReadyToPayGenericMethod::from($data, $metadata), + 'CODVoucher' => ReadyToPayGenericMethod::from($data, $metadata), + 'CashToCode' => ReadyToPayGenericMethod::from($data, $metadata), + 'China UnionPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Cleo' => ReadyToPayGenericMethod::from($data, $metadata), + 'Conekta-oxxo' => ReadyToPayGenericMethod::from($data, $metadata), + 'Cupon-de-pagos' => ReadyToPayGenericMethod::from($data, $metadata), + 'EPS' => ReadyToPayGenericMethod::from($data, $metadata), + 'Efecty' => ReadyToPayGenericMethod::from($data, $metadata), + 'FasterPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Flexepin' => ReadyToPayGenericMethod::from($data, $metadata), + 'Giropay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Google Pay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Gpaysafe' => ReadyToPayGenericMethod::from($data, $metadata), + 'ING-homepay' => ReadyToPayGenericMethod::from($data, $metadata), + 'INOVAPAY-pin' => ReadyToPayGenericMethod::from($data, $metadata), + 'INOVAPAY-wallet' => ReadyToPayGenericMethod::from($data, $metadata), + 'InstaDebit' => ReadyToPayGenericMethod::from($data, $metadata), + 'InstantPayments' => ReadyToPayGenericMethod::from($data, $metadata), + 'Interac' => ReadyToPayGenericMethod::from($data, $metadata), + 'Interac-eTransfer' => ReadyToPayGenericMethod::from($data, $metadata), + 'Interac-online' => ReadyToPayGenericMethod::from($data, $metadata), + 'Jeton' => ReadyToPayGenericMethod::from($data, $metadata), + 'KNOT' => ReadyToPayGenericMethod::from($data, $metadata), + 'Khelocard' => ReadyToPayGenericMethod::from($data, $metadata), + 'MTS' => ReadyToPayGenericMethod::from($data, $metadata), + 'Matrix' => ReadyToPayGenericMethod::from($data, $metadata), + 'MaxiCash' => ReadyToPayGenericMethod::from($data, $metadata), + 'Megafon' => ReadyToPayGenericMethod::from($data, $metadata), + 'MiFinity-eWallet' => ReadyToPayGenericMethod::from($data, $metadata), + 'MuchBetter' => ReadyToPayGenericMethod::from($data, $metadata), + 'Multibanco' => ReadyToPayGenericMethod::from($data, $metadata), + 'Neosurf' => ReadyToPayGenericMethod::from($data, $metadata), + 'Netbanking' => ReadyToPayGenericMethod::from($data, $metadata), + 'Neteller' => ReadyToPayGenericMethod::from($data, $metadata), + 'Nordea-Solo' => ReadyToPayGenericMethod::from($data, $metadata), + 'OXXO' => ReadyToPayGenericMethod::from($data, $metadata), + 'OchaPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Onlineueberweisen' => ReadyToPayGenericMethod::from($data, $metadata), + 'P24' => ReadyToPayGenericMethod::from($data, $metadata), + 'POLi' => ReadyToPayGenericMethod::from($data, $metadata), + 'Pagadito' => ReadyToPayGenericMethod::from($data, $metadata), + 'PagoEffectivo' => ReadyToPayGenericMethod::from($data, $metadata), + 'Pagsmile-deposit-express' => ReadyToPayGenericMethod::from($data, $metadata), + 'Pagsmile-lottery' => ReadyToPayGenericMethod::from($data, $metadata), + 'Pay4Fun' => ReadyToPayGenericMethod::from($data, $metadata), + 'PayCash' => ReadyToPayGenericMethod::from($data, $metadata), + 'PayTabs' => ReadyToPayGenericMethod::from($data, $metadata), + 'Payeer' => ReadyToPayGenericMethod::from($data, $metadata), + 'PaymentAsia-crypto' => ReadyToPayGenericMethod::from($data, $metadata), + 'Paymero' => ReadyToPayGenericMethod::from($data, $metadata), + 'Paynote' => ReadyToPayGenericMethod::from($data, $metadata), + 'Paysafecard' => ReadyToPayGenericMethod::from($data, $metadata), + 'Paysafecash' => ReadyToPayGenericMethod::from($data, $metadata), + 'Perfect-money' => ReadyToPayGenericMethod::from($data, $metadata), + 'PhonePe' => ReadyToPayGenericMethod::from($data, $metadata), + 'Piastrix' => ReadyToPayGenericMethod::from($data, $metadata), + 'PinPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'PostFinance-card' => ReadyToPayGenericMethod::from($data, $metadata), + 'PostFinance-e-finance' => ReadyToPayGenericMethod::from($data, $metadata), + 'QIWI' => ReadyToPayGenericMethod::from($data, $metadata), + 'QPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'QQPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Resurs' => ReadyToPayGenericMethod::from($data, $metadata), + 'SEPA' => ReadyToPayGenericMethod::from($data, $metadata), + 'SMSVoucher' => ReadyToPayGenericMethod::from($data, $metadata), + 'SafetyPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Skrill' => ReadyToPayGenericMethod::from($data, $metadata), + 'Skrill Rapid Transfer' => ReadyToPayGenericMethod::from($data, $metadata), + 'Sofort' => ReadyToPayGenericMethod::from($data, $metadata), + 'SparkPay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Tele2' => ReadyToPayGenericMethod::from($data, $metadata), + 'Terminaly-RF' => ReadyToPayGenericMethod::from($data, $metadata), + 'ToditoCash-card' => ReadyToPayGenericMethod::from($data, $metadata), + 'Trustly' => ReadyToPayGenericMethod::from($data, $metadata), + 'UPI' => ReadyToPayGenericMethod::from($data, $metadata), + 'UPayCard' => ReadyToPayGenericMethod::from($data, $metadata), + 'USD-coin' => ReadyToPayGenericMethod::from($data, $metadata), + 'VCreditos' => ReadyToPayGenericMethod::from($data, $metadata), + 'VenusPoint' => ReadyToPayGenericMethod::from($data, $metadata), + 'WeChat Pay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Webmoney' => ReadyToPayGenericMethod::from($data, $metadata), + 'Webpay' => ReadyToPayGenericMethod::from($data, $metadata), + 'Webpay Card' => ReadyToPayGenericMethod::from($data, $metadata), + 'Webpay-2' => ReadyToPayGenericMethod::from($data, $metadata), + 'XPay-P2P' => ReadyToPayGenericMethod::from($data, $metadata), + 'XPay-QR' => ReadyToPayGenericMethod::from($data, $metadata), + 'Yandex-money' => ReadyToPayGenericMethod::from($data, $metadata), + 'Zimpler' => ReadyToPayGenericMethod::from($data, $metadata), + 'Zotapay' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-2' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-3' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-4' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-5' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-6' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-7' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-8' => ReadyToPayGenericMethod::from($data, $metadata), + 'bank-transfer-9' => ReadyToPayGenericMethod::from($data, $metadata), + 'bitcoin' => ReadyToPayGenericMethod::from($data, $metadata), + 'cash' => ReadyToPayGenericMethod::from($data, $metadata), + 'cash-deposit' => ReadyToPayGenericMethod::from($data, $metadata), + 'check' => ReadyToPayGenericMethod::from($data, $metadata), + 'cryptocurrency' => ReadyToPayGenericMethod::from($data, $metadata), + 'domestic-cards' => ReadyToPayGenericMethod::from($data, $metadata), + 'ePay.bg' => ReadyToPayGenericMethod::from($data, $metadata), + 'eZeeWallet' => ReadyToPayGenericMethod::from($data, $metadata), + 'echeck' => ReadyToPayGenericMethod::from($data, $metadata), + 'ecoPayz' => ReadyToPayGenericMethod::from($data, $metadata), + 'ecoVoucher' => ReadyToPayGenericMethod::from($data, $metadata), + 'iDEAL' => ReadyToPayGenericMethod::from($data, $metadata), + 'iDebit' => ReadyToPayGenericMethod::from($data, $metadata), + 'iWallet' => ReadyToPayGenericMethod::from($data, $metadata), + 'instant-bank-transfer' => ReadyToPayGenericMethod::from($data, $metadata), + 'invoice' => ReadyToPayGenericMethod::from($data, $metadata), + 'jpay' => ReadyToPayGenericMethod::from($data, $metadata), + 'loonie' => ReadyToPayGenericMethod::from($data, $metadata), + 'miscellaneous' => ReadyToPayGenericMethod::from($data, $metadata), + 'online-bank-transfer' => ReadyToPayGenericMethod::from($data, $metadata), + 'oriental-wallet' => ReadyToPayGenericMethod::from($data, $metadata), + 'phone' => ReadyToPayGenericMethod::from($data, $metadata), + 'plaid-account' => ReadyToPayGenericMethod::from($data, $metadata), + 'rapyd-checkout' => ReadyToPayGenericMethod::from($data, $metadata), + 'swift-dbt' => ReadyToPayGenericMethod::from($data, $metadata), + 'voucher' => ReadyToPayGenericMethod::from($data, $metadata), + 'voucher-2' => ReadyToPayGenericMethod::from($data, $metadata), + 'voucher-3' => ReadyToPayGenericMethod::from($data, $metadata), + 'voucher-4' => ReadyToPayGenericMethod::from($data, $metadata), + 'Klarna' => ReadyToPayKlarnaMethod::from($data, $metadata), + 'payment-card' => ReadyToPayPaymentCardMethod::from($data, $metadata), + 'paypal' => ReadyToPayPayPalMethod::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/ReadyToPayPayPalMethod.php b/src/Model/ReadyToPayPayPalMethod.php index 9a902902c..73b2d9c32 100644 --- a/src/Model/ReadyToPayPayPalMethod.php +++ b/src/Model/ReadyToPayPayPalMethod.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayPayPalMethod implements ReadyToPayMethods { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('filters', $data)) { $this->setFilters($data['filters']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/ReadyToPayPayPalMethodFeatureFactory.php b/src/Model/ReadyToPayPayPalMethodFeatureFactory.php index eade0dbb2..7d7636600 100644 --- a/src/Model/ReadyToPayPayPalMethodFeatureFactory.php +++ b/src/Model/ReadyToPayPayPalMethodFeatureFactory.php @@ -18,10 +18,10 @@ class ReadyToPayPayPalMethodFeatureFactory { - public static function from(array $data = []): ReadyToPayPayPalMethodFeature + public static function from(array $data = [], array $metadata = []): ReadyToPayPayPalMethodFeature { return match ($data['name']) { - 'PayPal billing agreement' => PayPalBillingAgreementFeature::from($data), + 'PayPal billing agreement' => PayPalBillingAgreementFeature::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/ReadyToPayPaymentCardMethod.php b/src/Model/ReadyToPayPaymentCardMethod.php index 64f496532..f7af90c05 100644 --- a/src/Model/ReadyToPayPaymentCardMethod.php +++ b/src/Model/ReadyToPayPaymentCardMethod.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ReadyToPayPaymentCardMethod implements ReadyToPayMethods { + use HasMetadata; + public const BRANDS_VISA = 'Visa'; public const BRANDS_MASTER_CARD = 'MasterCard'; @@ -46,7 +50,7 @@ class ReadyToPayPaymentCardMethod implements ReadyToPayMethods private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('feature', $data)) { $this->setFeature($data['feature']); @@ -57,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('filters', $data)) { $this->setFilters($data['filters']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/Realex.php b/src/Model/Realex.php index aa7172fd6..b5d11ccbe 100644 --- a/src/Model/Realex.php +++ b/src/Model/Realex.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Realex extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Realex', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): RealexCredentials diff --git a/src/Model/RealexCredentials.php b/src/Model/RealexCredentials.php index cbc4ff529..53f01d1ee 100644 --- a/src/Model/RealexCredentials.php +++ b/src/Model/RealexCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RealexCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('account', $data)) { $this->setAccount($data['account']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Realtime.php b/src/Model/Realtime.php index 3c0256540..b7faf06d0 100644 --- a/src/Model/Realtime.php +++ b/src/Model/Realtime.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Realtime extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Realtime', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): RealtimeCredentials diff --git a/src/Model/RealtimeCredentials.php b/src/Model/RealtimeCredentials.php index 6f3708c72..99af8813f 100644 --- a/src/Model/RealtimeCredentials.php +++ b/src/Model/RealtimeCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RealtimeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretWord', $data)) { $this->setSecretWord($data['secretWord']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/RebillyAvalaraTax.php b/src/Model/RebillyAvalaraTax.php index 920b9e37e..e36112502 100644 --- a/src/Model/RebillyAvalaraTax.php +++ b/src/Model/RebillyAvalaraTax.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RebillyAvalaraTax implements Taxes { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('items', $data)) { $this->setItems($data['items']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCalculator(): string diff --git a/src/Model/RebillyShipping.php b/src/Model/RebillyShipping.php index c27f5500b..69adc1e73 100644 --- a/src/Model/RebillyShipping.php +++ b/src/Model/RebillyShipping.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RebillyShipping implements Shipping { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rateId', $data)) { $this->setRateId($data['rateId']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCalculator(): string diff --git a/src/Model/RebillyTaxJarTax.php b/src/Model/RebillyTaxJarTax.php index f25089b36..7876b00b7 100644 --- a/src/Model/RebillyTaxJarTax.php +++ b/src/Model/RebillyTaxJarTax.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RebillyTaxJarTax implements Taxes { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('items', $data)) { $this->setItems($data['items']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCalculator(): string diff --git a/src/Model/RecurringOrder.php b/src/Model/RecurringOrder.php index df85955e4..c89855b81 100644 --- a/src/Model/RecurringOrder.php +++ b/src/Model/RecurringOrder.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class RecurringOrder implements Order { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_ACTIVE = 'active'; @@ -73,7 +76,7 @@ class RecurringOrder implements Order private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -198,6 +201,9 @@ public function __construct(array $data = []) if (array_key_exists('renewalTime', $data)) { $this->setRenewalTime($data['renewalTime']); } + if (array_key_exists('isNew', $data)) { + $this->setIsNew($data['isNew']); + } if (array_key_exists('createdTime', $data)) { $this->setCreatedTime($data['createdTime']); } @@ -210,11 +216,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string @@ -612,6 +619,11 @@ public function getRenewalTime(): ?DateTimeImmutable return $this->fields['renewalTime'] ?? null; } + public function getIsNew(): ?bool + { + return $this->fields['isNew'] ?? null; + } + public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -777,6 +789,9 @@ public function jsonSerialize(): array if (array_key_exists('renewalTime', $this->fields)) { $data['renewalTime'] = $this->fields['renewalTime']?->format(DateTimeInterface::RFC3339); } + if (array_key_exists('isNew', $this->fields)) { + $data['isNew'] = $this->fields['isNew']; + } if (array_key_exists('createdTime', $this->fields)) { $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); } @@ -977,6 +992,13 @@ private function setRenewalTime(null|DateTimeImmutable|string $renewalTime): sta return $this; } + private function setIsNew(null|bool $isNew): static + { + $this->fields['isNew'] = $isNew; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/RecurringOrderEmbedded.php b/src/Model/RecurringOrderEmbedded.php index 7bdece261..3dda056a4 100644 --- a/src/Model/RecurringOrderEmbedded.php +++ b/src/Model/RecurringOrderEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RecurringOrderEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('website', $data)) { $this->setWebsite($data['website']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/RecurringOrderItems.php b/src/Model/RecurringOrderItems.php index 7b71b4db0..bb1e0a8bf 100644 --- a/src/Model/RecurringOrderItems.php +++ b/src/Model/RecurringOrderItems.php @@ -37,6 +37,8 @@ public function getQuantity(): ?int; public function setQuantity(null|int $quantity): static; + public function getRevision(): ?int; + public function getCreatedTime(): ?DateTimeImmutable; public function getUpdatedTime(): ?DateTimeImmutable; diff --git a/src/Model/RecurringOrderItemsFactory.php b/src/Model/RecurringOrderItemsFactory.php index 7c6ebd5a0..5a1ea9aef 100644 --- a/src/Model/RecurringOrderItemsFactory.php +++ b/src/Model/RecurringOrderItemsFactory.php @@ -18,11 +18,11 @@ class RecurringOrderItemsFactory { - public static function from(array $data = []): RecurringOrderItems + public static function from(array $data = [], array $metadata = []): RecurringOrderItems { return match ($data['type']) { - 'one-time-sale' => OneTimeSaleItem::from($data), - 'subscription' => SubscriptionItem::from($data), + 'one-time-sale' => OneTimeSaleItem::from($data, $metadata), + 'subscription' => SubscriptionItem::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/RecurringOrderTrial.php b/src/Model/RecurringOrderTrial.php index 8bc1d4e70..7043fdf4a 100644 --- a/src/Model/RecurringOrderTrial.php +++ b/src/Model/RecurringOrderTrial.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RecurringOrderTrial implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('enabled', $data)) { $this->setEnabled($data['enabled']); @@ -30,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('endTime', $data)) { $this->setEndTime($data['endTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEnabled(): ?bool diff --git a/src/Model/RedemptionCancelTimelineAction.php b/src/Model/RedemptionCancelTimelineAction.php index 42d44b34e..dbf028d44 100644 --- a/src/Model/RedemptionCancelTimelineAction.php +++ b/src/Model/RedemptionCancelTimelineAction.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RedemptionCancelTimelineAction implements TimelineAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('redemptionId', $data)) { $this->setRedemptionId($data['redemptionId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAction(): string diff --git a/src/Model/RedemptionRestrictionFactory.php b/src/Model/RedemptionRestrictionFactory.php index 94a9be511..1e2a022a4 100644 --- a/src/Model/RedemptionRestrictionFactory.php +++ b/src/Model/RedemptionRestrictionFactory.php @@ -18,16 +18,17 @@ class RedemptionRestrictionFactory { - public static function from(array $data = []): RedemptionRestriction + public static function from(array $data = [], array $metadata = []): RedemptionRestriction { return match ($data['type']) { - 'discounts-per-redemption' => CouponRestrictionDiscountPerRedemption::from($data), - 'minimum-order-amount' => CouponRestrictionMinimumOrderAmount::from($data), - 'paid-by-time' => CouponRestrictionPaidByTime::from($data), - 'restrict-to-invoices' => CouponRestrictionRestrictToInvoices::from($data), - 'restrict-to-plans' => CouponRestrictionRestrictToPlans::from($data), - 'restrict-to-products' => CouponRestrictionRestrictToProducts::from($data), - 'restrict-to-subscriptions' => CouponRestrictionRestrictToSubscriptions::from($data), + 'discounts-per-redemption' => CouponRestrictionDiscountPerRedemption::from($data, $metadata), + 'maximum-order-amount' => CouponRestrictionMaximumOrderAmount::from($data, $metadata), + 'minimum-order-amount' => CouponRestrictionMinimumOrderAmount::from($data, $metadata), + 'paid-by-time' => CouponRestrictionPaidByTime::from($data, $metadata), + 'restrict-to-invoices' => CouponRestrictionRestrictToInvoices::from($data, $metadata), + 'restrict-to-plans' => CouponRestrictionRestrictToPlans::from($data, $metadata), + 'restrict-to-products' => CouponRestrictionRestrictToProducts::from($data, $metadata), + 'restrict-to-subscriptions' => CouponRestrictionRestrictToSubscriptions::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Redsys.php b/src/Model/Redsys.php index 8ef3da46a..f759e0a27 100644 --- a/src/Model/Redsys.php +++ b/src/Model/Redsys.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Redsys extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Redsys', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): RedsysCredentials diff --git a/src/Model/RedsysCredentials.php b/src/Model/RedsysCredentials.php index 595ba0e7e..2fc1f1e85 100644 --- a/src/Model/RedsysCredentials.php +++ b/src/Model/RedsysCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RedsysCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantCode', $data)) { $this->setMerchantCode($data['merchantCode']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretCode', $data)) { $this->setSecretCode($data['secretCode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantCode(): string diff --git a/src/Model/RedsysSettings.php b/src/Model/RedsysSettings.php index b6b4770f6..dc6d9d066 100644 --- a/src/Model/RedsysSettings.php +++ b/src/Model/RedsysSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RedsysSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('terminal', $data)) { $this->setTerminal($data['terminal']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTerminal(): ?string diff --git a/src/Model/RefundTransaction.php b/src/Model/RefundTransaction.php index b1e9a26be..3d49bf52a 100644 --- a/src/Model/RefundTransaction.php +++ b/src/Model/RefundTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class RefundTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -53,11 +56,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/ReminderScheduleInstructionFactory.php b/src/Model/ReminderScheduleInstructionFactory.php index ddde960b4..00c115ea3 100644 --- a/src/Model/ReminderScheduleInstructionFactory.php +++ b/src/Model/ReminderScheduleInstructionFactory.php @@ -18,12 +18,12 @@ class ReminderScheduleInstructionFactory { - public static function from(array $data = []): ReminderScheduleInstruction + public static function from(array $data = [], array $metadata = []): ReminderScheduleInstruction { return match ($data['method']) { - 'date-interval' => SchedulingMethodDateInterval::from($data), - 'day-of-month' => SchedulingMethodDayOfMonth::from($data), - 'day-of-week' => SchedulingMethodDayOfWeek::from($data), + 'date-interval' => SchedulingMethodDateInterval::from($data, $metadata), + 'day-of-month' => SchedulingMethodDayOfMonth::from($data, $metadata), + 'day-of-week' => SchedulingMethodDayOfWeek::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/RenewalSales.php b/src/Model/RenewalSales.php index b8aaab28a..6fa797615 100644 --- a/src/Model/RenewalSales.php +++ b/src/Model/RenewalSales.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RenewalSales implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RenewalSalesData.php b/src/Model/RenewalSalesData.php index 36c961ecf..e12cd926e 100644 --- a/src/Model/RenewalSalesData.php +++ b/src/Model/RenewalSalesData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RenewalSalesData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('renewalRefunds', $data)) { $this->setRenewalRefunds($data['renewalRefunds']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/ReportAmlChecks.php b/src/Model/ReportAmlChecks.php new file mode 100644 index 000000000..be6f27e44 --- /dev/null +++ b/src/Model/ReportAmlChecks.php @@ -0,0 +1,114 @@ +setTotal($data['total']); + } + if (array_key_exists('propagated', $data)) { + $this->setPropagated($data['propagated']); + } + if (array_key_exists('resulted', $data)) { + $this->setResulted($data['resulted']); + } + if (array_key_exists('pending', $data)) { + $this->setPending($data['pending']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getTotal(): ?int + { + return $this->fields['total'] ?? null; + } + + public function setTotal(null|int $total): static + { + $this->fields['total'] = $total; + + return $this; + } + + public function getPropagated(): ?int + { + return $this->fields['propagated'] ?? null; + } + + public function setPropagated(null|int $propagated): static + { + $this->fields['propagated'] = $propagated; + + return $this; + } + + public function getResulted(): ?int + { + return $this->fields['resulted'] ?? null; + } + + public function setResulted(null|int $resulted): static + { + $this->fields['resulted'] = $resulted; + + return $this; + } + + public function getPending(): ?int + { + return $this->fields['pending'] ?? null; + } + + public function setPending(null|int $pending): static + { + $this->fields['pending'] = $pending; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('total', $this->fields)) { + $data['total'] = $this->fields['total']; + } + if (array_key_exists('propagated', $this->fields)) { + $data['propagated'] = $this->fields['propagated']; + } + if (array_key_exists('resulted', $this->fields)) { + $data['resulted'] = $this->fields['resulted']; + } + if (array_key_exists('pending', $this->fields)) { + $data['pending'] = $this->fields['pending']; + } + + return $data; + } +} diff --git a/src/Model/ReportAnnualRecurringRevenue.php b/src/Model/ReportAnnualRecurringRevenue.php index 4971261cb..8ccb28fa5 100644 --- a/src/Model/ReportAnnualRecurringRevenue.php +++ b/src/Model/ReportAnnualRecurringRevenue.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportAnnualRecurringRevenue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportAnnualRecurringRevenueData.php b/src/Model/ReportAnnualRecurringRevenueData.php index 5e1f3cadf..d5ad6ca4e 100644 --- a/src/Model/ReportAnnualRecurringRevenueData.php +++ b/src/Model/ReportAnnualRecurringRevenueData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportAnnualRecurringRevenueData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('breakdown', $data)) { $this->setBreakdown($data['breakdown']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriod(): ?string diff --git a/src/Model/ReportAnnualRecurringRevenueDataBreakdown.php b/src/Model/ReportAnnualRecurringRevenueDataBreakdown.php index b1e90a440..224cbca17 100644 --- a/src/Model/ReportAnnualRecurringRevenueDataBreakdown.php +++ b/src/Model/ReportAnnualRecurringRevenueDataBreakdown.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportAnnualRecurringRevenueDataBreakdown implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('change', $data)) { $this->setChange($data['change']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('expansion', $data)) { $this->setExpansion($data['expansion']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getChange(): ?float diff --git a/src/Model/ReportDeclinedTransactions.php b/src/Model/ReportDeclinedTransactions.php index 3994ad182..f72a69029 100644 --- a/src/Model/ReportDeclinedTransactions.php +++ b/src/Model/ReportDeclinedTransactions.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDeclinedTransactions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportDeclinedTransactionsData.php b/src/Model/ReportDeclinedTransactionsData.php index 08aa0c063..6375c46e6 100644 --- a/src/Model/ReportDeclinedTransactionsData.php +++ b/src/Model/ReportDeclinedTransactionsData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDeclinedTransactionsData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('message', $data)) { $this->setMessage($data['message']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('percentage', $data)) { $this->setPercentage($data['percentage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMessage(): ?string diff --git a/src/Model/ReportDeferredRevenue.php b/src/Model/ReportDeferredRevenue.php index a480d5c53..de2b03d5b 100644 --- a/src/Model/ReportDeferredRevenue.php +++ b/src/Model/ReportDeferredRevenue.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDeferredRevenue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('asOfDate', $data)) { $this->setAsOfDate($data['asOfDate']); @@ -41,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('months', $data)) { $this->setMonths($data['months']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAsOfDate(): ?DateTimeImmutable diff --git a/src/Model/ReportDeferredRevenueMonths.php b/src/Model/ReportDeferredRevenueMonths.php index 0b83d298d..67c22c987 100644 --- a/src/Model/ReportDeferredRevenueMonths.php +++ b/src/Model/ReportDeferredRevenueMonths.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDeferredRevenueMonths implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('month', $data)) { $this->setMonth($data['month']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('liabilityAsOfMonth', $data)) { $this->setLiabilityAsOfMonth($data['liabilityAsOfMonth']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMonth(): ?string diff --git a/src/Model/ReportDisputeDelays.php b/src/Model/ReportDisputeDelays.php index 759504543..8369537ac 100644 --- a/src/Model/ReportDisputeDelays.php +++ b/src/Model/ReportDisputeDelays.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDisputeDelays implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportDisputeDelaysData.php b/src/Model/ReportDisputeDelaysData.php index 95e423c11..68e3fd065 100644 --- a/src/Model/ReportDisputeDelaysData.php +++ b/src/Model/ReportDisputeDelaysData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDisputeDelaysData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationFieldValue', $data)) { $this->setAggregationFieldValue($data['aggregationFieldValue']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('75th', $data)) { $this->set75th($data['75th']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationFieldValue(): ?string diff --git a/src/Model/ReportDisputes.php b/src/Model/ReportDisputes.php index 82bb415af..4e0f77eff 100644 --- a/src/Model/ReportDisputes.php +++ b/src/Model/ReportDisputes.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDisputes implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportDisputesData.php b/src/Model/ReportDisputesData.php index 17b78a55b..1ec4dade7 100644 --- a/src/Model/ReportDisputesData.php +++ b/src/Model/ReportDisputesData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportDisputesData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('ratioAmountMastercard', $data)) { $this->setRatioAmountMastercard($data['ratioAmountMastercard']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/ReportEventsTriggeredSummary.php b/src/Model/ReportEventsTriggeredSummary.php index 944b9a5f8..a229a5ec0 100644 --- a/src/Model/ReportEventsTriggeredSummary.php +++ b/src/Model/ReportEventsTriggeredSummary.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportEventsTriggeredSummary implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportEventsTriggeredSummaryData.php b/src/Model/ReportEventsTriggeredSummaryData.php index 94590dba4..919ca6c16 100644 --- a/src/Model/ReportEventsTriggeredSummaryData.php +++ b/src/Model/ReportEventsTriggeredSummaryData.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportEventsTriggeredSummaryData implements JsonSerializable { + use HasMetadata; + public const EVENT_NAME_DISPUTE_CREATED = 'dispute-created'; public const EVENT_NAME_GATEWAY_ACCOUNT_REQUESTED = 'gateway-account-requested'; @@ -38,7 +41,7 @@ class ReportEventsTriggeredSummaryData implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('eventName', $data)) { $this->setEventName($data['eventName']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('count', $data)) { $this->setCount($data['count']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEventName(): ?string diff --git a/src/Model/ReportJournal.php b/src/Model/ReportJournal.php index 5d59da7ff..219c78242 100644 --- a/src/Model/ReportJournal.php +++ b/src/Model/ReportJournal.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportJournal implements JsonSerializable { + use HasMetadata; + public const AGGREGATION_FIELD_PRODUCT_ACCOUNTING_CODE = 'product.accountingCode'; public const AGGREGATION_FIELD_PRODUCT_ID = 'product.id'; @@ -26,7 +29,7 @@ class ReportJournal implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationField', $data)) { $this->setAggregationField($data['aggregationField']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationField(): ?string diff --git a/src/Model/ReportJournalData.php b/src/Model/ReportJournalData.php index 2b4f4c264..b4d16fba6 100644 --- a/src/Model/ReportJournalData.php +++ b/src/Model/ReportJournalData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportJournalData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('remainingAmount', $data)) { $this->setRemainingAmount($data['remainingAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/ReportKycRejections.php b/src/Model/ReportKycRejections.php index dd5ba320e..59f7eb8f6 100644 --- a/src/Model/ReportKycRejections.php +++ b/src/Model/ReportKycRejections.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportKycRejections implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportKycRejectionsData.php b/src/Model/ReportKycRejectionsData.php index a699e0687..8754c162e 100644 --- a/src/Model/ReportKycRejectionsData.php +++ b/src/Model/ReportKycRejectionsData.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportKycRejectionsData implements JsonSerializable { + use HasMetadata; + public const DOCUMENT_TYPE_IDENTITY_PROOF = 'identity-proof'; public const DOCUMENT_TYPE_ADDRESS_PROOF = 'address-proof'; @@ -30,7 +33,7 @@ class ReportKycRejectionsData implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('documentType', $data)) { $this->setDocumentType($data['documentType']); @@ -38,11 +41,12 @@ public function __construct(array $data = []) if (array_key_exists('rejectionReasons', $data)) { $this->setRejectionReasons($data['rejectionReasons']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDocumentType(): ?string diff --git a/src/Model/ReportKycRejectionsDataRejectionReasons.php b/src/Model/ReportKycRejectionsDataRejectionReasons.php index 311495154..4e545b7b4 100644 --- a/src/Model/ReportKycRejectionsDataRejectionReasons.php +++ b/src/Model/ReportKycRejectionsDataRejectionReasons.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportKycRejectionsDataRejectionReasons implements JsonSerializable { + use HasMetadata; + public const REJECTION_REASON_DOCUMENT_UNREADABLE = 'document-unreadable'; public const REJECTION_REASON_DOCUMENT_EXPIRED = 'document-expired'; @@ -54,7 +57,7 @@ class ReportKycRejectionsDataRejectionReasons implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rejectionReason', $data)) { $this->setRejectionReason($data['rejectionReason']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('count', $data)) { $this->setCount($data['count']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRejectionReason(): ?string diff --git a/src/Model/ReportKycRequests.php b/src/Model/ReportKycRequests.php index 5b2f86afb..8f6ba0f2c 100644 --- a/src/Model/ReportKycRequests.php +++ b/src/Model/ReportKycRequests.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportKycRequests implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportKycRequestsData.php b/src/Model/ReportKycRequestsData.php index 3fedd005e..ba14ad923 100644 --- a/src/Model/ReportKycRequestsData.php +++ b/src/Model/ReportKycRequestsData.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportKycRequestsData implements JsonSerializable { + use HasMetadata; + public const REJECTION_REASON_ABANDONED = 'abandoned'; public const REJECTION_REASON_EXPIRED = 'expired'; @@ -30,7 +33,7 @@ class ReportKycRequestsData implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rejectionReason', $data)) { $this->setRejectionReason($data['rejectionReason']); @@ -38,11 +41,12 @@ public function __construct(array $data = []) if (array_key_exists('count', $data)) { $this->setCount($data['count']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRejectionReason(): ?string diff --git a/src/Model/ReportMonthlyRecurringRevenue.php b/src/Model/ReportMonthlyRecurringRevenue.php index b468e6309..aaca4a192 100644 --- a/src/Model/ReportMonthlyRecurringRevenue.php +++ b/src/Model/ReportMonthlyRecurringRevenue.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportMonthlyRecurringRevenue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportMonthlyRecurringRevenueData.php b/src/Model/ReportMonthlyRecurringRevenueData.php index 362a82da4..da10cf913 100644 --- a/src/Model/ReportMonthlyRecurringRevenueData.php +++ b/src/Model/ReportMonthlyRecurringRevenueData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportMonthlyRecurringRevenueData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('breakdown', $data)) { $this->setBreakdown($data['breakdown']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriod(): ?string diff --git a/src/Model/ReportMonthlyRecurringRevenueDataBreakdown.php b/src/Model/ReportMonthlyRecurringRevenueDataBreakdown.php index 9b92a3ae8..f7d03f71e 100644 --- a/src/Model/ReportMonthlyRecurringRevenueDataBreakdown.php +++ b/src/Model/ReportMonthlyRecurringRevenueDataBreakdown.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportMonthlyRecurringRevenueDataBreakdown implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('change', $data)) { $this->setChange($data['change']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('expansion', $data)) { $this->setExpansion($data['expansion']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getChange(): ?float diff --git a/src/Model/ReportRetentionPercentage.php b/src/Model/ReportRetentionPercentage.php index f2e7f2ff2..5d57ffe1c 100644 --- a/src/Model/ReportRetentionPercentage.php +++ b/src/Model/ReportRetentionPercentage.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRetentionPercentage implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportRetentionPercentageData.php b/src/Model/ReportRetentionPercentageData.php index 86af50862..e8ef061d3 100644 --- a/src/Model/ReportRetentionPercentageData.php +++ b/src/Model/ReportRetentionPercentageData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRetentionPercentageData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('periods', $data)) { $this->setPeriods($data['periods']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/ReportRetentionPercentageDataPeriods.php b/src/Model/ReportRetentionPercentageDataPeriods.php index 98031a386..ff799a49a 100644 --- a/src/Model/ReportRetentionPercentageDataPeriods.php +++ b/src/Model/ReportRetentionPercentageDataPeriods.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRetentionPercentageDataPeriods implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('canceledSubscriptionsCount', $data)) { $this->setCanceledSubscriptionsCount($data['canceledSubscriptionsCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriod(): ?int diff --git a/src/Model/ReportRetentionValue.php b/src/Model/ReportRetentionValue.php index 46aff8ab1..221d0af95 100644 --- a/src/Model/ReportRetentionValue.php +++ b/src/Model/ReportRetentionValue.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRetentionValue implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportRetentionValueData.php b/src/Model/ReportRetentionValueData.php index de836d57c..efd1aabbb 100644 --- a/src/Model/ReportRetentionValueData.php +++ b/src/Model/ReportRetentionValueData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRetentionValueData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('periods', $data)) { $this->setPeriods($data['periods']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/ReportRetentionValueDataPeriods.php b/src/Model/ReportRetentionValueDataPeriods.php index be33cf26a..2a29367df 100644 --- a/src/Model/ReportRetentionValueDataPeriods.php +++ b/src/Model/ReportRetentionValueDataPeriods.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRetentionValueDataPeriods implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('period', $data)) { $this->setPeriod($data['period']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('transactionsValue', $data)) { $this->setTransactionsValue($data['transactionsValue']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriod(): ?int diff --git a/src/Model/ReportRevenueWaterfall.php b/src/Model/ReportRevenueWaterfall.php index ee84a996e..2fcd88876 100644 --- a/src/Model/ReportRevenueWaterfall.php +++ b/src/Model/ReportRevenueWaterfall.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRevenueWaterfall implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('issuedMonth', $data)) { $this->setIssuedMonth($data['issuedMonth']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('waterfall', $data)) { $this->setWaterfall($data['waterfall']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIssuedMonth(): ?string diff --git a/src/Model/ReportRevenueWaterfallWaterfall.php b/src/Model/ReportRevenueWaterfallWaterfall.php index 2e22bac4d..fa810ffb3 100644 --- a/src/Model/ReportRevenueWaterfallWaterfall.php +++ b/src/Model/ReportRevenueWaterfallWaterfall.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRevenueWaterfallWaterfall implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('recognizedMonth', $data)) { $this->setRecognizedMonth($data['recognizedMonth']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRecognizedMonth(): ?string diff --git a/src/Model/ReportRulesMatchedSummary.php b/src/Model/ReportRulesMatchedSummary.php index 0e9c206b6..2567b8967 100644 --- a/src/Model/ReportRulesMatchedSummary.php +++ b/src/Model/ReportRulesMatchedSummary.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRulesMatchedSummary implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportRulesMatchedSummaryData.php b/src/Model/ReportRulesMatchedSummaryData.php index 637d1ca3b..388191bcc 100644 --- a/src/Model/ReportRulesMatchedSummaryData.php +++ b/src/Model/ReportRulesMatchedSummaryData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportRulesMatchedSummaryData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('rule', $data)) { $this->setRule($data['rule']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('approvalRate', $data)) { $this->setApprovalRate($data['approvalRate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRule(): ?string diff --git a/src/Model/ReportTax.php b/src/Model/ReportTax.php index fba746d62..79eb60b8b 100644 --- a/src/Model/ReportTax.php +++ b/src/Model/ReportTax.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportTax implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportTaxData.php b/src/Model/ReportTaxData.php index a0b8b9c88..8e847a1a8 100644 --- a/src/Model/ReportTaxData.php +++ b/src/Model/ReportTaxData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportTaxData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('country', $data)) { $this->setCountry($data['country']); @@ -64,11 +67,12 @@ public function __construct(array $data = []) if (array_key_exists('nontaxableSalesAmount', $data)) { $this->setNontaxableSalesAmount($data['nontaxableSalesAmount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCountry(): ?string diff --git a/src/Model/ReportTransactions.php b/src/Model/ReportTransactions.php index 529e951aa..0687ec85b 100644 --- a/src/Model/ReportTransactions.php +++ b/src/Model/ReportTransactions.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportTransactions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ReportTransactionsData.php b/src/Model/ReportTransactionsData.php index ef08cffdc..433271d53 100644 --- a/src/Model/ReportTransactionsData.php +++ b/src/Model/ReportTransactionsData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ReportTransactionsData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationFieldValue', $data)) { $this->setAggregationFieldValue($data['aggregationFieldValue']); @@ -64,11 +67,12 @@ public function __construct(array $data = []) if (array_key_exists('unapprovedCount', $data)) { $this->setUnapprovedCount($data['unapprovedCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationFieldValue(): ?string diff --git a/src/Model/ResendEmailTimelineAction.php b/src/Model/ResendEmailTimelineAction.php index 4e4f10619..c8fa7a2e0 100644 --- a/src/Model/ResendEmailTimelineAction.php +++ b/src/Model/ResendEmailTimelineAction.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ResendEmailTimelineAction implements TimelineAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('messageId', $data)) { $this->setMessageId($data['messageId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAction(): string diff --git a/src/Model/ResetPasswordToken.php b/src/Model/ResetPasswordToken.php index 1e610efd9..514d0da48 100644 --- a/src/Model/ResetPasswordToken.php +++ b/src/Model/ResetPasswordToken.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ResetPasswordToken implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('token', $data)) { $this->setToken($data['token']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getToken(): ?string diff --git a/src/Model/ResourceLink.php b/src/Model/ResourceLink.php index 0d82241f1..37fb01a22 100644 --- a/src/Model/ResourceLink.php +++ b/src/Model/ResourceLink.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ResourceLink implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('href', $data)) { $this->setHref($data['href']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('rel', $data)) { $this->setRel($data['rel']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getHref(): ?string diff --git a/src/Model/ReverseTransaction.php b/src/Model/ReverseTransaction.php index 01cd15501..a5c389479 100644 --- a/src/Model/ReverseTransaction.php +++ b/src/Model/ReverseTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class ReverseTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -53,11 +56,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/RiskMetadata.php b/src/Model/RiskMetadata.php index 29e028a3d..462c843f0 100644 --- a/src/Model/RiskMetadata.php +++ b/src/Model/RiskMetadata.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskMetadata implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('ipAddress', $data)) { $this->setIpAddress($data['ipAddress']); @@ -124,11 +127,12 @@ public function __construct(array $data = []) if (array_key_exists('score', $data)) { $this->setScore($data['score']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIpAddress(): ?string diff --git a/src/Model/RiskMetadataBrowserData.php b/src/Model/RiskMetadataBrowserData.php index 1bb748e9c..d7fe14933 100644 --- a/src/Model/RiskMetadataBrowserData.php +++ b/src/Model/RiskMetadataBrowserData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskMetadataBrowserData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('colorDepth', $data)) { $this->setColorDepth($data['colorDepth']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('isAdBlockEnabled', $data)) { $this->setIsAdBlockEnabled($data['isAdBlockEnabled']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getColorDepth(): int diff --git a/src/Model/RiskMetadataExtraData.php b/src/Model/RiskMetadataExtraData.php index 69f9c4718..a5a5d6109 100644 --- a/src/Model/RiskMetadataExtraData.php +++ b/src/Model/RiskMetadataExtraData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskMetadataExtraData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('kountFraudSessionId', $data)) { $this->setKountFraudSessionId($data['kountFraudSessionId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threatMetrixSessionId', $data)) { $this->setThreatMetrixSessionId($data['threatMetrixSessionId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getKountFraudSessionId(): ?string diff --git a/src/Model/RiskReserveReleaseTransaction.php b/src/Model/RiskReserveReleaseTransaction.php index 0ba69ebb8..5b8a10e4f 100644 --- a/src/Model/RiskReserveReleaseTransaction.php +++ b/src/Model/RiskReserveReleaseTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class RiskReserveReleaseTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -53,11 +56,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/RiskReserveTransaction.php b/src/Model/RiskReserveTransaction.php index 531163516..3147b520f 100644 --- a/src/Model/RiskReserveTransaction.php +++ b/src/Model/RiskReserveTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class RiskReserveTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/RiskReserveTransactionRiskReserve.php b/src/Model/RiskReserveTransactionRiskReserve.php index 103c1790a..e2f89b318 100644 --- a/src/Model/RiskReserveTransactionRiskReserve.php +++ b/src/Model/RiskReserveTransactionRiskReserve.php @@ -17,21 +17,25 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskReserveTransactionRiskReserve implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('releaseTime', $data)) { $this->setReleaseTime($data['releaseTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getReleaseTime(): ?DateTimeImmutable diff --git a/src/Model/RiskScoreBlocklist.php b/src/Model/RiskScoreBlocklist.php index 70c5181ef..fcf1fb80a 100644 --- a/src/Model/RiskScoreBlocklist.php +++ b/src/Model/RiskScoreBlocklist.php @@ -15,214 +15,28 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBlocklist implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { - if (array_key_exists('address', $data)) { - $this->setAddress($data['address']); - } - if (array_key_exists('bank-account', $data)) { - $this->setBankAccount($data['bank-account']); - } - if (array_key_exists('bin', $data)) { - $this->setBin($data['bin']); - } - if (array_key_exists('country', $data)) { - $this->setCountry($data['country']); - } - if (array_key_exists('customer-id', $data)) { - $this->setCustomerId($data['customer-id']); - } - if (array_key_exists('email', $data)) { - $this->setEmail($data['email']); - } - if (array_key_exists('email-domain', $data)) { - $this->setEmailDomain($data['email-domain']); - } - if (array_key_exists('fingerprint', $data)) { - $this->setFingerprint($data['fingerprint']); - } - if (array_key_exists('ip-address', $data)) { - $this->setIpAddress($data['ip-address']); - } - if (array_key_exists('payment-card', $data)) { - $this->setPaymentCard($data['payment-card']); - } if (array_key_exists('permanentlyBlockList', $data)) { $this->setPermanentlyBlockList($data['permanentlyBlockList']); } if (array_key_exists('temporaryBlockList', $data)) { $this->setTemporaryBlockList($data['temporaryBlockList']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self - { - return new self($data); - } - - public function getAddress(): ?RiskScoreBlocklistType + public static function from(array $data = [], array $metadata = []): self { - return $this->fields['address'] ?? null; - } - - public function setAddress(null|RiskScoreBlocklistType|array $address): static - { - if ($address !== null && !($address instanceof RiskScoreBlocklistType)) { - $address = RiskScoreBlocklistType::from($address); - } - - $this->fields['address'] = $address; - - return $this; - } - - public function getBankAccount(): ?RiskScoreBlocklistType - { - return $this->fields['bank-account'] ?? null; - } - - public function setBankAccount(null|RiskScoreBlocklistType|array $bankAccount): static - { - if ($bankAccount !== null && !($bankAccount instanceof RiskScoreBlocklistType)) { - $bankAccount = RiskScoreBlocklistType::from($bankAccount); - } - - $this->fields['bank-account'] = $bankAccount; - - return $this; - } - - public function getBin(): ?RiskScoreBlocklistType - { - return $this->fields['bin'] ?? null; - } - - public function setBin(null|RiskScoreBlocklistType|array $bin): static - { - if ($bin !== null && !($bin instanceof RiskScoreBlocklistType)) { - $bin = RiskScoreBlocklistType::from($bin); - } - - $this->fields['bin'] = $bin; - - return $this; - } - - public function getCountry(): ?RiskScoreBlocklistType - { - return $this->fields['country'] ?? null; - } - - public function setCountry(null|RiskScoreBlocklistType|array $country): static - { - if ($country !== null && !($country instanceof RiskScoreBlocklistType)) { - $country = RiskScoreBlocklistType::from($country); - } - - $this->fields['country'] = $country; - - return $this; - } - - public function getCustomerId(): ?RiskScoreBlocklistType - { - return $this->fields['customer-id'] ?? null; - } - - public function setCustomerId(null|RiskScoreBlocklistType|array $customerId): static - { - if ($customerId !== null && !($customerId instanceof RiskScoreBlocklistType)) { - $customerId = RiskScoreBlocklistType::from($customerId); - } - - $this->fields['customer-id'] = $customerId; - - return $this; - } - - public function getEmail(): ?RiskScoreBlocklistType - { - return $this->fields['email'] ?? null; - } - - public function setEmail(null|RiskScoreBlocklistType|array $email): static - { - if ($email !== null && !($email instanceof RiskScoreBlocklistType)) { - $email = RiskScoreBlocklistType::from($email); - } - - $this->fields['email'] = $email; - - return $this; - } - - public function getEmailDomain(): ?RiskScoreBlocklistType - { - return $this->fields['email-domain'] ?? null; - } - - public function setEmailDomain(null|RiskScoreBlocklistType|array $emailDomain): static - { - if ($emailDomain !== null && !($emailDomain instanceof RiskScoreBlocklistType)) { - $emailDomain = RiskScoreBlocklistType::from($emailDomain); - } - - $this->fields['email-domain'] = $emailDomain; - - return $this; - } - - public function getFingerprint(): ?RiskScoreBlocklistType - { - return $this->fields['fingerprint'] ?? null; - } - - public function setFingerprint(null|RiskScoreBlocklistType|array $fingerprint): static - { - if ($fingerprint !== null && !($fingerprint instanceof RiskScoreBlocklistType)) { - $fingerprint = RiskScoreBlocklistType::from($fingerprint); - } - - $this->fields['fingerprint'] = $fingerprint; - - return $this; - } - - public function getIpAddress(): ?RiskScoreBlocklistType - { - return $this->fields['ip-address'] ?? null; - } - - public function setIpAddress(null|RiskScoreBlocklistType|array $ipAddress): static - { - if ($ipAddress !== null && !($ipAddress instanceof RiskScoreBlocklistType)) { - $ipAddress = RiskScoreBlocklistType::from($ipAddress); - } - - $this->fields['ip-address'] = $ipAddress; - - return $this; - } - - public function getPaymentCard(): ?RiskScoreBlocklistType - { - return $this->fields['payment-card'] ?? null; - } - - public function setPaymentCard(null|RiskScoreBlocklistType|array $paymentCard): static - { - if ($paymentCard !== null && !($paymentCard instanceof RiskScoreBlocklistType)) { - $paymentCard = RiskScoreBlocklistType::from($paymentCard); - } - - $this->fields['payment-card'] = $paymentCard; - - return $this; + return new self($data, $metadata); } public function getPermanentlyBlockList(): ?RiskScoreBlocklistPermanentRules @@ -260,36 +74,6 @@ public function setTemporaryBlockList(null|RiskScoreBlocklistTemporaryRules|arra public function jsonSerialize(): array { $data = []; - if (array_key_exists('address', $this->fields)) { - $data['address'] = $this->fields['address']?->jsonSerialize(); - } - if (array_key_exists('bank-account', $this->fields)) { - $data['bank-account'] = $this->fields['bank-account']?->jsonSerialize(); - } - if (array_key_exists('bin', $this->fields)) { - $data['bin'] = $this->fields['bin']?->jsonSerialize(); - } - if (array_key_exists('country', $this->fields)) { - $data['country'] = $this->fields['country']?->jsonSerialize(); - } - if (array_key_exists('customer-id', $this->fields)) { - $data['customer-id'] = $this->fields['customer-id']?->jsonSerialize(); - } - if (array_key_exists('email', $this->fields)) { - $data['email'] = $this->fields['email']?->jsonSerialize(); - } - if (array_key_exists('email-domain', $this->fields)) { - $data['email-domain'] = $this->fields['email-domain']?->jsonSerialize(); - } - if (array_key_exists('fingerprint', $this->fields)) { - $data['fingerprint'] = $this->fields['fingerprint']?->jsonSerialize(); - } - if (array_key_exists('ip-address', $this->fields)) { - $data['ip-address'] = $this->fields['ip-address']?->jsonSerialize(); - } - if (array_key_exists('payment-card', $this->fields)) { - $data['payment-card'] = $this->fields['payment-card']?->jsonSerialize(); - } if (array_key_exists('permanentlyBlockList', $this->fields)) { $data['permanentlyBlockList'] = $this->fields['permanentlyBlockList']?->jsonSerialize(); } diff --git a/src/Model/RiskScoreBlocklistPermanentRule.php b/src/Model/RiskScoreBlocklistPermanentRule.php index 147eeb9bf..1abe02bd3 100644 --- a/src/Model/RiskScoreBlocklistPermanentRule.php +++ b/src/Model/RiskScoreBlocklistPermanentRule.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBlocklistPermanentRule implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('riskScoreThreshold', $data)) { $this->setRiskScoreThreshold($data['riskScoreThreshold']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRiskScoreThreshold(): int diff --git a/src/Model/RiskScoreBlocklistPermanentRules.php b/src/Model/RiskScoreBlocklistPermanentRules.php index 4353077be..0f79f70c5 100644 --- a/src/Model/RiskScoreBlocklistPermanentRules.php +++ b/src/Model/RiskScoreBlocklistPermanentRules.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBlocklistPermanentRules implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('address', $data)) { $this->setAddress($data['address']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentCard', $data)) { $this->setPaymentCard($data['paymentCard']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAddress(): ?RiskScoreBlocklistPermanentRule diff --git a/src/Model/RiskScoreBlocklistTemporaryRule.php b/src/Model/RiskScoreBlocklistTemporaryRule.php index 91b3a18fa..2e1c186c5 100644 --- a/src/Model/RiskScoreBlocklistTemporaryRule.php +++ b/src/Model/RiskScoreBlocklistTemporaryRule.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBlocklistTemporaryRule implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('riskScoreThreshold', $data)) { $this->setRiskScoreThreshold($data['riskScoreThreshold']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('ttl', $data)) { $this->setTtl($data['ttl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRiskScoreThreshold(): int diff --git a/src/Model/RiskScoreBlocklistTemporaryRules.php b/src/Model/RiskScoreBlocklistTemporaryRules.php index 327e6b984..020b4344a 100644 --- a/src/Model/RiskScoreBlocklistTemporaryRules.php +++ b/src/Model/RiskScoreBlocklistTemporaryRules.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBlocklistTemporaryRules implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('address', $data)) { $this->setAddress($data['address']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentCard', $data)) { $this->setPaymentCard($data['paymentCard']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAddress(): ?RiskScoreBlocklistTemporaryRule diff --git a/src/Model/RiskScoreBlocklistType.php b/src/Model/RiskScoreBlocklistType.php deleted file mode 100644 index c1d6ed5f9..000000000 --- a/src/Model/RiskScoreBlocklistType.php +++ /dev/null @@ -1,74 +0,0 @@ -setRiskScoreThreshold($data['riskScoreThreshold']); - } - if (array_key_exists('ttl', $data)) { - $this->setTtl($data['ttl']); - } - } - - public static function from(array $data = []): self - { - return new self($data); - } - - public function getRiskScoreThreshold(): int - { - return $this->fields['riskScoreThreshold']; - } - - public function setRiskScoreThreshold(int $riskScoreThreshold): static - { - $this->fields['riskScoreThreshold'] = $riskScoreThreshold; - - return $this; - } - - public function getTtl(): int - { - return $this->fields['ttl']; - } - - public function setTtl(int $ttl): static - { - $this->fields['ttl'] = $ttl; - - return $this; - } - - public function jsonSerialize(): array - { - $data = []; - if (array_key_exists('riskScoreThreshold', $this->fields)) { - $data['riskScoreThreshold'] = $this->fields['riskScoreThreshold']; - } - if (array_key_exists('ttl', $this->fields)) { - $data['ttl'] = $this->fields['ttl']; - } - - return $data; - } -} diff --git a/src/Model/RiskScoreBoolean.php b/src/Model/RiskScoreBoolean.php index 9b30af7d0..b6a6608e8 100644 --- a/src/Model/RiskScoreBoolean.php +++ b/src/Model/RiskScoreBoolean.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBoolean implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getValue(): int diff --git a/src/Model/RiskScoreBracket.php b/src/Model/RiskScoreBracket.php index 82d6ea1dd..25fb0d694 100644 --- a/src/Model/RiskScoreBracket.php +++ b/src/Model/RiskScoreBracket.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreBracket implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('brackets', $data)) { $this->setBrackets($data['brackets']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RiskScoreBracketBrackets0.php b/src/Model/RiskScoreBracketBrackets0.php index 53f769ef1..07d380bc2 100644 --- a/src/Model/RiskScoreBracketBrackets0.php +++ b/src/Model/RiskScoreBracketBrackets0.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RiskScoreBracketBrackets0 implements RiskScoreBracketBrackets { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('start', $data)) { $this->setStart($data['start']); @@ -29,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStart(): ?int diff --git a/src/Model/RiskScoreBracketBrackets1.php b/src/Model/RiskScoreBracketBrackets1.php index 5627ee467..a6f2bfc4e 100644 --- a/src/Model/RiskScoreBracketBrackets1.php +++ b/src/Model/RiskScoreBracketBrackets1.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RiskScoreBracketBrackets1 implements RiskScoreBracketBrackets { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('start', $data)) { $this->setStart($data['start']); @@ -29,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStart(): ?int diff --git a/src/Model/RiskScoreBracketBracketsFactory.php b/src/Model/RiskScoreBracketBracketsFactory.php index 2d54e490b..94b288076 100644 --- a/src/Model/RiskScoreBracketBracketsFactory.php +++ b/src/Model/RiskScoreBracketBracketsFactory.php @@ -16,8 +16,8 @@ class RiskScoreBracketBracketsFactory { - public static function from(array $data = []): RiskScoreBracketBrackets + public static function from(array $data = [], array $metadata = []): RiskScoreBracketBrackets { - return new RiskScoreBracketBrackets0($data); + return new RiskScoreBracketBrackets0($data, $metadata); } } diff --git a/src/Model/RiskScoreRules.php b/src/Model/RiskScoreRules.php index 2bd6eeaee..c190c5f91 100644 --- a/src/Model/RiskScoreRules.php +++ b/src/Model/RiskScoreRules.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RiskScoreRules implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('isProxy', $data)) { $this->setIsProxy($data['isProxy']); @@ -88,11 +91,12 @@ public function __construct(array $data = []) if (array_key_exists('customerVelocity', $data)) { $this->setCustomerVelocity($data['customerVelocity']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIsProxy(): RiskScoreBoolean diff --git a/src/Model/Role.php b/src/Model/Role.php index 84c2757bd..13ecb5d4c 100644 --- a/src/Model/Role.php +++ b/src/Model/Role.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Role implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -60,11 +63,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RoleEmbedded.php b/src/Model/RoleEmbedded.php index b4b792569..f19bcafa4 100644 --- a/src/Model/RoleEmbedded.php +++ b/src/Model/RoleEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RoleEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('juniors', $data)) { $this->setJuniors($data['juniors']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getJuniors(): ?array diff --git a/src/Model/Rotessa.php b/src/Model/Rotessa.php index 4bbdace7a..fa98437bb 100644 --- a/src/Model/Rotessa.php +++ b/src/Model/Rotessa.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Rotessa extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Rotessa', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): RotessaCredentials diff --git a/src/Model/RotessaCredentials.php b/src/Model/RotessaCredentials.php index 8e5791f45..b3272054b 100644 --- a/src/Model/RotessaCredentials.php +++ b/src/Model/RotessaCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RotessaCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/RotessaSettings.php b/src/Model/RotessaSettings.php index f2c652e82..a40483887 100644 --- a/src/Model/RotessaSettings.php +++ b/src/Model/RotessaSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RotessaSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('delay', $data)) { $this->setDelay($data['delay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDelay(): int diff --git a/src/Model/Rule.php b/src/Model/Rule.php index 1a56ed04b..e6d3a847b 100644 --- a/src/Model/Rule.php +++ b/src/Model/Rule.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Rule implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('final', $data)) { $this->setFinal($data['final']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RuleAction.php b/src/Model/RuleAction.php index 075e46a28..52bd5f008 100644 --- a/src/Model/RuleAction.php +++ b/src/Model/RuleAction.php @@ -16,9 +16,12 @@ use InvalidArgumentException; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; abstract class RuleAction implements JsonSerializable { + use HasMetadata; + public const NAME_ABANDON_SCHEDULED_PAYMENTS = 'abandon-scheduled-payments'; public const NAME_ADD_RISK_SCORE = 'add-risk-score'; @@ -85,7 +88,7 @@ abstract class RuleAction implements JsonSerializable private array $fields = []; - protected function __construct(array $data = []) + protected function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -93,63 +96,64 @@ protected function __construct(array $data = []) if (array_key_exists('status', $data)) { $this->setStatus($data['status']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { switch ($data['name']) { case 'abandon-scheduled-payments': - return RuleActionAbandonScheduledPayments::from($data); + return RuleActionAbandonScheduledPayments::from($data, $metadata); case 'blocklist': - return RuleActionAddBlockList::from($data); + return RuleActionAddBlockList::from($data, $metadata); case 'add-risk-score': - return RuleActionAddRiskScore::from($data); + return RuleActionAddRiskScore::from($data, $metadata); case 'adjust-ready-to-pay': - return RuleActionAdjustReadyToPay::from($data); + return RuleActionAdjustReadyToPay::from($data, $metadata); case 'adjust-ready-to-payout': - return RuleActionAdjustReadyToPayout::from($data); + return RuleActionAdjustReadyToPayout::from($data, $metadata); case 'cancel-scheduled-payments': - return RuleActionCancelScheduledPayments::from($data); + return RuleActionCancelScheduledPayments::from($data, $metadata); case 'check-ontario-restriction': - return RuleActionCheckOntarioRestriction::from($data); + return RuleActionCheckOntarioRestriction::from($data, $metadata); case 'create-intuit-quickbooks-balance-transaction-entry': - return RuleActionCreateIntuitQuickbooksBalanceTransactionEntry::from($data); + return RuleActionCreateIntuitQuickbooksBalanceTransactionEntry::from($data, $metadata); case 'create-intuit-quickbooks-invoice': - return RuleActionCreateIntuitQuickbooksInvoice::from($data); + return RuleActionCreateIntuitQuickbooksInvoice::from($data, $metadata); case 'create-intuit-quickbooks-payment': - return RuleActionCreateIntuitQuickbooksPayment::from($data); + return RuleActionCreateIntuitQuickbooksPayment::from($data, $metadata); case 'create-intuit-quickbooks-refund-receipt': - return RuleActionCreateIntuitQuickbooksRefundReceipt::from($data); + return RuleActionCreateIntuitQuickbooksRefundReceipt::from($data, $metadata); case 'create-intuit-quickbooks-revenue-recognition-entry': - return RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry::from($data); + return RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry::from($data, $metadata); case 'decline-transaction': - return RuleActionDeclineTransaction::from($data); + return RuleActionDeclineTransaction::from($data, $metadata); case 'display-other-choices': - return RuleActionDisplayOtherChoices::from($data); + return RuleActionDisplayOtherChoices::from($data, $metadata); case 'guess-payment-card-expiration': - return RuleActionGuessPaymentCardExpiration::from($data); + return RuleActionGuessPaymentCardExpiration::from($data, $metadata); case 'perform-experian-check': - return RuleActionPerformExperianCheck::from($data); + return RuleActionPerformExperianCheck::from($data, $metadata); case 'pick-gateway-account': - return RuleActionPickGatewayAccount::from($data); + return RuleActionPickGatewayAccount::from($data, $metadata); case 'request-kyc': - return RuleActionRequestKyc::from($data); + return RuleActionRequestKyc::from($data, $metadata); case 'schedule-invoice-retry': - return RuleActionScheduleInvoiceRetry::from($data); + return RuleActionScheduleInvoiceRetry::from($data, $metadata); case 'schedule-payment': - return RuleActionSchedulePayment::from($data); + return RuleActionSchedulePayment::from($data, $metadata); case 'schedule-reminder': - return RuleActionScheduleReminder::from($data); + return RuleActionScheduleReminder::from($data, $metadata); case 'send-email': - return RuleActionSendEmail::from($data); + return RuleActionSendEmail::from($data, $metadata); case 'stop-subscriptions': - return RuleActionStopSubscriptions::from($data); + return RuleActionStopSubscriptions::from($data, $metadata); case 'tag-or-untag-customer': - return RuleActionTagOrUntagCustomer::from($data); + return RuleActionTagOrUntagCustomer::from($data, $metadata); case 'update-intuit-quickbooks-invoice': - return RuleActionUpdateIntuitQuickbooksInvoice::from($data); + return RuleActionUpdateIntuitQuickbooksInvoice::from($data, $metadata); case 'void-intuit-quickbooks-invoice': - return RuleActionVoidIntuitQuickbooksInvoice::from($data); + return RuleActionVoidIntuitQuickbooksInvoice::from($data, $metadata); } throw new InvalidArgumentException("Unsupported name value: '{$data['name']}'"); diff --git a/src/Model/RuleActionAbandonScheduledPayments.php b/src/Model/RuleActionAbandonScheduledPayments.php index 1a12e9e63..a9f536536 100644 --- a/src/Model/RuleActionAbandonScheduledPayments.php +++ b/src/Model/RuleActionAbandonScheduledPayments.php @@ -14,17 +14,22 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionAbandonScheduledPayments extends RuleAction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'abandon-scheduled-payments', - ] + $data); + ] + $data, $metadata); + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } } diff --git a/src/Model/RuleActionAddBlockList.php b/src/Model/RuleActionAddBlockList.php index 6c7a8c0a9..9643e6393 100644 --- a/src/Model/RuleActionAddBlockList.php +++ b/src/Model/RuleActionAddBlockList.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionAddBlockList extends RuleAction { + use HasMetadata; + public const TYPE_CUSTOMER_ID = 'customer-id'; public const TYPE_EMAIL = 'email'; @@ -28,11 +32,11 @@ class RuleActionAddBlockList extends RuleAction private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'blocklist', - ] + $data); + ] + $data, $metadata); if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -40,11 +44,12 @@ public function __construct(array $data = []) if (array_key_exists('ttl', $data)) { $this->setTtl($data['ttl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/RuleActionAddRiskScore.php b/src/Model/RuleActionAddRiskScore.php index e1c3bc882..fd1bdaba3 100644 --- a/src/Model/RuleActionAddRiskScore.php +++ b/src/Model/RuleActionAddRiskScore.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionAddRiskScore extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'add-risk-score', - ] + $data); + ] + $data, $metadata); if (array_key_exists('score', $data)) { $this->setScore($data['score']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScore(): ?int diff --git a/src/Model/RuleActionAdjustReadyToPay.php b/src/Model/RuleActionAdjustReadyToPay.php index d06cc7756..65c9f3ed0 100644 --- a/src/Model/RuleActionAdjustReadyToPay.php +++ b/src/Model/RuleActionAdjustReadyToPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionAdjustReadyToPay extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'adjust-ready-to-pay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('prioritizeActivePaymentInstruments', $data)) { $this->setPrioritizeActivePaymentInstruments($data['prioritizeActivePaymentInstruments']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentMethods', $data)) { $this->setPaymentMethods($data['paymentMethods']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrioritizeActivePaymentInstruments(): ?bool diff --git a/src/Model/RuleActionAdjustReadyToPayout.php b/src/Model/RuleActionAdjustReadyToPayout.php index c989f1847..5e4378512 100644 --- a/src/Model/RuleActionAdjustReadyToPayout.php +++ b/src/Model/RuleActionAdjustReadyToPayout.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionAdjustReadyToPayout extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'adjust-ready-to-payout', - ] + $data); + ] + $data, $metadata); if (array_key_exists('prioritizeActivePaymentInstruments', $data)) { $this->setPrioritizeActivePaymentInstruments($data['prioritizeActivePaymentInstruments']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentMethods', $data)) { $this->setPaymentMethods($data['paymentMethods']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPrioritizeActivePaymentInstruments(): ?bool diff --git a/src/Model/RuleActionCancelScheduledPayments.php b/src/Model/RuleActionCancelScheduledPayments.php index 169a809b5..6fce8a0e2 100644 --- a/src/Model/RuleActionCancelScheduledPayments.php +++ b/src/Model/RuleActionCancelScheduledPayments.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCancelScheduledPayments extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'cancel-scheduled-payments', - ] + $data); + ] + $data, $metadata); if (array_key_exists('skipStartedServicePeriod', $data)) { $this->setSkipStartedServicePeriod($data['skipStartedServicePeriod']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSkipStartedServicePeriod(): ?bool diff --git a/src/Model/RuleActionCheckOntarioRestriction.php b/src/Model/RuleActionCheckOntarioRestriction.php index f4cd9a3bd..8bd53463f 100644 --- a/src/Model/RuleActionCheckOntarioRestriction.php +++ b/src/Model/RuleActionCheckOntarioRestriction.php @@ -14,17 +14,22 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCheckOntarioRestriction extends RuleAction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'check-ontario-restriction', - ] + $data); + ] + $data, $metadata); + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } } diff --git a/src/Model/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry.php b/src/Model/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry.php index caed4e0d6..376d6a7be 100644 --- a/src/Model/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry.php +++ b/src/Model/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCreateIntuitQuickbooksBalanceTransactionEntry extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'create-intuit-quickbooks-balance-transaction-entry', - ] + $data); + ] + $data, $metadata); if (array_key_exists('debitAccount', $data)) { $this->setDebitAccount($data['debitAccount']); @@ -36,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('credentialHash', $data)) { $this->setCredentialHash($data['credentialHash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDebitAccount(): string diff --git a/src/Model/RuleActionCreateIntuitQuickbooksInvoice.php b/src/Model/RuleActionCreateIntuitQuickbooksInvoice.php index 08cce5ecb..f44489aed 100644 --- a/src/Model/RuleActionCreateIntuitQuickbooksInvoice.php +++ b/src/Model/RuleActionCreateIntuitQuickbooksInvoice.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCreateIntuitQuickbooksInvoice extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'create-intuit-quickbooks-invoice', - ] + $data); + ] + $data, $metadata); if (array_key_exists('unearnedRevenueAccount', $data)) { $this->setUnearnedRevenueAccount($data['unearnedRevenueAccount']); @@ -45,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('customerDisplayName', $data)) { $this->setCustomerDisplayName($data['customerDisplayName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUnearnedRevenueAccount(): string diff --git a/src/Model/RuleActionCreateIntuitQuickbooksInvoiceTemplate.php b/src/Model/RuleActionCreateIntuitQuickbooksInvoiceTemplate.php index 3307a1251..f410265b8 100644 --- a/src/Model/RuleActionCreateIntuitQuickbooksInvoiceTemplate.php +++ b/src/Model/RuleActionCreateIntuitQuickbooksInvoiceTemplate.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleActionCreateIntuitQuickbooksInvoiceTemplate implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('itemName', $data)) { $this->setItemName($data['itemName']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('taxLineDescription', $data)) { $this->setTaxLineDescription($data['taxLineDescription']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getItemName(): ?string diff --git a/src/Model/RuleActionCreateIntuitQuickbooksPayment.php b/src/Model/RuleActionCreateIntuitQuickbooksPayment.php index 0894fd30e..eb199a2be 100644 --- a/src/Model/RuleActionCreateIntuitQuickbooksPayment.php +++ b/src/Model/RuleActionCreateIntuitQuickbooksPayment.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCreateIntuitQuickbooksPayment extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'create-intuit-quickbooks-payment', - ] + $data); + ] + $data, $metadata); if (array_key_exists('depositAccount', $data)) { $this->setDepositAccount($data['depositAccount']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('credentialHash', $data)) { $this->setCredentialHash($data['credentialHash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDepositAccount(): string diff --git a/src/Model/RuleActionCreateIntuitQuickbooksRefundReceipt.php b/src/Model/RuleActionCreateIntuitQuickbooksRefundReceipt.php index f89f77b0c..57fc97230 100644 --- a/src/Model/RuleActionCreateIntuitQuickbooksRefundReceipt.php +++ b/src/Model/RuleActionCreateIntuitQuickbooksRefundReceipt.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCreateIntuitQuickbooksRefundReceipt extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'create-intuit-quickbooks-refund-receipt', - ] + $data); + ] + $data, $metadata); if (array_key_exists('depositAccount', $data)) { $this->setDepositAccount($data['depositAccount']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('credentialHash', $data)) { $this->setCredentialHash($data['credentialHash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDepositAccount(): string diff --git a/src/Model/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry.php b/src/Model/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry.php index 5a5ebfdc4..7437c535a 100644 --- a/src/Model/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry.php +++ b/src/Model/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'create-intuit-quickbooks-revenue-recognition-entry', - ] + $data); + ] + $data, $metadata); if (array_key_exists('debitAccount', $data)) { $this->setDebitAccount($data['debitAccount']); @@ -36,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('credentialHash', $data)) { $this->setCredentialHash($data['credentialHash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDebitAccount(): string diff --git a/src/Model/RuleActionDeclineTransaction.php b/src/Model/RuleActionDeclineTransaction.php index 984846f94..65de52492 100644 --- a/src/Model/RuleActionDeclineTransaction.php +++ b/src/Model/RuleActionDeclineTransaction.php @@ -14,17 +14,22 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionDeclineTransaction extends RuleAction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'decline-transaction', - ] + $data); + ] + $data, $metadata); + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } } diff --git a/src/Model/RuleActionDisplayOtherChoices.php b/src/Model/RuleActionDisplayOtherChoices.php index 3a876175e..3287fdae2 100644 --- a/src/Model/RuleActionDisplayOtherChoices.php +++ b/src/Model/RuleActionDisplayOtherChoices.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionDisplayOtherChoices extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'display-other-choices', - ] + $data); + ] + $data, $metadata); if (array_key_exists('choices', $data)) { $this->setChoices($data['choices']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RuleActionDisplayOtherChoicesChoices.php b/src/Model/RuleActionDisplayOtherChoicesChoices.php index 3772f199e..2fe97266c 100644 --- a/src/Model/RuleActionDisplayOtherChoicesChoices.php +++ b/src/Model/RuleActionDisplayOtherChoicesChoices.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleActionDisplayOtherChoicesChoices implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('langIso', $data)) { $this->setLangIso($data['langIso']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('content', $data)) { $this->setContent($data['content']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLangIso(): string diff --git a/src/Model/RuleActionGuessPaymentCardExpiration.php b/src/Model/RuleActionGuessPaymentCardExpiration.php index 6c1bbb427..522e00885 100644 --- a/src/Model/RuleActionGuessPaymentCardExpiration.php +++ b/src/Model/RuleActionGuessPaymentCardExpiration.php @@ -14,17 +14,22 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionGuessPaymentCardExpiration extends RuleAction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'guess-payment-card-expiration', - ] + $data); + ] + $data, $metadata); + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } } diff --git a/src/Model/RuleActionPerformExperianCheck.php b/src/Model/RuleActionPerformExperianCheck.php index c7a0f3785..d2c48fce6 100644 --- a/src/Model/RuleActionPerformExperianCheck.php +++ b/src/Model/RuleActionPerformExperianCheck.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionPerformExperianCheck extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'perform-experian-check', - ] + $data); + ] + $data, $metadata); if (array_key_exists('experianCredentialHash', $data)) { $this->setExperianCredentialHash($data['experianCredentialHash']); @@ -36,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('tagOnUnknown', $data)) { $this->setTagOnUnknown($data['tagOnUnknown']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getExperianCredentialHash(): string diff --git a/src/Model/RuleActionPickGatewayAccount.php b/src/Model/RuleActionPickGatewayAccount.php index 204385e4c..96751e1be 100644 --- a/src/Model/RuleActionPickGatewayAccount.php +++ b/src/Model/RuleActionPickGatewayAccount.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionPickGatewayAccount extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'pick-gateway-account', - ] + $data); + ] + $data, $metadata); if (array_key_exists('pickInstruction', $data)) { $this->setPickInstruction($data['pickInstruction']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPickInstruction(): GatewayAccountPickInstruction diff --git a/src/Model/RuleActionRequestKyc.php b/src/Model/RuleActionRequestKyc.php index b20ebea20..7001dc75c 100644 --- a/src/Model/RuleActionRequestKyc.php +++ b/src/Model/RuleActionRequestKyc.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionRequestKyc extends RuleAction { + use HasMetadata; + public const EXCLUDE_POLICY_CUSTOMERS_WITH_ACCEPTED_DOCUMENT = 'customers-with-accepted-document'; public const EXCLUDE_POLICY_CUSTOMERS_WITH_DOCUMENT = 'customers-with-document'; @@ -40,11 +44,11 @@ class RuleActionRequestKyc extends RuleAction private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'request-kyc', - ] + $data); + ] + $data, $metadata); if (array_key_exists('documents', $data)) { $this->setDocuments($data['documents']); @@ -76,11 +80,12 @@ public function __construct(array $data = []) if (array_key_exists('bypassCurrencyToDisplay', $data)) { $this->setBypassCurrencyToDisplay($data['bypassCurrencyToDisplay']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RuleActionScheduleInvoiceRetry.php b/src/Model/RuleActionScheduleInvoiceRetry.php index 0eaebd037..ea66a42f7 100644 --- a/src/Model/RuleActionScheduleInvoiceRetry.php +++ b/src/Model/RuleActionScheduleInvoiceRetry.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionScheduleInvoiceRetry extends RuleAction { + use HasMetadata; + public const AFTER_ATTEMPT_POLICIES_CHANGE_SUBSCRIPTION_RENEWAL_TIME = 'change-subscription-renewal-time'; public const AFTER_RETRY_END_POLICIES_ABANDON_INVOICE = 'abandon-invoice'; @@ -24,11 +28,11 @@ class RuleActionScheduleInvoiceRetry extends RuleAction private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'schedule-invoice-retry', - ] + $data); + ] + $data, $metadata); if (array_key_exists('attempts', $data)) { $this->setAttempts($data['attempts']); @@ -42,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('overrideRetryInstruction', $data)) { $this->setOverrideRetryInstruction($data['overrideRetryInstruction']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RuleActionScheduleInvoiceRetryAttempts.php b/src/Model/RuleActionScheduleInvoiceRetryAttempts.php index 3e8101d48..0e4fe114b 100644 --- a/src/Model/RuleActionScheduleInvoiceRetryAttempts.php +++ b/src/Model/RuleActionScheduleInvoiceRetryAttempts.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleActionScheduleInvoiceRetryAttempts implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('scheduleInstruction', $data)) { $this->setScheduleInstruction($data['scheduleInstruction']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('tryBackupInstruments', $data)) { $this->setTryBackupInstruments($data['tryBackupInstruments']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScheduleInstruction(): InvoiceRetryScheduleInstruction diff --git a/src/Model/RuleActionSchedulePayment.php b/src/Model/RuleActionSchedulePayment.php index 5f61a4319..b1cb40731 100644 --- a/src/Model/RuleActionSchedulePayment.php +++ b/src/Model/RuleActionSchedulePayment.php @@ -14,17 +14,21 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionSchedulePayment extends RuleAction { + use HasMetadata; + public const AMOUNT_POLICY_INVOICE_AMOUNT_DUE = 'invoice-amount-due'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'schedule-payment', - ] + $data); + ] + $data, $metadata); if (array_key_exists('scheduleInstruction', $data)) { $this->setScheduleInstruction($data['scheduleInstruction']); @@ -32,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('amountPolicy', $data)) { $this->setAmountPolicy($data['amountPolicy']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getScheduleInstruction(): ScheduleInstruction diff --git a/src/Model/RuleActionScheduleReminder.php b/src/Model/RuleActionScheduleReminder.php index 0d5fca08e..a98fe7582 100644 --- a/src/Model/RuleActionScheduleReminder.php +++ b/src/Model/RuleActionScheduleReminder.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionScheduleReminder extends RuleAction { + use HasMetadata; + public const ROLE_ALL = 'all'; public const ROLE_RENEWAL = 'renewal'; @@ -24,11 +28,11 @@ class RuleActionScheduleReminder extends RuleAction private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'schedule-reminder', - ] + $data); + ] + $data, $metadata); if (array_key_exists('role', $data)) { $this->setRole($data['role']); @@ -36,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('schedule', $data)) { $this->setSchedule($data['schedule']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRole(): string diff --git a/src/Model/RuleActionScheduleReminderSchedule.php b/src/Model/RuleActionScheduleReminderSchedule.php index 1876ec6e5..2e548171d 100644 --- a/src/Model/RuleActionScheduleReminderSchedule.php +++ b/src/Model/RuleActionScheduleReminderSchedule.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleActionScheduleReminderSchedule implements JsonSerializable { + use HasMetadata; + public const CHRONOLOGY_BEFORE = 'before'; public const CHRONOLOGY_AFTER = 'after'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('instructions', $data)) { $this->setInstructions($data['instructions']); @@ -32,11 +35,12 @@ public function __construct(array $data = []) if (array_key_exists('chronology', $data)) { $this->setChronology($data['chronology']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RuleActionSendEmail.php b/src/Model/RuleActionSendEmail.php index e827da95e..3b61bf78b 100644 --- a/src/Model/RuleActionSendEmail.php +++ b/src/Model/RuleActionSendEmail.php @@ -16,16 +16,19 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class RuleActionSendEmail extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'send-email', - ] + $data); + ] + $data, $metadata); if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('splitTestStartTime', $data)) { $this->setSplitTestStartTime($data['splitTestStartTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RuleActionStopSubscriptions.php b/src/Model/RuleActionStopSubscriptions.php index a07e48810..06428e5f7 100644 --- a/src/Model/RuleActionStopSubscriptions.php +++ b/src/Model/RuleActionStopSubscriptions.php @@ -14,17 +14,22 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionStopSubscriptions extends RuleAction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'stop-subscriptions', - ] + $data); + ] + $data, $metadata); + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } } diff --git a/src/Model/RuleActionTagOrUntagCustomer.php b/src/Model/RuleActionTagOrUntagCustomer.php index fc3e53912..0adce0795 100644 --- a/src/Model/RuleActionTagOrUntagCustomer.php +++ b/src/Model/RuleActionTagOrUntagCustomer.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionTagOrUntagCustomer extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'tag-or-untag-customer', - ] + $data); + ] + $data, $metadata); if (array_key_exists('addingTags', $data)) { $this->setAddingTags($data['addingTags']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('removingTags', $data)) { $this->setRemovingTags($data['removingTags']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/RuleActionUpdateIntuitQuickbooksInvoice.php b/src/Model/RuleActionUpdateIntuitQuickbooksInvoice.php index 6930fdef6..7e2c54382 100644 --- a/src/Model/RuleActionUpdateIntuitQuickbooksInvoice.php +++ b/src/Model/RuleActionUpdateIntuitQuickbooksInvoice.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionUpdateIntuitQuickbooksInvoice extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'update-intuit-quickbooks-invoice', - ] + $data); + ] + $data, $metadata); if (array_key_exists('unearnedRevenueAccount', $data)) { $this->setUnearnedRevenueAccount($data['unearnedRevenueAccount']); @@ -42,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('credentialHash', $data)) { $this->setCredentialHash($data['credentialHash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUnearnedRevenueAccount(): string diff --git a/src/Model/RuleActionUpdateIntuitQuickbooksInvoiceTemplate.php b/src/Model/RuleActionUpdateIntuitQuickbooksInvoiceTemplate.php index 4bcb35372..5dc9ea32b 100644 --- a/src/Model/RuleActionUpdateIntuitQuickbooksInvoiceTemplate.php +++ b/src/Model/RuleActionUpdateIntuitQuickbooksInvoiceTemplate.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleActionUpdateIntuitQuickbooksInvoiceTemplate implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('itemName', $data)) { $this->setItemName($data['itemName']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('taxLineDescription', $data)) { $this->setTaxLineDescription($data['taxLineDescription']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getItemName(): ?string diff --git a/src/Model/RuleActionVoidIntuitQuickbooksInvoice.php b/src/Model/RuleActionVoidIntuitQuickbooksInvoice.php index ace988587..b888e45e1 100644 --- a/src/Model/RuleActionVoidIntuitQuickbooksInvoice.php +++ b/src/Model/RuleActionVoidIntuitQuickbooksInvoice.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RuleActionVoidIntuitQuickbooksInvoice extends RuleAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'name' => 'void-intuit-quickbooks-invoice', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentialHash', $data)) { $this->setCredentialHash($data['credentialHash']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentialHash(): string diff --git a/src/Model/RuleSet.php b/src/Model/RuleSet.php index 6b63f2db1..c1ee908e9 100644 --- a/src/Model/RuleSet.php +++ b/src/Model/RuleSet.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleSet implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('version', $data)) { $this->setVersion($data['version']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVersion(): ?int diff --git a/src/Model/RuleSetDraft.php b/src/Model/RuleSetDraft.php index e14f2d779..7ad83443d 100644 --- a/src/Model/RuleSetDraft.php +++ b/src/Model/RuleSetDraft.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleSetDraft implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -54,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RuleSetDraftAuthor.php b/src/Model/RuleSetDraftAuthor.php index 39e22d07e..733b4bdee 100644 --- a/src/Model/RuleSetDraftAuthor.php +++ b/src/Model/RuleSetDraftAuthor.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleSetDraftAuthor implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RuleSetHistoryItem.php b/src/Model/RuleSetHistoryItem.php index 70c67936b..3017e746e 100644 --- a/src/Model/RuleSetHistoryItem.php +++ b/src/Model/RuleSetHistoryItem.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleSetHistoryItem implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('version', $data)) { $this->setVersion($data['version']); @@ -36,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVersion(): ?int diff --git a/src/Model/RuleSetVersion.php b/src/Model/RuleSetVersion.php index eb3af36a6..157ce160d 100644 --- a/src/Model/RuleSetVersion.php +++ b/src/Model/RuleSetVersion.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RuleSetVersion implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('version', $data)) { $this->setVersion($data['version']); @@ -42,11 +45,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getVersion(): ?int diff --git a/src/Model/RulesEmailNotification.php b/src/Model/RulesEmailNotification.php index ef93e871a..8b20d7769 100644 --- a/src/Model/RulesEmailNotification.php +++ b/src/Model/RulesEmailNotification.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RulesEmailNotification implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('templates', $data)) { $this->setTemplates($data['templates']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RulesEmailNotificationTemplates.php b/src/Model/RulesEmailNotificationTemplates.php index a89734160..f4e70903d 100644 --- a/src/Model/RulesEmailNotificationTemplates.php +++ b/src/Model/RulesEmailNotificationTemplates.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RulesEmailNotificationTemplates implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('locale', $data)) { $this->setLocale($data['locale']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('attachments', $data)) { $this->setAttachments($data['attachments']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getLocale(): string diff --git a/src/Model/RulesEmailNotificationTemplatesAttachments.php b/src/Model/RulesEmailNotificationTemplatesAttachments.php index 0851f74bc..1b81303d5 100644 --- a/src/Model/RulesEmailNotificationTemplatesAttachments.php +++ b/src/Model/RulesEmailNotificationTemplatesAttachments.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RulesEmailNotificationTemplatesAttachments implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('resourceType', $data)) { $this->setResourceType($data['resourceType']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('resourceId', $data)) { $this->setResourceId($data['resourceId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResourceType(): string diff --git a/src/Model/RulesEngineTimeline.php b/src/Model/RulesEngineTimeline.php index 0dcebfa46..ed171c9da 100644 --- a/src/Model/RulesEngineTimeline.php +++ b/src/Model/RulesEngineTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class RulesEngineTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_TIMELINE_COMMENT_CREATED = 'timeline-comment-created'; public const TYPE_RULESET_CREATED = 'ruleset-created'; @@ -34,7 +37,7 @@ class RulesEngineTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -57,11 +60,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/RulesetRestoreTimelineAction.php b/src/Model/RulesetRestoreTimelineAction.php index b19e50e8e..1203b6476 100644 --- a/src/Model/RulesetRestoreTimelineAction.php +++ b/src/Model/RulesetRestoreTimelineAction.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class RulesetRestoreTimelineAction implements TimelineAction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('version', $data)) { $this->setVersion($data['version']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAction(): string diff --git a/src/Model/SESCredential.php b/src/Model/SESCredential.php index a38a80616..2b60311dc 100644 --- a/src/Model/SESCredential.php +++ b/src/Model/SESCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SESCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class SESCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SMSVoucher.php b/src/Model/SMSVoucher.php index f8089df77..1b812bbdf 100644 --- a/src/Model/SMSVoucher.php +++ b/src/Model/SMSVoucher.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SMSVoucher extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SMSVoucher', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SMSVoucherCredentials diff --git a/src/Model/SMSVoucherCredentials.php b/src/Model/SMSVoucherCredentials.php index 8496db16e..d25d20531 100644 --- a/src/Model/SMSVoucherCredentials.php +++ b/src/Model/SMSVoucherCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SMSVoucherCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('AppId', $data)) { $this->setAppId($data['AppId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAppId(): string diff --git a/src/Model/STPMexico.php b/src/Model/STPMexico.php index c14920b49..e0612a82e 100644 --- a/src/Model/STPMexico.php +++ b/src/Model/STPMexico.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class STPMexico extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'STPMexico', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): STPMexicoCredentials diff --git a/src/Model/STPMexicoCredentials.php b/src/Model/STPMexicoCredentials.php index ab5e1c177..6ae2ad934 100644 --- a/src/Model/STPMexicoCredentials.php +++ b/src/Model/STPMexicoCredentials.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class STPMexicoCredentials implements JsonSerializable { + use HasMetadata; + public const BANK_ID_37006 = '37006'; public const BANK_ID_37009 = '37009'; @@ -220,7 +223,7 @@ class STPMexicoCredentials implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('companyName', $data)) { $this->setCompanyName($data['companyName']); @@ -240,11 +243,12 @@ public function __construct(array $data = []) if (array_key_exists('keyPassphrase', $data)) { $this->setKeyPassphrase($data['keyPassphrase']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCompanyName(): string diff --git a/src/Model/Safecharge.php b/src/Model/Safecharge.php index 0274ddc65..608c8d6c7 100644 --- a/src/Model/Safecharge.php +++ b/src/Model/Safecharge.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Safecharge extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Safecharge', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SafechargeCredentials diff --git a/src/Model/SafechargeCredentials.php b/src/Model/SafechargeCredentials.php index cadc6d0a5..602a9e3e4 100644 --- a/src/Model/SafechargeCredentials.php +++ b/src/Model/SafechargeCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SafechargeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Sagepay.php b/src/Model/Sagepay.php index 8ee4eb7bc..0b2aee4f6 100644 --- a/src/Model/Sagepay.php +++ b/src/Model/Sagepay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Sagepay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Sagepay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SagepayCredentials diff --git a/src/Model/SagepayCredentials.php b/src/Model/SagepayCredentials.php index 1bfd8fab1..f6f397021 100644 --- a/src/Model/SagepayCredentials.php +++ b/src/Model/SagepayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SagepayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('M_ID', $data)) { $this->setMID($data['M_ID']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('M_KEY', $data)) { $this->setMKEY($data['M_KEY']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMID(): string diff --git a/src/Model/SaltarPay.php b/src/Model/SaltarPay.php index 7572c82c4..072ce6ea5 100644 --- a/src/Model/SaltarPay.php +++ b/src/Model/SaltarPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SaltarPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SaltarPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SaltarPayCredentials diff --git a/src/Model/SaltarPayCredentials.php b/src/Model/SaltarPayCredentials.php index 18e15e775..8a9b3aae0 100644 --- a/src/Model/SaltarPayCredentials.php +++ b/src/Model/SaltarPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SaltarPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/SamsungPayFeature.php b/src/Model/SamsungPayFeature.php index 477720255..f7044df49 100644 --- a/src/Model/SamsungPayFeature.php +++ b/src/Model/SamsungPayFeature.php @@ -14,20 +14,25 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SamsungPayFeature implements PaymentCardFeature { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantName', $data)) { $this->setMerchantName($data['merchantName']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/ScheduleInstructionFactory.php b/src/Model/ScheduleInstructionFactory.php index 97c1e37c3..93f2549f4 100644 --- a/src/Model/ScheduleInstructionFactory.php +++ b/src/Model/ScheduleInstructionFactory.php @@ -18,16 +18,16 @@ class ScheduleInstructionFactory { - public static function from(array $data = []): ScheduleInstruction + public static function from(array $data = [], array $metadata = []): ScheduleInstruction { return match ($data['method']) { - 'auto' => SchedulingMethodAuto::from($data), - 'date-interval' => SchedulingMethodDateInterval::from($data), - 'day-and-month-of-year' => SchedulingMethodDayAndMonthOfYear::from($data), - 'day-of-month' => SchedulingMethodDayOfMonth::from($data), - 'day-of-week' => SchedulingMethodDayOfWeek::from($data), - 'immediately' => SchedulingMethodImmediately::from($data), - 'intelligent' => SchedulingMethodIntelligent::from($data), + 'auto' => SchedulingMethodAuto::from($data, $metadata), + 'date-interval' => SchedulingMethodDateInterval::from($data, $metadata), + 'day-and-month-of-year' => SchedulingMethodDayAndMonthOfYear::from($data, $metadata), + 'day-of-month' => SchedulingMethodDayOfMonth::from($data, $metadata), + 'day-of-week' => SchedulingMethodDayOfWeek::from($data, $metadata), + 'immediately' => SchedulingMethodImmediately::from($data, $metadata), + 'intelligent' => SchedulingMethodIntelligent::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/SchedulingMethodAuto.php b/src/Model/SchedulingMethodAuto.php index 224a4117e..bdb00949d 100644 --- a/src/Model/SchedulingMethodAuto.php +++ b/src/Model/SchedulingMethodAuto.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodAuto implements ScheduleInstruction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SchedulingMethodDateInterval.php b/src/Model/SchedulingMethodDateInterval.php index 5c2de8c87..7244b5578 100644 --- a/src/Model/SchedulingMethodDateInterval.php +++ b/src/Model/SchedulingMethodDateInterval.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodDateInterval implements InvoiceRetryScheduleInstruction, SettlementPeriod, ScheduleInstruction, ReminderScheduleInstruction { + use HasMetadata; + public const UNIT_SECOND = 'second'; public const UNIT_MINUTE = 'minute'; @@ -42,7 +46,7 @@ class SchedulingMethodDateInterval implements InvoiceRetryScheduleInstruction, S private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('duration', $data)) { $this->setDuration($data['duration']); @@ -53,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('anchor', $data)) { $this->setAnchor($data['anchor']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SchedulingMethodDayAndMonthOfYear.php b/src/Model/SchedulingMethodDayAndMonthOfYear.php index cf8f1cd0b..ebf65ca76 100644 --- a/src/Model/SchedulingMethodDayAndMonthOfYear.php +++ b/src/Model/SchedulingMethodDayAndMonthOfYear.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodDayAndMonthOfYear implements ServicePeriodAnchorInstruction, ScheduleInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('day', $data)) { $this->setDay($data['day']); @@ -29,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('time', $data)) { $this->setTime($data['time']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SchedulingMethodDayOfMonth.php b/src/Model/SchedulingMethodDayOfMonth.php index 7408c945f..e79a0a388 100644 --- a/src/Model/SchedulingMethodDayOfMonth.php +++ b/src/Model/SchedulingMethodDayOfMonth.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodDayOfMonth implements ServicePeriodAnchorInstruction, InvoiceRetryScheduleInstruction, PeriodAnchor, ScheduleInstruction, ReminderScheduleInstruction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('day', $data)) { $this->setDay($data['day']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('time', $data)) { $this->setTime($data['time']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SchedulingMethodDayOfWeek.php b/src/Model/SchedulingMethodDayOfWeek.php index cad1b0e65..2a28c9eb8 100644 --- a/src/Model/SchedulingMethodDayOfWeek.php +++ b/src/Model/SchedulingMethodDayOfWeek.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodDayOfWeek implements ServicePeriodAnchorInstruction, InvoiceRetryScheduleInstruction, PeriodAnchor, ScheduleInstruction, ReminderScheduleInstruction { + use HasMetadata; + public const DAY_SUNDAY = 'Sunday'; public const DAY_MONDAY = 'Monday'; @@ -38,7 +42,7 @@ class SchedulingMethodDayOfWeek implements ServicePeriodAnchorInstruction, Invoi private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('day', $data)) { $this->setDay($data['day']); @@ -49,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('time', $data)) { $this->setTime($data['time']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SchedulingMethodImmediately.php b/src/Model/SchedulingMethodImmediately.php index ae90b3ae9..eeb3596a3 100644 --- a/src/Model/SchedulingMethodImmediately.php +++ b/src/Model/SchedulingMethodImmediately.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodImmediately implements InvoiceRetryScheduleInstruction, SettlementPeriod, ScheduleInstruction { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SchedulingMethodIntelligent.php b/src/Model/SchedulingMethodIntelligent.php index e4c80c6f2..4691f6a51 100644 --- a/src/Model/SchedulingMethodIntelligent.php +++ b/src/Model/SchedulingMethodIntelligent.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SchedulingMethodIntelligent implements InvoiceRetryScheduleInstruction, ScheduleInstruction { + use HasMetadata; + public const UNIT_SECOND = 'second'; public const UNIT_MINUTE = 'minute'; @@ -42,7 +46,7 @@ class SchedulingMethodIntelligent implements InvoiceRetryScheduleInstruction, Sc private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('duration', $data)) { $this->setDuration($data['duration']); @@ -50,11 +54,12 @@ public function __construct(array $data = []) if (array_key_exists('unit', $data)) { $this->setUnit($data['unit']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/SeamlessChex.php b/src/Model/SeamlessChex.php index 26fdc2a4d..0efb98e3f 100644 --- a/src/Model/SeamlessChex.php +++ b/src/Model/SeamlessChex.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SeamlessChex extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SeamlessChex', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SeamlessChexCredentials diff --git a/src/Model/SeamlessChexCredentials.php b/src/Model/SeamlessChexCredentials.php index c1e2e1de9..f0f564bfb 100644 --- a/src/Model/SeamlessChexCredentials.php +++ b/src/Model/SeamlessChexCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SeamlessChexCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/Search.php b/src/Model/Search.php index cc3331319..1fe10ff5b 100644 --- a/src/Model/Search.php +++ b/src/Model/Search.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Search implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customers', $data)) { $this->setCustomers($data['customers']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('searched', $data)) { $this->setSearched($data['searched']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/SecureTrading.php b/src/Model/SecureTrading.php index 30c03ed3c..e2bfd86e4 100644 --- a/src/Model/SecureTrading.php +++ b/src/Model/SecureTrading.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SecureTrading extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SecureTrading', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SecureTradingCredentials diff --git a/src/Model/SecureTradingCredentials.php b/src/Model/SecureTradingCredentials.php index 58aa79641..efac3e54b 100644 --- a/src/Model/SecureTradingCredentials.php +++ b/src/Model/SecureTradingCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SecureTradingCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('websiteId', $data)) { $this->setWebsiteId($data['websiteId']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('notificationPassword', $data)) { $this->setNotificationPassword($data['notificationPassword']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getWebsiteId(): string diff --git a/src/Model/SecureTradingSettings.php b/src/Model/SecureTradingSettings.php index e20c17913..37a27d4f9 100644 --- a/src/Model/SecureTradingSettings.php +++ b/src/Model/SecureTradingSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SecureTradingSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('enableRecurring', $data)) { $this->setEnableRecurring($data['enableRecurring']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('useParentTransactionOnFile', $data)) { $this->setUseParentTransactionOnFile($data['useParentTransactionOnFile']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEnableRecurring(): ?bool diff --git a/src/Model/SecurionPay.php b/src/Model/SecurionPay.php index 1cf13c9f2..b4b8b58a1 100644 --- a/src/Model/SecurionPay.php +++ b/src/Model/SecurionPay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SecurionPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SecurionPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SecurionPayCredentials diff --git a/src/Model/SecurionPayCredentials.php b/src/Model/SecurionPayCredentials.php index 9ea3030b5..5dedfdc97 100644 --- a/src/Model/SecurionPayCredentials.php +++ b/src/Model/SecurionPayCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SecurionPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('secretApiKey', $data)) { $this->setSecretApiKey($data['secretApiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSecretApiKey(): string diff --git a/src/Model/SellFeeTransaction.php b/src/Model/SellFeeTransaction.php index 31b2ab603..8b638264d 100644 --- a/src/Model/SellFeeTransaction.php +++ b/src/Model/SellFeeTransaction.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SellFeeTransaction implements BalanceTransaction { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -56,11 +59,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SellFeeTransactionFee.php b/src/Model/SellFeeTransactionFee.php index e4fef2096..884ee09a8 100644 --- a/src/Model/SellFeeTransactionFee.php +++ b/src/Model/SellFeeTransactionFee.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SellFeeTransactionFee implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): ?string diff --git a/src/Model/SendGridCredential.php b/src/Model/SendGridCredential.php index 69818bc71..38166cf52 100644 --- a/src/Model/SendGridCredential.php +++ b/src/Model/SendGridCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SendGridCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class SendGridCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SendThroughAttribution.php b/src/Model/SendThroughAttribution.php index ab57c1deb..d1c4255d3 100644 --- a/src/Model/SendThroughAttribution.php +++ b/src/Model/SendThroughAttribution.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SendThroughAttribution implements JsonSerializable { + use HasMetadata; + public const EVENT_TYPE_ACCOUNT_PASSWORD_RESET_REQUESTED = 'account-password-reset-requested'; public const EVENT_TYPE_ACCOUNT_VERIFICATION_REQUESTED = 'account-verification-requested'; @@ -212,7 +215,7 @@ class SendThroughAttribution implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('eventType', $data)) { $this->setEventType($data['eventType']); @@ -229,11 +232,12 @@ public function __construct(array $data = []) if (array_key_exists('goal', $data)) { $this->setGoal($data['goal']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEventType(): ?string diff --git a/src/Model/ServiceCredentialFactory.php b/src/Model/ServiceCredentialFactory.php index c0c1a6841..86a721ea0 100644 --- a/src/Model/ServiceCredentialFactory.php +++ b/src/Model/ServiceCredentialFactory.php @@ -18,20 +18,20 @@ class ServiceCredentialFactory { - public static function from(array $data = []): ServiceCredential + public static function from(array $data = [], array $metadata = []): ServiceCredential { return match ($data['type']) { - 'avalara' => AvalaraCredential::from($data), - 'experian' => ExperianCredential::from($data), - 'mailgun' => MailgunCredential::from($data), - 'oauth2' => OAuth2Credential::from($data), - 'plaid' => PlaidCredential::from($data), - 'postmark' => PostmarkCredential::from($data), - 'sendgrid' => SendGridCredential::from($data), - 'aws-ses' => SESCredential::from($data), - 'smtp' => SmtpCredential::from($data), - 'taxjar' => TaxJarCredential::from($data), - 'webhook' => WebhookCredential::from($data), + 'avalara' => AvalaraCredential::from($data, $metadata), + 'experian' => ExperianCredential::from($data, $metadata), + 'mailgun' => MailgunCredential::from($data, $metadata), + 'oauth2' => OAuth2Credential::from($data, $metadata), + 'plaid' => PlaidCredential::from($data, $metadata), + 'postmark' => PostmarkCredential::from($data, $metadata), + 'sendgrid' => SendGridCredential::from($data, $metadata), + 'aws-ses' => SESCredential::from($data, $metadata), + 'smtp' => SmtpCredential::from($data, $metadata), + 'taxjar' => TaxJarCredential::from($data, $metadata), + 'webhook' => WebhookCredential::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/ServicePeriodAnchorInstructionFactory.php b/src/Model/ServicePeriodAnchorInstructionFactory.php index 2396c7acd..bba4b1472 100644 --- a/src/Model/ServicePeriodAnchorInstructionFactory.php +++ b/src/Model/ServicePeriodAnchorInstructionFactory.php @@ -18,12 +18,12 @@ class ServicePeriodAnchorInstructionFactory { - public static function from(array $data = []): ServicePeriodAnchorInstruction + public static function from(array $data = [], array $metadata = []): ServicePeriodAnchorInstruction { return match ($data['method']) { - 'day-and-month-of-year' => SchedulingMethodDayAndMonthOfYear::from($data), - 'day-of-month' => SchedulingMethodDayOfMonth::from($data), - 'day-of-week' => SchedulingMethodDayOfWeek::from($data), + 'day-and-month-of-year' => SchedulingMethodDayAndMonthOfYear::from($data, $metadata), + 'day-of-month' => SchedulingMethodDayOfMonth::from($data, $metadata), + 'day-of-week' => SchedulingMethodDayOfWeek::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Session.php b/src/Model/Session.php index ea6c80145..73be09e90 100644 --- a/src/Model/Session.php +++ b/src/Model/Session.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Session implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -48,11 +51,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/SettlementPeriodFactory.php b/src/Model/SettlementPeriodFactory.php index 6461a34a8..61dd4cad7 100644 --- a/src/Model/SettlementPeriodFactory.php +++ b/src/Model/SettlementPeriodFactory.php @@ -18,11 +18,11 @@ class SettlementPeriodFactory { - public static function from(array $data = []): SettlementPeriod + public static function from(array $data = [], array $metadata = []): SettlementPeriod { return match ($data['method']) { - 'date-interval' => SchedulingMethodDateInterval::from($data), - 'immediately' => SchedulingMethodImmediately::from($data), + 'date-interval' => SchedulingMethodDateInterval::from($data, $metadata), + 'immediately' => SchedulingMethodImmediately::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/SettlementSettings.php b/src/Model/SettlementSettings.php index 2bf1fe39a..7fe6e4750 100644 --- a/src/Model/SettlementSettings.php +++ b/src/Model/SettlementSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SettlementSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('settlementCurrency', $data)) { $this->setSettlementCurrency($data['settlementCurrency']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('advancedSettings', $data)) { $this->setAdvancedSettings($data['advancedSettings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSettlementCurrency(): string diff --git a/src/Model/SettlementSettingsAdvancedSettings.php b/src/Model/SettlementSettingsAdvancedSettings.php index 5b57b29cc..b1530321f 100644 --- a/src/Model/SettlementSettingsAdvancedSettings.php +++ b/src/Model/SettlementSettingsAdvancedSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SettlementSettingsAdvancedSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('filter', $data)) { $this->setFilter($data['filter']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settlementPeriod', $data)) { $this->setSettlementPeriod($data['settlementPeriod']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFilter(): string diff --git a/src/Model/ShippingFactory.php b/src/Model/ShippingFactory.php index dd4febc2f..132f14691 100644 --- a/src/Model/ShippingFactory.php +++ b/src/Model/ShippingFactory.php @@ -18,11 +18,11 @@ class ShippingFactory { - public static function from(array $data = []): Shipping + public static function from(array $data = [], array $metadata = []): Shipping { return match ($data['calculator']) { - 'manual' => ManualShipping::from($data), - 'rebilly' => RebillyShipping::from($data), + 'manual' => ManualShipping::from($data, $metadata), + 'rebilly' => RebillyShipping::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/ShippingOption.php b/src/Model/ShippingOption.php index 43d0726c6..db239b39c 100644 --- a/src/Model/ShippingOption.php +++ b/src/Model/ShippingOption.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ShippingOption implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ShippingRate.php b/src/Model/ShippingRate.php index 6065d229e..f682534f4 100644 --- a/src/Model/ShippingRate.php +++ b/src/Model/ShippingRate.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ShippingRate implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/ShowEddSearchLogsTimelineAction.php b/src/Model/ShowEddSearchLogsTimelineAction.php index 7a71775d9..23da570b0 100644 --- a/src/Model/ShowEddSearchLogsTimelineAction.php +++ b/src/Model/ShowEddSearchLogsTimelineAction.php @@ -14,8 +14,12 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ShowEddSearchLogsTimelineAction implements TimelineAction { + use HasMetadata; + public const TYPE_ARREST = 'arrest'; public const TYPE_BANKRUPTCY = 'bankruptcy'; @@ -26,7 +30,7 @@ class ShowEddSearchLogsTimelineAction implements TimelineAction private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('searchLogId', $data)) { $this->setSearchLogId($data['searchLogId']); @@ -34,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('type', $data)) { $this->setType($data['type']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAction(): string diff --git a/src/Model/Skrill.php b/src/Model/Skrill.php index ffd198584..e214b67e1 100644 --- a/src/Model/Skrill.php +++ b/src/Model/Skrill.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Skrill extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Skrill', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SkrillCredentials diff --git a/src/Model/SkrillCredentials.php b/src/Model/SkrillCredentials.php index 07165323c..53d3ac0dd 100644 --- a/src/Model/SkrillCredentials.php +++ b/src/Model/SkrillCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SkrillCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('accountEmail', $data)) { $this->setAccountEmail($data['accountEmail']); @@ -34,11 +37,15 @@ public function __construct(array $data = []) if (array_key_exists('currencyAccountIds', $data)) { $this->setCurrencyAccountIds($data['currencyAccountIds']); } + if (array_key_exists('merchantId', $data)) { + $this->setMerchantId($data['merchantId']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAccountEmail(): string @@ -89,6 +96,18 @@ public function setCurrencyAccountIds(null|string $currencyAccountIds): static return $this; } + public function getMerchantId(): ?string + { + return $this->fields['merchantId'] ?? null; + } + + public function setMerchantId(null|string $merchantId): static + { + $this->fields['merchantId'] = $merchantId; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -104,6 +123,9 @@ public function jsonSerialize(): array if (array_key_exists('currencyAccountIds', $this->fields)) { $data['currencyAccountIds'] = $this->fields['currencyAccountIds']; } + if (array_key_exists('merchantId', $this->fields)) { + $data['merchantId'] = $this->fields['merchantId']; + } return $data; } diff --git a/src/Model/SkrillSettings.php b/src/Model/SkrillSettings.php index c2ec5d743..d53d1a6e7 100644 --- a/src/Model/SkrillSettings.php +++ b/src/Model/SkrillSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SkrillSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantFields', $data)) { $this->setMerchantFields($data['merchantFields']); @@ -28,11 +31,15 @@ public function __construct(array $data = []) if (array_key_exists('useSPX', $data)) { $this->setUseSPX($data['useSPX']); } + if (array_key_exists('enableCustomerVerification', $data)) { + $this->setEnableCustomerVerification($data['enableCustomerVerification']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantFields(): ?string @@ -59,6 +66,18 @@ public function setUseSPX(null|bool $useSPX): static return $this; } + public function getEnableCustomerVerification(): ?bool + { + return $this->fields['enableCustomerVerification'] ?? null; + } + + public function setEnableCustomerVerification(null|bool $enableCustomerVerification): static + { + $this->fields['enableCustomerVerification'] = $enableCustomerVerification; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -68,6 +87,9 @@ public function jsonSerialize(): array if (array_key_exists('useSPX', $this->fields)) { $data['useSPX'] = $this->fields['useSPX']; } + if (array_key_exists('enableCustomerVerification', $this->fields)) { + $data['enableCustomerVerification'] = $this->fields['enableCustomerVerification']; + } return $data; } diff --git a/src/Model/SmartInvoice.php b/src/Model/SmartInvoice.php index f6c0a777a..6d556d42b 100644 --- a/src/Model/SmartInvoice.php +++ b/src/Model/SmartInvoice.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SmartInvoice extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SmartInvoice', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SmartInvoiceCredentials diff --git a/src/Model/SmartInvoiceCredentials.php b/src/Model/SmartInvoiceCredentials.php index 70dde8177..9019928dc 100644 --- a/src/Model/SmartInvoiceCredentials.php +++ b/src/Model/SmartInvoiceCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SmartInvoiceCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('applicationId', $data)) { $this->setApplicationId($data['applicationId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/SmtpAuthorizationCramMd5.php b/src/Model/SmtpAuthorizationCramMd5.php index 48e74a379..baf9d6c6a 100644 --- a/src/Model/SmtpAuthorizationCramMd5.php +++ b/src/Model/SmtpAuthorizationCramMd5.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SmtpAuthorizationCramMd5 implements SmtpAuthorization { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SmtpAuthorizationFactory.php b/src/Model/SmtpAuthorizationFactory.php index 80f16c147..28e6a66f1 100644 --- a/src/Model/SmtpAuthorizationFactory.php +++ b/src/Model/SmtpAuthorizationFactory.php @@ -18,13 +18,13 @@ class SmtpAuthorizationFactory { - public static function from(array $data = []): SmtpAuthorization + public static function from(array $data = [], array $metadata = []): SmtpAuthorization { return match ($data['type']) { - 'cram-md5' => SmtpAuthorizationCramMd5::from($data), - 'login' => SmtpAuthorizationLogin::from($data), - 'none' => SmtpAuthorizationNone::from($data), - 'plain' => SmtpAuthorizationPlain::from($data), + 'cram-md5' => SmtpAuthorizationCramMd5::from($data, $metadata), + 'login' => SmtpAuthorizationLogin::from($data, $metadata), + 'none' => SmtpAuthorizationNone::from($data, $metadata), + 'plain' => SmtpAuthorizationPlain::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/SmtpAuthorizationLogin.php b/src/Model/SmtpAuthorizationLogin.php index d285d3b7a..23020ceb3 100644 --- a/src/Model/SmtpAuthorizationLogin.php +++ b/src/Model/SmtpAuthorizationLogin.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SmtpAuthorizationLogin implements SmtpAuthorization { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SmtpAuthorizationNone.php b/src/Model/SmtpAuthorizationNone.php index 6c1104e39..c79d062a9 100644 --- a/src/Model/SmtpAuthorizationNone.php +++ b/src/Model/SmtpAuthorizationNone.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SmtpAuthorizationNone implements SmtpAuthorization { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SmtpAuthorizationPlain.php b/src/Model/SmtpAuthorizationPlain.php index 632739c50..56ae60a62 100644 --- a/src/Model/SmtpAuthorizationPlain.php +++ b/src/Model/SmtpAuthorizationPlain.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SmtpAuthorizationPlain implements SmtpAuthorization { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SmtpCredential.php b/src/Model/SmtpCredential.php index c3ff1456b..9b84ebd2c 100644 --- a/src/Model/SmtpCredential.php +++ b/src/Model/SmtpCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SmtpCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -33,7 +36,7 @@ class SmtpCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -62,11 +65,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/Sofort.php b/src/Model/Sofort.php index a5aad643b..430317fbb 100644 --- a/src/Model/Sofort.php +++ b/src/Model/Sofort.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Sofort extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Sofort', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SofortCredentials diff --git a/src/Model/SofortCredentials.php b/src/Model/SofortCredentials.php index 7559e1cf9..bc14f550a 100644 --- a/src/Model/SofortCredentials.php +++ b/src/Model/SofortCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SofortCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('configKey', $data)) { $this->setConfigKey($data['configKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('nuaPayAccountId', $data)) { $this->setNuaPayAccountId($data['nuaPayAccountId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getConfigKey(): string diff --git a/src/Model/SparkPay.php b/src/Model/SparkPay.php index 03ac2eb2d..dd0298c56 100644 --- a/src/Model/SparkPay.php +++ b/src/Model/SparkPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class SparkPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'SparkPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SparkPayCredentials diff --git a/src/Model/SparkPayCredentials.php b/src/Model/SparkPayCredentials.php index c44142897..69a776b93 100644 --- a/src/Model/SparkPayCredentials.php +++ b/src/Model/SparkPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SparkPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('shopId', $data)) { $this->setShopId($data['shopId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getShopId(): string diff --git a/src/Model/Splitit.php b/src/Model/Splitit.php index 1924bdb4d..3148f8168 100644 --- a/src/Model/Splitit.php +++ b/src/Model/Splitit.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Splitit extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Splitit', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): SplititCredentials diff --git a/src/Model/SplititCredentials.php b/src/Model/SplititCredentials.php index bf2fa57be..7c0da33a6 100644 --- a/src/Model/SplititCredentials.php +++ b/src/Model/SplititCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SplititCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('terminalId', $data)) { $this->setTerminalId($data['terminalId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTerminalId(): string diff --git a/src/Model/SplititSettings.php b/src/Model/SplititSettings.php index dd0e6bdd4..d7212f31a 100644 --- a/src/Model/SplititSettings.php +++ b/src/Model/SplititSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SplititSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('numberOfInstallmentsCustomField', $data)) { $this->setNumberOfInstallmentsCustomField($data['numberOfInstallmentsCustomField']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getNumberOfInstallmentsCustomField(): ?string diff --git a/src/Model/StaticGateway.php b/src/Model/StaticGateway.php index b05572f16..da5c7280e 100644 --- a/src/Model/StaticGateway.php +++ b/src/Model/StaticGateway.php @@ -14,17 +14,22 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class StaticGateway extends GatewayAccount { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'StaticGateway', - ] + $data); + ] + $data, $metadata); + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } } diff --git a/src/Model/Status.php b/src/Model/Status.php index 6434f0e6d..b9fe3a91d 100644 --- a/src/Model/Status.php +++ b/src/Model/Status.php @@ -17,14 +17,17 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Status implements JsonSerializable { + use HasMetadata; + public const STATUS_OK = 'ok'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('status', $data)) { $this->setStatus($data['status']); @@ -35,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('release', $data)) { $this->setRelease($data['release']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStatus(): ?string diff --git a/src/Model/StringCustomField.php b/src/Model/StringCustomField.php index 8803f2939..858216d25 100644 --- a/src/Model/StringCustomField.php +++ b/src/Model/StringCustomField.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class StringCustomField implements CustomField { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -35,11 +39,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/StringCustomFieldAdditionalSchema.php b/src/Model/StringCustomFieldAdditionalSchema.php index af6a0861a..5eef84f56 100644 --- a/src/Model/StringCustomFieldAdditionalSchema.php +++ b/src/Model/StringCustomFieldAdditionalSchema.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class StringCustomFieldAdditionalSchema implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('allowedValues', $data)) { $this->setAllowedValues($data['allowedValues']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('default', $data)) { $this->setDefault($data['default']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/Stripe.php b/src/Model/Stripe.php index aa50aaac0..b29e1ccf1 100644 --- a/src/Model/Stripe.php +++ b/src/Model/Stripe.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Stripe extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Stripe', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ?StripeCredentials diff --git a/src/Model/StripeCredentials.php b/src/Model/StripeCredentials.php index f89e3a33f..e088e24e7 100644 --- a/src/Model/StripeCredentials.php +++ b/src/Model/StripeCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class StripeCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('stripeClientId', $data)) { $this->setStripeClientId($data['stripeClientId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('stripeSecret', $data)) { $this->setStripeSecret($data['stripeSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStripeClientId(): ?string diff --git a/src/Model/StripeSettings.php b/src/Model/StripeSettings.php index 547b917c5..08a667c0b 100644 --- a/src/Model/StripeSettings.php +++ b/src/Model/StripeSettings.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class StripeSettings implements JsonSerializable { + use HasMetadata; + public const SETUP_FUTURE_USAGE_OFF_SESSION = 'off_session'; public const SETUP_FUTURE_USAGE_ON_SESSION = 'on_session'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('redirectUrl', $data)) { $this->setRedirectUrl($data['redirectUrl']); @@ -47,11 +50,15 @@ public function __construct(array $data = []) if (array_key_exists('includeCardNetwork', $data)) { $this->setIncludeCardNetwork($data['includeCardNetwork']); } + if (array_key_exists('radarSessionCustomField', $data)) { + $this->setRadarSessionCustomField($data['radarSessionCustomField']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRedirectUrl(): string @@ -138,6 +145,18 @@ public function setIncludeCardNetwork(null|bool $includeCardNetwork): static return $this; } + public function getRadarSessionCustomField(): ?string + { + return $this->fields['radarSessionCustomField'] ?? null; + } + + public function setRadarSessionCustomField(null|string $radarSessionCustomField): static + { + $this->fields['radarSessionCustomField'] = $radarSessionCustomField; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -162,6 +181,9 @@ public function jsonSerialize(): array if (array_key_exists('includeCardNetwork', $this->fields)) { $data['includeCardNetwork'] = $this->fields['includeCardNetwork']; } + if (array_key_exists('radarSessionCustomField', $this->fields)) { + $data['radarSessionCustomField'] = $this->fields['radarSessionCustomField']; + } return $data; } diff --git a/src/Model/StripeThreeDSecureServer.php b/src/Model/StripeThreeDSecureServer.php index 5f12744a0..c310f5c86 100644 --- a/src/Model/StripeThreeDSecureServer.php +++ b/src/Model/StripeThreeDSecureServer.php @@ -15,14 +15,17 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class StripeThreeDSecureServer implements JsonSerializable { + use HasMetadata; + public const NAME_STRIPE3_DS_SERVER = 'Stripe3dsServer'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -30,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('enforceThreeDSecure', $data)) { $this->setEnforceThreeDSecure($data['enforceThreeDSecure']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/Subscription.php b/src/Model/Subscription.php index 100088d06..3e8ce1b29 100644 --- a/src/Model/Subscription.php +++ b/src/Model/Subscription.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class Subscription implements SubscriptionOrOneTimeSale { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_ACTIVE = 'active'; @@ -97,7 +100,7 @@ class Subscription implements SubscriptionOrOneTimeSale private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -249,11 +252,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getOrderType(): string diff --git a/src/Model/SubscriptionCancellation.php b/src/Model/SubscriptionCancellation.php index 60ed6cbe9..9aaa2ce50 100644 --- a/src/Model/SubscriptionCancellation.php +++ b/src/Model/SubscriptionCancellation.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionCancellation implements JsonSerializable { + use HasMetadata; + public const CANCELED_BY_MERCHANT = 'merchant'; public const CANCELED_BY_CUSTOMER = 'customer'; @@ -62,7 +65,7 @@ class SubscriptionCancellation implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -115,11 +118,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/SubscriptionCancellationLineItemSubtotal.php b/src/Model/SubscriptionCancellationLineItemSubtotal.php index 84158284f..4d5259f6a 100644 --- a/src/Model/SubscriptionCancellationLineItemSubtotal.php +++ b/src/Model/SubscriptionCancellationLineItemSubtotal.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionCancellationLineItemSubtotal implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/SubscriptionCancellationLineItems.php b/src/Model/SubscriptionCancellationLineItems.php index 3b92ce508..138112a69 100644 --- a/src/Model/SubscriptionCancellationLineItems.php +++ b/src/Model/SubscriptionCancellationLineItems.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionCancellationLineItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/SubscriptionCancellationReport.php b/src/Model/SubscriptionCancellationReport.php index 98c14aab7..7e93bbc9b 100644 --- a/src/Model/SubscriptionCancellationReport.php +++ b/src/Model/SubscriptionCancellationReport.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionCancellationReport implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/SubscriptionCancellationReportData.php b/src/Model/SubscriptionCancellationReportData.php index 9cdbf2184..0e3e7574b 100644 --- a/src/Model/SubscriptionCancellationReportData.php +++ b/src/Model/SubscriptionCancellationReportData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionCancellationReportData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('aggregationValue', $data)) { $this->setAggregationValue($data['aggregationValue']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('medianLength', $data)) { $this->setMedianLength($data['medianLength']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAggregationValue(): ?string diff --git a/src/Model/SubscriptionChange.php b/src/Model/SubscriptionChange.php index 95fe4d455..4e5180855 100644 --- a/src/Model/SubscriptionChange.php +++ b/src/Model/SubscriptionChange.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionChange implements JsonSerializable { + use HasMetadata; + public const RENEWAL_POLICY_RESET = 'reset'; public const RENEWAL_POLICY_RETAIN = 'retain'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('items', $data)) { $this->setItems($data['items']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('ignoreRecurring', $data)) { $this->setIgnoreRecurring($data['ignoreRecurring']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/SubscriptionChangeItems.php b/src/Model/SubscriptionChangeItems.php index 46acdf462..2005222a7 100644 --- a/src/Model/SubscriptionChangeItems.php +++ b/src/Model/SubscriptionChangeItems.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionChangeItems implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('plan', $data)) { $this->setPlan($data['plan']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('usageLimits', $data)) { $this->setUsageLimits($data['usageLimits']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlan(): ConfigurablePlan diff --git a/src/Model/SubscriptionEmbedded.php b/src/Model/SubscriptionEmbedded.php index 371547299..d02b240df 100644 --- a/src/Model/SubscriptionEmbedded.php +++ b/src/Model/SubscriptionEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('recentInvoice', $data)) { $this->setRecentInvoice($data['recentInvoice']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('upcomingInvoice', $data)) { $this->setUpcomingInvoice($data['upcomingInvoice']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getRecentInvoice(): ?Invoice diff --git a/src/Model/SubscriptionInvoice.php b/src/Model/SubscriptionInvoice.php index 19e325600..9cea71fce 100644 --- a/src/Model/SubscriptionInvoice.php +++ b/src/Model/SubscriptionInvoice.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionInvoice implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): ?string diff --git a/src/Model/SubscriptionItem.php b/src/Model/SubscriptionItem.php index 77a027e2c..2cb64350e 100644 --- a/src/Model/SubscriptionItem.php +++ b/src/Model/SubscriptionItem.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionItem implements RecurringOrderItems { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -62,6 +65,9 @@ public function __construct(array $data = []) if (array_key_exists('usageStatus', $data)) { $this->setUsageStatus($data['usageStatus']); } + if (array_key_exists('revision', $data)) { + $this->setRevision($data['revision']); + } if (array_key_exists('excludeFromMrr', $data)) { $this->setExcludeFromMrr($data['excludeFromMrr']); } @@ -71,11 +77,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string @@ -228,6 +235,11 @@ public function setUsageStatus(null|UsageStatus|array $usageStatus): static return $this; } + public function getRevision(): ?int + { + return $this->fields['revision'] ?? null; + } + public function getExcludeFromMrr(): ?bool { return $this->fields['excludeFromMrr'] ?? null; @@ -294,6 +306,9 @@ public function jsonSerialize(): array if (array_key_exists('usageStatus', $this->fields)) { $data['usageStatus'] = $this->fields['usageStatus']?->jsonSerialize(); } + if (array_key_exists('revision', $this->fields)) { + $data['revision'] = $this->fields['revision']; + } if (array_key_exists('excludeFromMrr', $this->fields)) { $data['excludeFromMrr'] = $this->fields['excludeFromMrr']; } @@ -346,6 +361,13 @@ private function setProductId(null|string $productId): static return $this; } + private function setRevision(null|int $revision): static + { + $this->fields['revision'] = $revision; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/SubscriptionItemRecurringInterval.php b/src/Model/SubscriptionItemRecurringInterval.php index f0cbd17c4..118744b58 100644 --- a/src/Model/SubscriptionItemRecurringInterval.php +++ b/src/Model/SubscriptionItemRecurringInterval.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionItemRecurringInterval implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('periodAnchorInstruction', $data)) { $this->setPeriodAnchorInstruction($data['periodAnchorInstruction']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriodAnchorInstruction(): ?ServicePeriodAnchorInstruction diff --git a/src/Model/SubscriptionLineItemSubtotal.php b/src/Model/SubscriptionLineItemSubtotal.php index b1c8afbaf..d9bc5698e 100644 --- a/src/Model/SubscriptionLineItemSubtotal.php +++ b/src/Model/SubscriptionLineItemSubtotal.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionLineItemSubtotal implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/SubscriptionLineItems.php b/src/Model/SubscriptionLineItems.php index 3e1655be1..6086996eb 100644 --- a/src/Model/SubscriptionLineItems.php +++ b/src/Model/SubscriptionLineItems.php @@ -17,16 +17,19 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionLineItems implements JsonSerializable { + use HasMetadata; + public const TYPE_DEBIT = 'debit'; public const TYPE_CREDIT = 'credit'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('updatedTime', $data)) { $this->setUpdatedTime($data['updatedTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): ?string diff --git a/src/Model/SubscriptionOrOneTimeSaleFactory.php b/src/Model/SubscriptionOrOneTimeSaleFactory.php index 7f024cf6c..30b585564 100644 --- a/src/Model/SubscriptionOrOneTimeSaleFactory.php +++ b/src/Model/SubscriptionOrOneTimeSaleFactory.php @@ -18,11 +18,11 @@ class SubscriptionOrOneTimeSaleFactory { - public static function from(array $data = []): SubscriptionOrOneTimeSale + public static function from(array $data = [], array $metadata = []): SubscriptionOrOneTimeSale { return match ($data['orderType']) { - 'one-time-order' => OneTimeSale::from($data), - 'subscription-order' => Subscription::from($data), + 'one-time-order' => OneTimeSale::from($data, $metadata), + 'subscription-order' => Subscription::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/SubscriptionOrOneTimeSaleItem.php b/src/Model/SubscriptionOrOneTimeSaleItem.php index ff5ec380a..2d99bd9cd 100644 --- a/src/Model/SubscriptionOrOneTimeSaleItem.php +++ b/src/Model/SubscriptionOrOneTimeSaleItem.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionOrOneTimeSaleItem implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/SubscriptionOrOneTimeSaleItemEmbedded.php b/src/Model/SubscriptionOrOneTimeSaleItemEmbedded.php index 7cf8de002..77903e03e 100644 --- a/src/Model/SubscriptionOrOneTimeSaleItemEmbedded.php +++ b/src/Model/SubscriptionOrOneTimeSaleItemEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionOrOneTimeSaleItemEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('product', $data)) { $this->setProduct($data['product']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProduct(): ?Product diff --git a/src/Model/SubscriptionPause.php b/src/Model/SubscriptionPause.php index c5f207b60..5708a6798 100644 --- a/src/Model/SubscriptionPause.php +++ b/src/Model/SubscriptionPause.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionPause implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING = 'pending'; public const STATUS_ONGOING = 'ongoing'; @@ -34,7 +37,7 @@ class SubscriptionPause implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -69,11 +72,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/SubscriptionPlan.php b/src/Model/SubscriptionPlan.php index f895a163f..df5a759e7 100644 --- a/src/Model/SubscriptionPlan.php +++ b/src/Model/SubscriptionPlan.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionPlan implements Plan, FlexiblePlan { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -86,16 +89,17 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } - public function getId(): ?string + public function getId(): string { - return $this->fields['id'] ?? null; + return $this->fields['id']; } public function getName(): string @@ -300,17 +304,6 @@ public function getInvoiceTimeShift(): ?InvoiceTimeShift return $this->fields['invoiceTimeShift'] ?? null; } - public function setInvoiceTimeShift(null|InvoiceTimeShift|array $invoiceTimeShift): static - { - if ($invoiceTimeShift !== null && !($invoiceTimeShift instanceof InvoiceTimeShift)) { - $invoiceTimeShift = InvoiceTimeShift::from($invoiceTimeShift); - } - - $this->fields['invoiceTimeShift'] = $invoiceTimeShift; - - return $this; - } - public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -404,7 +397,7 @@ public function jsonSerialize(): array return $data; } - private function setId(null|string $id): static + private function setId(string $id): static { $this->fields['id'] = $id; @@ -432,6 +425,17 @@ private function setIsTrialOnly(null|bool $isTrialOnly): static return $this; } + private function setInvoiceTimeShift(null|InvoiceTimeShift|array $invoiceTimeShift): static + { + if ($invoiceTimeShift !== null && !($invoiceTimeShift instanceof InvoiceTimeShift)) { + $invoiceTimeShift = InvoiceTimeShift::from($invoiceTimeShift); + } + + $this->fields['invoiceTimeShift'] = $invoiceTimeShift; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/SubscriptionPlanMeteredBilling.php b/src/Model/SubscriptionPlanMeteredBilling.php index ed867a723..a8c79350c 100644 --- a/src/Model/SubscriptionPlanMeteredBilling.php +++ b/src/Model/SubscriptionPlanMeteredBilling.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionPlanMeteredBilling implements JsonSerializable { + use HasMetadata; + public const STRATEGY_SUM = 'sum'; public const STRATEGY_LAST = 'last'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('strategy', $data)) { $this->setStrategy($data['strategy']); @@ -35,11 +38,12 @@ public function __construct(array $data = []) if (array_key_exists('max', $data)) { $this->setMax($data['max']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStrategy(): string diff --git a/src/Model/SubscriptionPlanRecurringInterval.php b/src/Model/SubscriptionPlanRecurringInterval.php index 4c308ab12..c70252cc7 100644 --- a/src/Model/SubscriptionPlanRecurringInterval.php +++ b/src/Model/SubscriptionPlanRecurringInterval.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionPlanRecurringInterval implements JsonSerializable { + use HasMetadata; + public const UNIT_DAY = 'day'; public const UNIT_WEEK = 'week'; @@ -32,7 +35,7 @@ class SubscriptionPlanRecurringInterval implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('periodAnchorInstruction', $data)) { $this->setPeriodAnchorInstruction($data['periodAnchorInstruction']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('billingTiming', $data)) { $this->setBillingTiming($data['billingTiming']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriodAnchorInstruction(): ?ServicePeriodAnchorInstruction diff --git a/src/Model/SubscriptionReactivation.php b/src/Model/SubscriptionReactivation.php index 0f8684167..43cead499 100644 --- a/src/Model/SubscriptionReactivation.php +++ b/src/Model/SubscriptionReactivation.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionReactivation implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -54,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/SubscriptionRecurringInterval.php b/src/Model/SubscriptionRecurringInterval.php index 985d1c85b..1fe219571 100644 --- a/src/Model/SubscriptionRecurringInterval.php +++ b/src/Model/SubscriptionRecurringInterval.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionRecurringInterval implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('periodAnchorInstruction', $data)) { $this->setPeriodAnchorInstruction($data['periodAnchorInstruction']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPeriodAnchorInstruction(): ?ServicePeriodAnchorInstruction diff --git a/src/Model/SubscriptionRenewal.php b/src/Model/SubscriptionRenewal.php index d7acaf50e..2b7f36fe9 100644 --- a/src/Model/SubscriptionRenewal.php +++ b/src/Model/SubscriptionRenewal.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionRenewal implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/SubscriptionRenewalData.php b/src/Model/SubscriptionRenewalData.php index 4bd4a014c..d0b3efa6d 100644 --- a/src/Model/SubscriptionRenewalData.php +++ b/src/Model/SubscriptionRenewalData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionRenewalData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('planId', $data)) { $this->setPlanId($data['planId']); @@ -52,11 +55,12 @@ public function __construct(array $data = []) if (array_key_exists('chargebackDunningCount', $data)) { $this->setChargebackDunningCount($data['chargebackDunningCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPlanId(): ?string diff --git a/src/Model/SubscriptionSummaryMetrics.php b/src/Model/SubscriptionSummaryMetrics.php index 1f60da703..570c0a83e 100644 --- a/src/Model/SubscriptionSummaryMetrics.php +++ b/src/Model/SubscriptionSummaryMetrics.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionSummaryMetrics implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('invoiceCount', $data)) { $this->setInvoiceCount($data['invoiceCount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCurrency(): ?string diff --git a/src/Model/SubscriptionTrial.php b/src/Model/SubscriptionTrial.php index 95e51945f..0ccf5aa9a 100644 --- a/src/Model/SubscriptionTrial.php +++ b/src/Model/SubscriptionTrial.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionTrial implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('enabled', $data)) { $this->setEnabled($data['enabled']); @@ -30,11 +33,12 @@ public function __construct(array $data = []) if (array_key_exists('endTime', $data)) { $this->setEndTime($data['endTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEnabled(): ?bool diff --git a/src/Model/SubscriptionsDataExport.php b/src/Model/SubscriptionsDataExport.php index d63110af0..bb032b94f 100644 --- a/src/Model/SubscriptionsDataExport.php +++ b/src/Model/SubscriptionsDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionsDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class SubscriptionsDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?SubscriptionsDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|SubscriptionsDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof SubscriptionsDataExportDateRange)) { + $dateRange = SubscriptionsDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/SubscriptionsDataExportDateRange.php b/src/Model/SubscriptionsDataExportDateRange.php new file mode 100644 index 000000000..1ef4b7553 --- /dev/null +++ b/src/Model/SubscriptionsDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/SubscriptionsDataExportEmbedded.php b/src/Model/SubscriptionsDataExportEmbedded.php index c74ddefaa..cc01a6379 100644 --- a/src/Model/SubscriptionsDataExportEmbedded.php +++ b/src/Model/SubscriptionsDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SubscriptionsDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/SystemEvent.php b/src/Model/SystemEvent.php index 1ad9a3cec..1080c765a 100644 --- a/src/Model/SystemEvent.php +++ b/src/Model/SystemEvent.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class SystemEvent implements JsonSerializable { + use HasMetadata; + public const EVENT_TYPE_ACCOUNT_PASSWORD_RESET_REQUESTED = 'account-password-reset-requested'; public const EVENT_TYPE_ACCOUNT_VERIFICATION_REQUESTED = 'account-verification-requested'; @@ -216,7 +219,7 @@ class SystemEvent implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('eventType', $data)) { $this->setEventType($data['eventType']); @@ -239,11 +242,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEventType(): ?string diff --git a/src/Model/TWINT.php b/src/Model/TWINT.php index 3959f8a60..8b1adbfe7 100644 --- a/src/Model/TWINT.php +++ b/src/Model/TWINT.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class TWINT extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'TWINT', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): TWINTCredentials diff --git a/src/Model/TWINTCredentials.php b/src/Model/TWINTCredentials.php index 81614a167..fba8065a9 100644 --- a/src/Model/TWINTCredentials.php +++ b/src/Model/TWINTCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TWINTCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('storeUuid', $data)) { $this->setStoreUuid($data['storeUuid']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('keyPassphrase', $data)) { $this->setKeyPassphrase($data['keyPassphrase']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStoreUuid(): string diff --git a/src/Model/TWINTSettings.php b/src/Model/TWINTSettings.php index a29f2d77a..2898fcdac 100644 --- a/src/Model/TWINTSettings.php +++ b/src/Model/TWINTSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TWINTSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('cashRegisterType', $data)) { $this->setCashRegisterType($data['cashRegisterType']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCashRegisterType(): string diff --git a/src/Model/Tabby.php b/src/Model/Tabby.php index aa6f8bcf5..221dcc093 100644 --- a/src/Model/Tabby.php +++ b/src/Model/Tabby.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Tabby extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Tabby', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): TabbyCredentials diff --git a/src/Model/TabbyCredentials.php b/src/Model/TabbyCredentials.php index f3996015f..06733a897 100644 --- a/src/Model/TabbyCredentials.php +++ b/src/Model/TabbyCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TabbyCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantCode', $data)) { $this->setMerchantCode($data['merchantCode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/TabbySettings.php b/src/Model/TabbySettings.php index 84603e12e..3bfbd0f38 100644 --- a/src/Model/TabbySettings.php +++ b/src/Model/TabbySettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TabbySettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('category', $data)) { $this->setCategory($data['category']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCategory(): ?string diff --git a/src/Model/Tag.php b/src/Model/Tag.php index 8a9d14394..fde01075f 100644 --- a/src/Model/Tag.php +++ b/src/Model/Tag.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Tag implements JsonSerializable { + use HasMetadata; + public const TYPE_CUSTOMER = 'customer'; public const TYPE_KYC_DOCUMENT = 'kyc-document'; @@ -28,7 +31,7 @@ class Tag implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -48,11 +51,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/TagUntagRule.php b/src/Model/TagUntagRule.php index 18b3b6348..aea3b5aa8 100644 --- a/src/Model/TagUntagRule.php +++ b/src/Model/TagUntagRule.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TagUntagRule implements JsonSerializable { + use HasMetadata; + public const EVENT_TYPE_AML_LIST_POSSIBLY_MATCHED = 'aml-list-possibly-matched'; public const EVENT_TYPE_AUTODEPOSIT_LOOKUP_PERFORMED = 'autodeposit-lookup-performed'; @@ -168,7 +171,7 @@ class TagUntagRule implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -200,11 +203,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/TaxItem.php b/src/Model/TaxItem.php index 71c31cfd3..ba3c6915e 100644 --- a/src/Model/TaxItem.php +++ b/src/Model/TaxItem.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TaxItem implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -58,11 +61,12 @@ public function __construct(array $data = []) if (array_key_exists('jurisdictions', $data)) { $this->setJurisdictions($data['jurisdictions']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): float diff --git a/src/Model/TaxItemJurisdictions.php b/src/Model/TaxItemJurisdictions.php index fffa4bc3f..21e818697 100644 --- a/src/Model/TaxItemJurisdictions.php +++ b/src/Model/TaxItemJurisdictions.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TaxItemJurisdictions implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('country', $data)) { $this->setCountry($data['country']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('city', $data)) { $this->setCity($data['city']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCountry(): ?string diff --git a/src/Model/TaxJarCredential.php b/src/Model/TaxJarCredential.php index 8db7a0f69..bfcb442cc 100644 --- a/src/Model/TaxJarCredential.php +++ b/src/Model/TaxJarCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class TaxJarCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class TaxJarCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -50,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/TaxNumber.php b/src/Model/TaxNumber.php index 8dbb27f84..daafeddd7 100644 --- a/src/Model/TaxNumber.php +++ b/src/Model/TaxNumber.php @@ -15,16 +15,19 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TaxNumber implements JsonSerializable { + use HasMetadata; + public const TYPE_EU_VAT = 'eu-vat'; public const TYPE_OTHER = 'other'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -38,11 +41,12 @@ public function __construct(array $data = []) if (array_key_exists('isValid', $data)) { $this->setIsValid($data['isValid']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/TaxTracking.php b/src/Model/TaxTracking.php index cec9b10d5..af08ca216 100644 --- a/src/Model/TaxTracking.php +++ b/src/Model/TaxTracking.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TaxTracking implements JsonSerializable { + use HasMetadata; + public const TAX_SERVICE_TAXJAR = 'taxjar'; public const TAX_SERVICE_AVALARA = 'avalara'; @@ -30,7 +33,7 @@ class TaxTracking implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -80,11 +83,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/TaxesFactory.php b/src/Model/TaxesFactory.php index 6e1eb0d33..e4da839fb 100644 --- a/src/Model/TaxesFactory.php +++ b/src/Model/TaxesFactory.php @@ -18,12 +18,12 @@ class TaxesFactory { - public static function from(array $data = []): Taxes + public static function from(array $data = [], array $metadata = []): Taxes { return match ($data['calculator']) { - 'manual' => ManualTax::from($data), - 'rebilly-avalara' => RebillyAvalaraTax::from($data), - 'rebilly-taxjar' => RebillyTaxJarTax::from($data), + 'manual' => ManualTax::from($data, $metadata), + 'rebilly-avalara' => RebillyAvalaraTax::from($data, $metadata), + 'rebilly-taxjar' => RebillyTaxJarTax::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Telr.php b/src/Model/Telr.php index 923260d4b..c0bb79f8a 100644 --- a/src/Model/Telr.php +++ b/src/Model/Telr.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Telr extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Telr', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): TelrCredentials diff --git a/src/Model/TelrCredentials.php b/src/Model/TelrCredentials.php index 686ca9230..cf55331df 100644 --- a/src/Model/TelrCredentials.php +++ b/src/Model/TelrCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TelrCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('storeId', $data)) { $this->setStoreId($data['storeId']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('remoteApiKey', $data)) { $this->setRemoteApiKey($data['remoteApiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getStoreId(): string diff --git a/src/Model/TelrSettings.php b/src/Model/TelrSettings.php index 97c787093..709c18ef2 100644 --- a/src/Model/TelrSettings.php +++ b/src/Model/TelrSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TelrSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionDescription', $data)) { $this->setTransactionDescription($data['transactionDescription']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionDescription(): ?string diff --git a/src/Model/TestProcessor.php b/src/Model/TestProcessor.php index 18d2cfa1f..8d62fd253 100644 --- a/src/Model/TestProcessor.php +++ b/src/Model/TestProcessor.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class TestProcessor extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'TestProcessor', - ] + $data); + ] + $data, $metadata); if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getThreeDSecureServer(): ?ThreeDSecureIO3dsServer diff --git a/src/Model/ThreeColumnsTimelineTable.php b/src/Model/ThreeColumnsTimelineTable.php index 0f2c2b5b7..921593f6a 100644 --- a/src/Model/ThreeColumnsTimelineTable.php +++ b/src/Model/ThreeColumnsTimelineTable.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ThreeColumnsTimelineTable extends TimelineTable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'type' => 'three-columns', - ] + $data); + ] + $data, $metadata); if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/ThreeColumnsTimelineTableData.php b/src/Model/ThreeColumnsTimelineTableData.php index 81a24b26d..8e88f8dc7 100644 --- a/src/Model/ThreeColumnsTimelineTableData.php +++ b/src/Model/ThreeColumnsTimelineTableData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ThreeColumnsTimelineTableData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('attribute', $data)) { $this->setAttribute($data['attribute']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('newValue', $data)) { $this->setNewValue($data['newValue']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAttribute(): ?string diff --git a/src/Model/ThreeDSecureIO3dsServer.php b/src/Model/ThreeDSecureIO3dsServer.php index 2cddeb3ac..a7b90966b 100644 --- a/src/Model/ThreeDSecureIO3dsServer.php +++ b/src/Model/ThreeDSecureIO3dsServer.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ThreeDSecureIO3dsServer implements JsonSerializable { + use HasMetadata; + public const NAME_THREE_D_SECURE_IO3_DS_SERVER = 'ThreeDSecureIO3dsServer'; public const TRANSACTION_TYPE_01 = '01'; @@ -32,7 +35,7 @@ class ThreeDSecureIO3dsServer implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('name', $data)) { $this->setName($data['name']); @@ -85,11 +88,12 @@ public function __construct(array $data = []) if (array_key_exists('forceChallenge', $data)) { $this->setForceChallenge($data['forceChallenge']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getName(): string diff --git a/src/Model/TimeSeriesTransaction.php b/src/Model/TimeSeriesTransaction.php index c69c84cbe..8b161568b 100644 --- a/src/Model/TimeSeriesTransaction.php +++ b/src/Model/TimeSeriesTransaction.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TimeSeriesTransaction implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/TimeSeriesTransactionData.php b/src/Model/TimeSeriesTransactionData.php index ce406ec36..f4fcc75b3 100644 --- a/src/Model/TimeSeriesTransactionData.php +++ b/src/Model/TimeSeriesTransactionData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TimeSeriesTransactionData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('date', $data)) { $this->setDate($data['date']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('subaggregates', $data)) { $this->setSubaggregates($data['subaggregates']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDate(): ?string diff --git a/src/Model/TimeSeriesTransactionDataSubaggregates.php b/src/Model/TimeSeriesTransactionDataSubaggregates.php index 1a482ceed..ce5d1981d 100644 --- a/src/Model/TimeSeriesTransactionDataSubaggregates.php +++ b/src/Model/TimeSeriesTransactionDataSubaggregates.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TimeSeriesTransactionDataSubaggregates implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('subaggregate', $data)) { $this->setSubaggregate($data['subaggregate']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSubaggregate(): ?string diff --git a/src/Model/TimelineActionFactory.php b/src/Model/TimelineActionFactory.php index 49f8dc6cc..23868fad3 100644 --- a/src/Model/TimelineActionFactory.php +++ b/src/Model/TimelineActionFactory.php @@ -18,13 +18,13 @@ class TimelineActionFactory { - public static function from(array $data = []): TimelineAction + public static function from(array $data = [], array $metadata = []): TimelineAction { return match ($data['action']) { - 'redemption-cancel' => RedemptionCancelTimelineAction::from($data), - 'resend-email' => ResendEmailTimelineAction::from($data), - 'ruleset-restore' => RulesetRestoreTimelineAction::from($data), - 'show-edd-search-logs' => ShowEddSearchLogsTimelineAction::from($data), + 'redemption-cancel' => RedemptionCancelTimelineAction::from($data, $metadata), + 'resend-email' => ResendEmailTimelineAction::from($data, $metadata), + 'ruleset-restore' => RulesetRestoreTimelineAction::from($data, $metadata), + 'show-edd-search-logs' => ShowEddSearchLogsTimelineAction::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/TimelineExtraData.php b/src/Model/TimelineExtraData.php index ab2e92ddc..07e7bd177 100644 --- a/src/Model/TimelineExtraData.php +++ b/src/Model/TimelineExtraData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TimelineExtraData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('actions', $data)) { $this->setActions($data['actions']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('links', $data)) { $this->setLinks($data['links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/TimelineExtraDataAuthor.php b/src/Model/TimelineExtraDataAuthor.php index f92aec56f..3dd6adbf8 100644 --- a/src/Model/TimelineExtraDataAuthor.php +++ b/src/Model/TimelineExtraDataAuthor.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TimelineExtraDataAuthor implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('userFullName', $data)) { $this->setUserFullName($data['userFullName']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('userId', $data)) { $this->setUserId($data['userId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUserFullName(): ?string diff --git a/src/Model/TimelineExtraDataLinks.php b/src/Model/TimelineExtraDataLinks.php index d9b99ada0..df0029a24 100644 --- a/src/Model/TimelineExtraDataLinks.php +++ b/src/Model/TimelineExtraDataLinks.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TimelineExtraDataLinks implements JsonSerializable { + use HasMetadata; + public const RESOURCE_TYPE_KYC_DOCUMENT = 'kyc-document'; public const RESOURCE_TYPE_INVOICE = 'invoice'; @@ -36,7 +39,7 @@ class TimelineExtraDataLinks implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('resourceType', $data)) { $this->setResourceType($data['resourceType']); @@ -50,11 +53,12 @@ public function __construct(array $data = []) if (array_key_exists('externalUrl', $data)) { $this->setExternalUrl($data['externalUrl']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResourceType(): ?string diff --git a/src/Model/TimelineTable.php b/src/Model/TimelineTable.php index 632dc8270..a30d01c27 100644 --- a/src/Model/TimelineTable.php +++ b/src/Model/TimelineTable.php @@ -16,9 +16,12 @@ use InvalidArgumentException; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; abstract class TimelineTable implements JsonSerializable { + use HasMetadata; + public const TYPE_LIST = 'list'; public const TYPE_ONE_COLUMNS = 'one-columns'; @@ -29,7 +32,7 @@ abstract class TimelineTable implements JsonSerializable private array $fields = []; - protected function __construct(array $data = []) + protected function __construct(array $data = [], array $metadata = []) { if (array_key_exists('type', $data)) { $this->setType($data['type']); @@ -40,19 +43,20 @@ protected function __construct(array $data = []) if (array_key_exists('footer', $data)) { $this->setFooter($data['footer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { switch ($data['type']) { case 'list': - return ListTimelineTable::from($data); + return ListTimelineTable::from($data, $metadata); case 'one-column': - return OneColumnTimelineTable::from($data); + return OneColumnTimelineTable::from($data, $metadata); case 'three-columns': - return ThreeColumnsTimelineTable::from($data); + return ThreeColumnsTimelineTable::from($data, $metadata); case 'two-columns': - return TwoColumnsTimelineTable::from($data); + return TwoColumnsTimelineTable::from($data, $metadata); } throw new InvalidArgumentException("Unsupported type value: '{$data['type']}'"); diff --git a/src/Model/ToditoCash.php b/src/Model/ToditoCash.php index 49e79823a..292aea7a5 100644 --- a/src/Model/ToditoCash.php +++ b/src/Model/ToditoCash.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class ToditoCash extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'ToditoCash', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ToditoCashCredentials diff --git a/src/Model/ToditoCashCredentials.php b/src/Model/ToditoCashCredentials.php index 87129d224..43ba8b682 100644 --- a/src/Model/ToditoCashCredentials.php +++ b/src/Model/ToditoCashCredentials.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ToditoCashCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApiKey(): string diff --git a/src/Model/Transaction.php b/src/Model/Transaction.php index a6bc25b04..fccb9ddfb 100644 --- a/src/Model/Transaction.php +++ b/src/Model/Transaction.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Transaction implements JsonSerializable { + use HasMetadata; + public const TYPE_3_DS_AUTHENTICATION = '3ds-authentication'; public const TYPE_AUTHORIZE = 'authorize'; @@ -504,6 +507,8 @@ class Transaction implements JsonSerializable public const GATEWAY_NAME_VEGA_WALLET = 'VegaWallet'; + public const GATEWAY_NAME_VIVA = 'Viva'; + public const GATEWAY_NAME_WALLET88 = 'Wallet88'; public const GATEWAY_NAME_WALPAY = 'Walpay'; @@ -940,16 +945,6 @@ class Transaction implements JsonSerializable public const ACQUIRER_NAME_ZOTAPAY = 'Zotapay'; - public const METHOD_PAYMENT_CARD = 'payment-card'; - - public const METHOD_ACH = 'ach'; - - public const METHOD_CASH = 'cash'; - - public const METHOD_CHECK = 'check'; - - public const METHOD_PAYPAL = 'paypal'; - public const METHOD_ADV_CASH = 'AdvCash'; public const METHOD_AERA = 'Aera'; @@ -1298,6 +1293,8 @@ class Transaction implements JsonSerializable public const METHOD_VENUS_POINT = 'VenusPoint'; + public const METHOD_VIVA = 'Viva'; + public const METHOD_VOUCHER = 'voucher'; public const METHOD_VOUCHER2 = 'voucher-2'; @@ -1346,7 +1343,7 @@ class Transaction implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -1543,6 +1540,9 @@ public function __construct(array $data = []) if (array_key_exists('depositRequestId', $data)) { $this->setDepositRequestId($data['depositRequestId']); } + if (array_key_exists('transferId', $data)) { + $this->setTransferId($data['transferId']); + } if (array_key_exists('payoutRequestId', $data)) { $this->setPayoutRequestId($data['payoutRequestId']); } @@ -1552,11 +1552,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string @@ -2060,6 +2061,11 @@ public function getDepositRequestId(): ?string return $this->fields['depositRequestId'] ?? null; } + public function getTransferId(): ?string + { + return $this->fields['transferId'] ?? null; + } + public function getPayoutRequestId(): ?string { return $this->fields['payoutRequestId'] ?? null; @@ -2287,6 +2293,9 @@ public function jsonSerialize(): array if (array_key_exists('depositRequestId', $this->fields)) { $data['depositRequestId'] = $this->fields['depositRequestId']; } + if (array_key_exists('transferId', $this->fields)) { + $data['transferId'] = $this->fields['transferId']; + } if (array_key_exists('payoutRequestId', $this->fields)) { $data['payoutRequestId'] = $this->fields['payoutRequestId']; } @@ -2682,6 +2691,13 @@ private function setDepositRequestId(null|string $depositRequestId): static return $this; } + private function setTransferId(null|string $transferId): static + { + $this->fields['transferId'] = $transferId; + + return $this; + } + private function setPayoutRequestId(null|string $payoutRequestId): static { $this->fields['payoutRequestId'] = $payoutRequestId; diff --git a/src/Model/Transaction3ds.php b/src/Model/Transaction3ds.php index d6d8d7270..10685d3b2 100644 --- a/src/Model/Transaction3ds.php +++ b/src/Model/Transaction3ds.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Transaction3ds implements JsonSerializable { + use HasMetadata; + public const VERSION_102 = '1.0.2'; public const VERSION_210 = '2.1.0'; @@ -52,7 +55,7 @@ class Transaction3ds implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('server', $data)) { $this->setServer($data['server']); @@ -75,11 +78,12 @@ public function __construct(array $data = []) if (array_key_exists('isDowngraded', $data)) { $this->setIsDowngraded($data['isDowngraded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getServer(): ?string diff --git a/src/Model/TransactionDcc.php b/src/Model/TransactionDcc.php index 3d08b44d9..304f42977 100644 --- a/src/Model/TransactionDcc.php +++ b/src/Model/TransactionDcc.php @@ -15,18 +15,21 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionDcc implements JsonSerializable { + use HasMetadata; + + public const OUTCOME_UNPROCESSED = 'unprocessed'; + public const OUTCOME_REJECTED = 'rejected'; public const OUTCOME_SELECTED = 'selected'; - public const OUTCOME_UNKNOWN = 'unknown'; - private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('base', $data)) { $this->setBase($data['base']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('outcome', $data)) { $this->setOutcome($data['outcome']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getBase(): ?Money diff --git a/src/Model/TransactionEmbedded.php b/src/Model/TransactionEmbedded.php index e77817a94..ca754d3fd 100644 --- a/src/Model/TransactionEmbedded.php +++ b/src/Model/TransactionEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('parentTransaction', $data)) { $this->setParentTransaction($data['parentTransaction']); @@ -55,11 +58,12 @@ public function __construct(array $data = []) if (array_key_exists('bankAccount', $data)) { $this->setBankAccount($data['bankAccount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getParentTransaction(): ?Transaction diff --git a/src/Model/TransactionGateway.php b/src/Model/TransactionGateway.php index ae6cd4646..6c318673a 100644 --- a/src/Model/TransactionGateway.php +++ b/src/Model/TransactionGateway.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionGateway implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('response', $data)) { $this->setResponse($data['response']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('cvvResponse', $data)) { $this->setCvvResponse($data['cvvResponse']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResponse(): ?TransactionGatewayResponse diff --git a/src/Model/TransactionGatewayAvsResponse.php b/src/Model/TransactionGatewayAvsResponse.php index 6399aa911..8871163b1 100644 --- a/src/Model/TransactionGatewayAvsResponse.php +++ b/src/Model/TransactionGatewayAvsResponse.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionGatewayAvsResponse implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('code', $data)) { $this->setCode($data['code']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('originalMessage', $data)) { $this->setOriginalMessage($data['originalMessage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCode(): ?string diff --git a/src/Model/TransactionGatewayCvvResponse.php b/src/Model/TransactionGatewayCvvResponse.php index 00e5c7b8d..f5c51397f 100644 --- a/src/Model/TransactionGatewayCvvResponse.php +++ b/src/Model/TransactionGatewayCvvResponse.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionGatewayCvvResponse implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('code', $data)) { $this->setCode($data['code']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('originalMessage', $data)) { $this->setOriginalMessage($data['originalMessage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCode(): ?string diff --git a/src/Model/TransactionGatewayResponse.php b/src/Model/TransactionGatewayResponse.php index 87ab5ed65..a9e5b7197 100644 --- a/src/Model/TransactionGatewayResponse.php +++ b/src/Model/TransactionGatewayResponse.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionGatewayResponse implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('code', $data)) { $this->setCode($data['code']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('originalMessage', $data)) { $this->setOriginalMessage($data['originalMessage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCode(): ?string diff --git a/src/Model/TransactionLimitAmount.php b/src/Model/TransactionLimitAmount.php index 4528381cc..84f6b9dbe 100644 --- a/src/Model/TransactionLimitAmount.php +++ b/src/Model/TransactionLimitAmount.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionLimitAmount implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -33,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('resetTime', $data)) { $this->setResetTime($data['resetTime']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): ?float diff --git a/src/Model/TransactionPaymentInstrumentFactory.php b/src/Model/TransactionPaymentInstrumentFactory.php index b77e54b16..787b61158 100644 --- a/src/Model/TransactionPaymentInstrumentFactory.php +++ b/src/Model/TransactionPaymentInstrumentFactory.php @@ -18,208 +18,206 @@ class TransactionPaymentInstrumentFactory { - public static function from(array $data = []): TransactionPaymentInstrument + public static function from(array $data = [], array $metadata = []): TransactionPaymentInstrument { if (isset($data['paymentInstrumentId'])) { - return VaultedInstrument::from($data); + return VaultedInstrument::from($data, $metadata); } return match ($data['method']) { - 'AdvCash' => AlternativePaymentInstrument::from($data), - 'Aera' => AlternativePaymentInstrument::from($data), - 'Affirm' => AlternativePaymentInstrument::from($data), - 'Afterpay' => AlternativePaymentInstrument::from($data), - 'Aircash' => AlternativePaymentInstrument::from($data), - 'Airpay' => AlternativePaymentInstrument::from($data), - 'Alfa-click' => AlternativePaymentInstrument::from($data), - 'Alipay' => AlternativePaymentInstrument::from($data), - 'AmazonPay' => AlternativePaymentInstrument::from($data), - 'Apple Pay' => AlternativePaymentInstrument::from($data), - 'AstroPay Card' => AlternativePaymentInstrument::from($data), - 'AstroPay-GO' => AlternativePaymentInstrument::from($data), - 'Baloto' => AlternativePaymentInstrument::from($data), - 'Bancontact' => AlternativePaymentInstrument::from($data), - 'Bancontact-mobile' => AlternativePaymentInstrument::from($data), - 'BankReferenced' => AlternativePaymentInstrument::from($data), - 'BankSEND' => AlternativePaymentInstrument::from($data), - 'Beeline' => AlternativePaymentInstrument::from($data), - 'Belfius-direct-net' => AlternativePaymentInstrument::from($data), - 'Bizum' => AlternativePaymentInstrument::from($data), - 'Blik' => AlternativePaymentInstrument::from($data), - 'Boleto' => AlternativePaymentInstrument::from($data), - 'Boleto-2' => AlternativePaymentInstrument::from($data), - 'Boleto-3' => AlternativePaymentInstrument::from($data), - 'CASHlib' => AlternativePaymentInstrument::from($data), - 'CCAvenue' => AlternativePaymentInstrument::from($data), - 'CODVoucher' => AlternativePaymentInstrument::from($data), - 'CashToCode' => AlternativePaymentInstrument::from($data), - 'China UnionPay' => AlternativePaymentInstrument::from($data), - 'Clearpay' => AlternativePaymentInstrument::from($data), - 'Cleo' => AlternativePaymentInstrument::from($data), - 'Conekta-oxxo' => AlternativePaymentInstrument::from($data), - 'Conekta-spei' => AlternativePaymentInstrument::from($data), - 'Cupon-de-pagos' => AlternativePaymentInstrument::from($data), - 'CyberSource' => AlternativePaymentInstrument::from($data), - 'Dimoco-pay-smart' => AlternativePaymentInstrument::from($data), - 'Directa24Card' => AlternativePaymentInstrument::from($data), - 'EPS' => AlternativePaymentInstrument::from($data), - 'Efecty' => AlternativePaymentInstrument::from($data), - 'Ethereum' => AlternativePaymentInstrument::from($data), - 'FasterPay' => AlternativePaymentInstrument::from($data), - 'Flexepin' => AlternativePaymentInstrument::from($data), - 'Giropay' => AlternativePaymentInstrument::from($data), - 'Google Pay' => AlternativePaymentInstrument::from($data), - 'Gpaysafe' => AlternativePaymentInstrument::from($data), - 'ING-homepay' => AlternativePaymentInstrument::from($data), - 'INOVAPAY-pin' => AlternativePaymentInstrument::from($data), - 'INOVAPAY-wallet' => AlternativePaymentInstrument::from($data), - 'InstaDebit' => AlternativePaymentInstrument::from($data), - 'InstantPayments' => AlternativePaymentInstrument::from($data), - 'Interac' => AlternativePaymentInstrument::from($data), - 'Interac-eTransfer' => AlternativePaymentInstrument::from($data), - 'Interac-express-connect' => AlternativePaymentInstrument::from($data), - 'Interac-online' => AlternativePaymentInstrument::from($data), - 'Jeton' => AlternativePaymentInstrument::from($data), - 'JetonCash' => AlternativePaymentInstrument::from($data), - 'KNOT' => AlternativePaymentInstrument::from($data), - 'KakaoPay' => AlternativePaymentInstrument::from($data), - 'Khelocard' => AlternativePaymentInstrument::from($data), - 'Klarna' => AlternativePaymentInstrument::from($data), - 'LPG-online' => AlternativePaymentInstrument::from($data), - 'LPG-payment-card' => AlternativePaymentInstrument::from($data), - 'Litecoin' => AlternativePaymentInstrument::from($data), - 'MTS' => AlternativePaymentInstrument::from($data), - 'Matrix' => AlternativePaymentInstrument::from($data), - 'MaxiCash' => AlternativePaymentInstrument::from($data), - 'Megafon' => AlternativePaymentInstrument::from($data), - 'MercadoPago' => AlternativePaymentInstrument::from($data), - 'MiFinity-eWallet' => AlternativePaymentInstrument::from($data), - 'MobilePay' => AlternativePaymentInstrument::from($data), - 'MuchBetter' => AlternativePaymentInstrument::from($data), - 'MuchBetterVoucher' => AlternativePaymentInstrument::from($data), - 'Multibanco' => AlternativePaymentInstrument::from($data), - 'MyFatoorah' => AlternativePaymentInstrument::from($data), - 'Neosurf' => AlternativePaymentInstrument::from($data), - 'Netbanking' => AlternativePaymentInstrument::from($data), - 'Neteller' => AlternativePaymentInstrument::from($data), - 'Nordea-Solo' => AlternativePaymentInstrument::from($data), - 'NordikCoin' => AlternativePaymentInstrument::from($data), - 'OXXO' => AlternativePaymentInstrument::from($data), - 'OchaPay' => AlternativePaymentInstrument::from($data), - 'Onlineueberweisen' => AlternativePaymentInstrument::from($data), - 'P24' => AlternativePaymentInstrument::from($data), - 'PIX' => AlternativePaymentInstrument::from($data), - 'POLi' => AlternativePaymentInstrument::from($data), - 'Pagadito' => AlternativePaymentInstrument::from($data), - 'PagoEffectivo' => AlternativePaymentInstrument::from($data), - 'Pagsmile-deposit-express' => AlternativePaymentInstrument::from($data), - 'Pagsmile-lottery' => AlternativePaymentInstrument::from($data), - 'Pay4Fun' => AlternativePaymentInstrument::from($data), - 'PayCash' => AlternativePaymentInstrument::from($data), - 'PayTabs' => AlternativePaymentInstrument::from($data), - 'PayU' => AlternativePaymentInstrument::from($data), - 'PayULatam' => AlternativePaymentInstrument::from($data), - 'Payco' => AlternativePaymentInstrument::from($data), - 'Payeer' => AlternativePaymentInstrument::from($data), - 'PaymentAsia-crypto' => AlternativePaymentInstrument::from($data), - 'Paymero' => AlternativePaymentInstrument::from($data), - 'Paymero-QR' => AlternativePaymentInstrument::from($data), - 'Paynote' => AlternativePaymentInstrument::from($data), - 'Paysafecard' => AlternativePaymentInstrument::from($data), - 'Perfect-money' => AlternativePaymentInstrument::from($data), - 'PhonePe' => AlternativePaymentInstrument::from($data), - 'Piastrix' => AlternativePaymentInstrument::from($data), - 'PinPay' => AlternativePaymentInstrument::from($data), - 'PostFinance-card' => AlternativePaymentInstrument::from($data), - 'PostFinance-e-finance' => AlternativePaymentInstrument::from($data), - 'QIWI' => AlternativePaymentInstrument::from($data), - 'QPay' => AlternativePaymentInstrument::from($data), - 'QQPay' => AlternativePaymentInstrument::from($data), - 'Resurs' => AlternativePaymentInstrument::from($data), - 'Ripple' => AlternativePaymentInstrument::from($data), - 'SEPA' => AlternativePaymentInstrument::from($data), - 'SMSVoucher' => AlternativePaymentInstrument::from($data), - 'SPEI' => AlternativePaymentInstrument::from($data), - 'SafetyPay' => AlternativePaymentInstrument::from($data), - 'Samsung Pay' => AlternativePaymentInstrument::from($data), - 'Siirto' => AlternativePaymentInstrument::from($data), - 'Skrill' => AlternativePaymentInstrument::from($data), - 'Skrill Rapid Transfer' => AlternativePaymentInstrument::from($data), - 'Sofort' => AlternativePaymentInstrument::from($data), - 'SparkPay' => AlternativePaymentInstrument::from($data), - 'TWINT' => AlternativePaymentInstrument::from($data), - 'Tele2' => AlternativePaymentInstrument::from($data), - 'Telr' => AlternativePaymentInstrument::from($data), - 'Terminaly-RF' => AlternativePaymentInstrument::from($data), - 'Tether' => AlternativePaymentInstrument::from($data), - 'ToditoCash-card' => AlternativePaymentInstrument::from($data), - 'Trustly' => AlternativePaymentInstrument::from($data), - 'Tupay' => AlternativePaymentInstrument::from($data), - 'UPI' => AlternativePaymentInstrument::from($data), - 'UPayCard' => AlternativePaymentInstrument::from($data), - 'USD-coin' => AlternativePaymentInstrument::from($data), - 'UniCrypt' => AlternativePaymentInstrument::from($data), - 'VCreditos' => AlternativePaymentInstrument::from($data), - 'VegaWallet' => AlternativePaymentInstrument::from($data), - 'VenusPoint' => AlternativePaymentInstrument::from($data), - 'Wallet88' => AlternativePaymentInstrument::from($data), - 'WeChat Pay' => AlternativePaymentInstrument::from($data), - 'Webmoney' => AlternativePaymentInstrument::from($data), - 'Webpay' => AlternativePaymentInstrument::from($data), - 'Webpay Card' => AlternativePaymentInstrument::from($data), - 'Webpay-2' => AlternativePaymentInstrument::from($data), - 'XPay-P2P' => AlternativePaymentInstrument::from($data), - 'XPay-QR' => AlternativePaymentInstrument::from($data), - 'Yandex-money' => AlternativePaymentInstrument::from($data), - 'Zimpler' => AlternativePaymentInstrument::from($data), - 'Zip' => AlternativePaymentInstrument::from($data), - 'Zotapay' => AlternativePaymentInstrument::from($data), - 'ach' => AlternativePaymentInstrument::from($data), - 'bank-transfer' => AlternativePaymentInstrument::from($data), - 'bank-transfer-2' => AlternativePaymentInstrument::from($data), - 'bank-transfer-3' => AlternativePaymentInstrument::from($data), - 'bank-transfer-4' => AlternativePaymentInstrument::from($data), - 'bank-transfer-5' => AlternativePaymentInstrument::from($data), - 'bank-transfer-6' => AlternativePaymentInstrument::from($data), - 'bank-transfer-7' => AlternativePaymentInstrument::from($data), - 'bank-transfer-8' => AlternativePaymentInstrument::from($data), - 'bank-transfer-9' => AlternativePaymentInstrument::from($data), - 'bitcoin' => AlternativePaymentInstrument::from($data), - 'cash-deposit' => AlternativePaymentInstrument::from($data), - 'cryptocurrency' => AlternativePaymentInstrument::from($data), - 'domestic-cards' => AlternativePaymentInstrument::from($data), - 'e-wallet' => AlternativePaymentInstrument::from($data), - 'ePay.bg' => AlternativePaymentInstrument::from($data), - 'eZeeWallet' => AlternativePaymentInstrument::from($data), - 'echeck' => AlternativePaymentInstrument::from($data), - 'ecoPayz' => AlternativePaymentInstrument::from($data), - 'ecoPayzTurkey' => AlternativePaymentInstrument::from($data), - 'ecoVoucher' => AlternativePaymentInstrument::from($data), - 'ezyEFT' => AlternativePaymentInstrument::from($data), - 'iCashOne Voucher' => AlternativePaymentInstrument::from($data), - 'iDEAL' => AlternativePaymentInstrument::from($data), - 'iDebit' => AlternativePaymentInstrument::from($data), - 'iWallet' => AlternativePaymentInstrument::from($data), - 'instant-bank-transfer' => AlternativePaymentInstrument::from($data), - 'invoice' => AlternativePaymentInstrument::from($data), - 'jpay' => AlternativePaymentInstrument::from($data), - 'loonie' => AlternativePaymentInstrument::from($data), - 'miscellaneous' => AlternativePaymentInstrument::from($data), - 'online-bank-transfer' => AlternativePaymentInstrument::from($data), - 'oriental-wallet' => AlternativePaymentInstrument::from($data), - 'payment-card' => AlternativePaymentInstrument::from($data), - 'paypal' => AlternativePaymentInstrument::from($data), - 'phone' => AlternativePaymentInstrument::from($data), - 'rapyd-checkout' => AlternativePaymentInstrument::from($data), - 'rebilly-hosted-payment-form' => AlternativePaymentInstrument::from($data), - 'reverse-withdrawal' => AlternativePaymentInstrument::from($data), - 'swift-dbt' => AlternativePaymentInstrument::from($data), - 'voucher' => AlternativePaymentInstrument::from($data), - 'voucher-2' => AlternativePaymentInstrument::from($data), - 'voucher-3' => AlternativePaymentInstrument::from($data), - 'voucher-4' => AlternativePaymentInstrument::from($data), - 'cash' => CashInstrument::from($data), - 'check' => CheckInstrument::from($data), + 'AdvCash' => AlternativePaymentInstrument::from($data, $metadata), + 'Aera' => AlternativePaymentInstrument::from($data, $metadata), + 'Affirm' => AlternativePaymentInstrument::from($data, $metadata), + 'Afterpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Aircash' => AlternativePaymentInstrument::from($data, $metadata), + 'Airpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Alfa-click' => AlternativePaymentInstrument::from($data, $metadata), + 'Alipay' => AlternativePaymentInstrument::from($data, $metadata), + 'AmazonPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Apple Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'AstroPay Card' => AlternativePaymentInstrument::from($data, $metadata), + 'AstroPay-GO' => AlternativePaymentInstrument::from($data, $metadata), + 'Baloto' => AlternativePaymentInstrument::from($data, $metadata), + 'Bancontact' => AlternativePaymentInstrument::from($data, $metadata), + 'Bancontact-mobile' => AlternativePaymentInstrument::from($data, $metadata), + 'BankReferenced' => AlternativePaymentInstrument::from($data, $metadata), + 'BankSEND' => AlternativePaymentInstrument::from($data, $metadata), + 'Beeline' => AlternativePaymentInstrument::from($data, $metadata), + 'Belfius-direct-net' => AlternativePaymentInstrument::from($data, $metadata), + 'Bizum' => AlternativePaymentInstrument::from($data, $metadata), + 'Blik' => AlternativePaymentInstrument::from($data, $metadata), + 'Boleto' => AlternativePaymentInstrument::from($data, $metadata), + 'Boleto-2' => AlternativePaymentInstrument::from($data, $metadata), + 'Boleto-3' => AlternativePaymentInstrument::from($data, $metadata), + 'CASHlib' => AlternativePaymentInstrument::from($data, $metadata), + 'CCAvenue' => AlternativePaymentInstrument::from($data, $metadata), + 'CODVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'CashToCode' => AlternativePaymentInstrument::from($data, $metadata), + 'China UnionPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Clearpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Cleo' => AlternativePaymentInstrument::from($data, $metadata), + 'Conekta-oxxo' => AlternativePaymentInstrument::from($data, $metadata), + 'Conekta-spei' => AlternativePaymentInstrument::from($data, $metadata), + 'Cupon-de-pagos' => AlternativePaymentInstrument::from($data, $metadata), + 'CyberSource' => AlternativePaymentInstrument::from($data, $metadata), + 'Dimoco-pay-smart' => AlternativePaymentInstrument::from($data, $metadata), + 'Directa24Card' => AlternativePaymentInstrument::from($data, $metadata), + 'EPS' => AlternativePaymentInstrument::from($data, $metadata), + 'Efecty' => AlternativePaymentInstrument::from($data, $metadata), + 'Ethereum' => AlternativePaymentInstrument::from($data, $metadata), + 'FasterPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Flexepin' => AlternativePaymentInstrument::from($data, $metadata), + 'Giropay' => AlternativePaymentInstrument::from($data, $metadata), + 'Google Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'Gpaysafe' => AlternativePaymentInstrument::from($data, $metadata), + 'ING-homepay' => AlternativePaymentInstrument::from($data, $metadata), + 'INOVAPAY-pin' => AlternativePaymentInstrument::from($data, $metadata), + 'INOVAPAY-wallet' => AlternativePaymentInstrument::from($data, $metadata), + 'InstaDebit' => AlternativePaymentInstrument::from($data, $metadata), + 'InstantPayments' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac-eTransfer' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac-express-connect' => AlternativePaymentInstrument::from($data, $metadata), + 'Interac-online' => AlternativePaymentInstrument::from($data, $metadata), + 'Jeton' => AlternativePaymentInstrument::from($data, $metadata), + 'JetonCash' => AlternativePaymentInstrument::from($data, $metadata), + 'KNOT' => AlternativePaymentInstrument::from($data, $metadata), + 'KakaoPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Khelocard' => AlternativePaymentInstrument::from($data, $metadata), + 'Klarna' => AlternativePaymentInstrument::from($data, $metadata), + 'LPG-online' => AlternativePaymentInstrument::from($data, $metadata), + 'LPG-payment-card' => AlternativePaymentInstrument::from($data, $metadata), + 'Litecoin' => AlternativePaymentInstrument::from($data, $metadata), + 'MTS' => AlternativePaymentInstrument::from($data, $metadata), + 'Matrix' => AlternativePaymentInstrument::from($data, $metadata), + 'MaxiCash' => AlternativePaymentInstrument::from($data, $metadata), + 'Megafon' => AlternativePaymentInstrument::from($data, $metadata), + 'MercadoPago' => AlternativePaymentInstrument::from($data, $metadata), + 'MiFinity-eWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'MobilePay' => AlternativePaymentInstrument::from($data, $metadata), + 'MuchBetter' => AlternativePaymentInstrument::from($data, $metadata), + 'MuchBetterVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'Multibanco' => AlternativePaymentInstrument::from($data, $metadata), + 'MyFatoorah' => AlternativePaymentInstrument::from($data, $metadata), + 'Neosurf' => AlternativePaymentInstrument::from($data, $metadata), + 'Netbanking' => AlternativePaymentInstrument::from($data, $metadata), + 'Neteller' => AlternativePaymentInstrument::from($data, $metadata), + 'Nordea-Solo' => AlternativePaymentInstrument::from($data, $metadata), + 'NordikCoin' => AlternativePaymentInstrument::from($data, $metadata), + 'OXXO' => AlternativePaymentInstrument::from($data, $metadata), + 'OchaPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Onlineueberweisen' => AlternativePaymentInstrument::from($data, $metadata), + 'P24' => AlternativePaymentInstrument::from($data, $metadata), + 'PIX' => AlternativePaymentInstrument::from($data, $metadata), + 'POLi' => AlternativePaymentInstrument::from($data, $metadata), + 'Pagadito' => AlternativePaymentInstrument::from($data, $metadata), + 'PagoEffectivo' => AlternativePaymentInstrument::from($data, $metadata), + 'Pagsmile-deposit-express' => AlternativePaymentInstrument::from($data, $metadata), + 'Pagsmile-lottery' => AlternativePaymentInstrument::from($data, $metadata), + 'Pay4Fun' => AlternativePaymentInstrument::from($data, $metadata), + 'PayCash' => AlternativePaymentInstrument::from($data, $metadata), + 'PayTabs' => AlternativePaymentInstrument::from($data, $metadata), + 'PayU' => AlternativePaymentInstrument::from($data, $metadata), + 'PayULatam' => AlternativePaymentInstrument::from($data, $metadata), + 'Payco' => AlternativePaymentInstrument::from($data, $metadata), + 'Payeer' => AlternativePaymentInstrument::from($data, $metadata), + 'PaymentAsia-crypto' => AlternativePaymentInstrument::from($data, $metadata), + 'Paymero' => AlternativePaymentInstrument::from($data, $metadata), + 'Paymero-QR' => AlternativePaymentInstrument::from($data, $metadata), + 'Paynote' => AlternativePaymentInstrument::from($data, $metadata), + 'Paysafecard' => AlternativePaymentInstrument::from($data, $metadata), + 'Perfect-money' => AlternativePaymentInstrument::from($data, $metadata), + 'PhonePe' => AlternativePaymentInstrument::from($data, $metadata), + 'Piastrix' => AlternativePaymentInstrument::from($data, $metadata), + 'PinPay' => AlternativePaymentInstrument::from($data, $metadata), + 'PostFinance-card' => AlternativePaymentInstrument::from($data, $metadata), + 'PostFinance-e-finance' => AlternativePaymentInstrument::from($data, $metadata), + 'QIWI' => AlternativePaymentInstrument::from($data, $metadata), + 'QPay' => AlternativePaymentInstrument::from($data, $metadata), + 'QQPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Resurs' => AlternativePaymentInstrument::from($data, $metadata), + 'Ripple' => AlternativePaymentInstrument::from($data, $metadata), + 'SEPA' => AlternativePaymentInstrument::from($data, $metadata), + 'SMSVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'SPEI' => AlternativePaymentInstrument::from($data, $metadata), + 'SafetyPay' => AlternativePaymentInstrument::from($data, $metadata), + 'Samsung Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'Siirto' => AlternativePaymentInstrument::from($data, $metadata), + 'Skrill' => AlternativePaymentInstrument::from($data, $metadata), + 'Skrill Rapid Transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'Sofort' => AlternativePaymentInstrument::from($data, $metadata), + 'SparkPay' => AlternativePaymentInstrument::from($data, $metadata), + 'TWINT' => AlternativePaymentInstrument::from($data, $metadata), + 'Tele2' => AlternativePaymentInstrument::from($data, $metadata), + 'Telr' => AlternativePaymentInstrument::from($data, $metadata), + 'Terminaly-RF' => AlternativePaymentInstrument::from($data, $metadata), + 'Tether' => AlternativePaymentInstrument::from($data, $metadata), + 'ToditoCash-card' => AlternativePaymentInstrument::from($data, $metadata), + 'Trustly' => AlternativePaymentInstrument::from($data, $metadata), + 'Tupay' => AlternativePaymentInstrument::from($data, $metadata), + 'UPI' => AlternativePaymentInstrument::from($data, $metadata), + 'UPayCard' => AlternativePaymentInstrument::from($data, $metadata), + 'USD-coin' => AlternativePaymentInstrument::from($data, $metadata), + 'UniCrypt' => AlternativePaymentInstrument::from($data, $metadata), + 'VCreditos' => AlternativePaymentInstrument::from($data, $metadata), + 'VegaWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'VenusPoint' => AlternativePaymentInstrument::from($data, $metadata), + 'Viva' => AlternativePaymentInstrument::from($data, $metadata), + 'Wallet88' => AlternativePaymentInstrument::from($data, $metadata), + 'WeChat Pay' => AlternativePaymentInstrument::from($data, $metadata), + 'Webmoney' => AlternativePaymentInstrument::from($data, $metadata), + 'Webpay' => AlternativePaymentInstrument::from($data, $metadata), + 'Webpay Card' => AlternativePaymentInstrument::from($data, $metadata), + 'Webpay-2' => AlternativePaymentInstrument::from($data, $metadata), + 'XPay-P2P' => AlternativePaymentInstrument::from($data, $metadata), + 'XPay-QR' => AlternativePaymentInstrument::from($data, $metadata), + 'Yandex-money' => AlternativePaymentInstrument::from($data, $metadata), + 'Zimpler' => AlternativePaymentInstrument::from($data, $metadata), + 'Zip' => AlternativePaymentInstrument::from($data, $metadata), + 'Zotapay' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-2' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-3' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-4' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-5' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-6' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-7' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-8' => AlternativePaymentInstrument::from($data, $metadata), + 'bank-transfer-9' => AlternativePaymentInstrument::from($data, $metadata), + 'bitcoin' => AlternativePaymentInstrument::from($data, $metadata), + 'cash-deposit' => AlternativePaymentInstrument::from($data, $metadata), + 'cryptocurrency' => AlternativePaymentInstrument::from($data, $metadata), + 'domestic-cards' => AlternativePaymentInstrument::from($data, $metadata), + 'e-wallet' => AlternativePaymentInstrument::from($data, $metadata), + 'ePay.bg' => AlternativePaymentInstrument::from($data, $metadata), + 'eZeeWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'echeck' => AlternativePaymentInstrument::from($data, $metadata), + 'ecoPayz' => AlternativePaymentInstrument::from($data, $metadata), + 'ecoPayzTurkey' => AlternativePaymentInstrument::from($data, $metadata), + 'ecoVoucher' => AlternativePaymentInstrument::from($data, $metadata), + 'ezyEFT' => AlternativePaymentInstrument::from($data, $metadata), + 'iCashOne Voucher' => AlternativePaymentInstrument::from($data, $metadata), + 'iDEAL' => AlternativePaymentInstrument::from($data, $metadata), + 'iDebit' => AlternativePaymentInstrument::from($data, $metadata), + 'iWallet' => AlternativePaymentInstrument::from($data, $metadata), + 'instant-bank-transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'invoice' => AlternativePaymentInstrument::from($data, $metadata), + 'jpay' => AlternativePaymentInstrument::from($data, $metadata), + 'loonie' => AlternativePaymentInstrument::from($data, $metadata), + 'miscellaneous' => AlternativePaymentInstrument::from($data, $metadata), + 'online-bank-transfer' => AlternativePaymentInstrument::from($data, $metadata), + 'oriental-wallet' => AlternativePaymentInstrument::from($data, $metadata), + 'phone' => AlternativePaymentInstrument::from($data, $metadata), + 'rapyd-checkout' => AlternativePaymentInstrument::from($data, $metadata), + 'rebilly-hosted-payment-form' => AlternativePaymentInstrument::from($data, $metadata), + 'reverse-withdrawal' => AlternativePaymentInstrument::from($data, $metadata), + 'swift-dbt' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher-2' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher-3' => AlternativePaymentInstrument::from($data, $metadata), + 'voucher-4' => AlternativePaymentInstrument::from($data, $metadata), + 'cash' => CashInstrument::from($data, $metadata), + 'check' => CheckInstrument::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/TransactionQuery.php b/src/Model/TransactionQuery.php index 7b0713933..f5dc29293 100644 --- a/src/Model/TransactionQuery.php +++ b/src/Model/TransactionQuery.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionQuery implements JsonSerializable { + use HasMetadata; + public const RESULT_ABANDONED = 'abandoned'; public const RESULT_APPROVED = 'approved'; @@ -62,7 +65,7 @@ class TransactionQuery implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('transactionId', $data)) { $this->setTransactionId($data['transactionId']); @@ -79,11 +82,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTransactionId(): ?string diff --git a/src/Model/TransactionRefund.php b/src/Model/TransactionRefund.php index f1231b620..71a9560a4 100644 --- a/src/Model/TransactionRefund.php +++ b/src/Model/TransactionRefund.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionRefund implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('isProcessedOutside', $data)) { $this->setIsProcessedOutside($data['isProcessedOutside']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAmount(): float diff --git a/src/Model/TransactionTimeline.php b/src/Model/TransactionTimeline.php index f09227679..59208a8cc 100644 --- a/src/Model/TransactionTimeline.php +++ b/src/Model/TransactionTimeline.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionTimeline implements JsonSerializable { + use HasMetadata; + public const TYPE_AMOUNT_ADJUSTED = 'amount-adjusted'; public const TYPE_BLOCKLIST_MATCHED = 'blocklist-matched'; @@ -128,7 +131,7 @@ class TransactionTimeline implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -151,11 +154,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/TransactionUpdate.php b/src/Model/TransactionUpdate.php index e4a510899..929f9d58a 100644 --- a/src/Model/TransactionUpdate.php +++ b/src/Model/TransactionUpdate.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionUpdate implements JsonSerializable { + use HasMetadata; + public const RESULT_ABANDONED = 'abandoned'; public const RESULT_APPROVED = 'approved'; @@ -28,7 +31,7 @@ class TransactionUpdate implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('result', $data)) { $this->setResult($data['result']); @@ -39,11 +42,12 @@ public function __construct(array $data = []) if (array_key_exists('currency', $data)) { $this->setCurrency($data['currency']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResult(): string diff --git a/src/Model/TransactionsDataExport.php b/src/Model/TransactionsDataExport.php index 898e831d5..206f3a3c0 100644 --- a/src/Model/TransactionsDataExport.php +++ b/src/Model/TransactionsDataExport.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionsDataExport implements DataExport { + use HasMetadata; + public const FORMAT_CSV = 'csv'; public const FORMAT_JSON = 'json'; @@ -37,7 +40,7 @@ class TransactionsDataExport implements DataExport private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -90,11 +93,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getResource(): string @@ -234,15 +238,15 @@ public function getStatus(): ?string return $this->fields['status'] ?? null; } - public function getDateRange(): ?DataExportDateRange + public function getDateRange(): ?TransactionsDataExportDateRange { return $this->fields['dateRange'] ?? null; } - public function setDateRange(null|DataExportDateRange|array $dateRange): static + public function setDateRange(null|TransactionsDataExportDateRange|array $dateRange): static { - if ($dateRange !== null && !($dateRange instanceof DataExportDateRange)) { - $dateRange = DataExportDateRange::from($dateRange); + if ($dateRange !== null && !($dateRange instanceof TransactionsDataExportDateRange)) { + $dateRange = TransactionsDataExportDateRange::from($dateRange); } $this->fields['dateRange'] = $dateRange; diff --git a/src/Model/TransactionsDataExportDateRange.php b/src/Model/TransactionsDataExportDateRange.php new file mode 100644 index 000000000..6671fc7fc --- /dev/null +++ b/src/Model/TransactionsDataExportDateRange.php @@ -0,0 +1,96 @@ +setStart($data['start']); + } + if (array_key_exists('end', $data)) { + $this->setEnd($data['end']); + } + if (array_key_exists('field', $data)) { + $this->setField($data['field']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getStart(): string + { + return $this->fields['start']; + } + + public function setStart(string $start): static + { + $this->fields['start'] = $start; + + return $this; + } + + public function getEnd(): string + { + return $this->fields['end']; + } + + public function setEnd(string $end): static + { + $this->fields['end'] = $end; + + return $this; + } + + public function getField(): ?string + { + return $this->fields['field'] ?? null; + } + + public function setField(null|string $field): static + { + $this->fields['field'] = $field; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('start', $this->fields)) { + $data['start'] = $this->fields['start']; + } + if (array_key_exists('end', $this->fields)) { + $data['end'] = $this->fields['end']; + } + if (array_key_exists('field', $this->fields)) { + $data['field'] = $this->fields['field']; + } + + return $data; + } +} diff --git a/src/Model/TransactionsDataExportEmbedded.php b/src/Model/TransactionsDataExportEmbedded.php index be444bcfc..90fb8f49c 100644 --- a/src/Model/TransactionsDataExportEmbedded.php +++ b/src/Model/TransactionsDataExportEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TransactionsDataExportEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('file', $data)) { $this->setFile($data['file']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('user', $data)) { $this->setUser($data['user']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getFile(): ?File diff --git a/src/Model/TrialOnlyPlan.php b/src/Model/TrialOnlyPlan.php index 36442a5f3..2b6d9e93e 100644 --- a/src/Model/TrialOnlyPlan.php +++ b/src/Model/TrialOnlyPlan.php @@ -16,12 +16,15 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class TrialOnlyPlan implements Plan, FlexiblePlan { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -77,16 +80,17 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } - public function getId(): ?string + public function getId(): string { - return $this->fields['id'] ?? null; + return $this->fields['id']; } public function getName(): string @@ -243,17 +247,6 @@ public function getInvoiceTimeShift(): ?InvoiceTimeShift return $this->fields['invoiceTimeShift'] ?? null; } - public function setInvoiceTimeShift(null|InvoiceTimeShift|array $invoiceTimeShift): static - { - if ($invoiceTimeShift !== null && !($invoiceTimeShift instanceof InvoiceTimeShift)) { - $invoiceTimeShift = InvoiceTimeShift::from($invoiceTimeShift); - } - - $this->fields['invoiceTimeShift'] = $invoiceTimeShift; - - return $this; - } - public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -338,7 +331,7 @@ public function jsonSerialize(): array return $data; } - private function setId(null|string $id): static + private function setId(string $id): static { $this->fields['id'] = $id; @@ -366,6 +359,17 @@ private function setIsTrialOnly(null|bool $isTrialOnly): static return $this; } + private function setInvoiceTimeShift(null|InvoiceTimeShift|array $invoiceTimeShift): static + { + if ($invoiceTimeShift !== null && !($invoiceTimeShift instanceof InvoiceTimeShift)) { + $invoiceTimeShift = InvoiceTimeShift::from($invoiceTimeShift); + } + + $this->fields['invoiceTimeShift'] = $invoiceTimeShift; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/Triple000.php b/src/Model/Triple000.php index 74e2d5f47..7ddeae280 100644 --- a/src/Model/Triple000.php +++ b/src/Model/Triple000.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Triple000 extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Triple000', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): Triple000Credentials diff --git a/src/Model/Triple000Credentials.php b/src/Model/Triple000Credentials.php index 8a0eb8190..0af732df3 100644 --- a/src/Model/Triple000Credentials.php +++ b/src/Model/Triple000Credentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Triple000Credentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secretWord', $data)) { $this->setSecretWord($data['secretWord']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/Truevo.php b/src/Model/Truevo.php index 2ec2d4e34..175e64d0c 100644 --- a/src/Model/Truevo.php +++ b/src/Model/Truevo.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Truevo extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Truevo', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): TruevoCredentials diff --git a/src/Model/TruevoCredentials.php b/src/Model/TruevoCredentials.php index 8e49ace33..218f73df4 100644 --- a/src/Model/TruevoCredentials.php +++ b/src/Model/TruevoCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TruevoCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('mid', $data)) { $this->setMid($data['mid']); @@ -46,11 +49,12 @@ public function __construct(array $data = []) if (array_key_exists('ipnSecret', $data)) { $this->setIpnSecret($data['ipnSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMid(): string diff --git a/src/Model/Trustly.php b/src/Model/Trustly.php index eca15d7af..071497376 100644 --- a/src/Model/Trustly.php +++ b/src/Model/Trustly.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Trustly extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Trustly', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): TrustlyCredentials diff --git a/src/Model/TrustlyCredentials.php b/src/Model/TrustlyCredentials.php index 300211614..da11686a5 100644 --- a/src/Model/TrustlyCredentials.php +++ b/src/Model/TrustlyCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TrustlyCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/TrustsPay.php b/src/Model/TrustsPay.php index 7480c64e0..894f19133 100644 --- a/src/Model/TrustsPay.php +++ b/src/Model/TrustsPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class TrustsPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'TrustsPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): TrustsPayCredentials diff --git a/src/Model/TrustsPayCredentials.php b/src/Model/TrustsPayCredentials.php index 0697e0889..43ed03d85 100644 --- a/src/Model/TrustsPayCredentials.php +++ b/src/Model/TrustsPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TrustsPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantNo', $data)) { $this->setMerchantNo($data['merchantNo']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('signkey', $data)) { $this->setSignkey($data['signkey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantNo(): string diff --git a/src/Model/TwoColumnsTimelineTable.php b/src/Model/TwoColumnsTimelineTable.php index 70d18b746..06476b523 100644 --- a/src/Model/TwoColumnsTimelineTable.php +++ b/src/Model/TwoColumnsTimelineTable.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class TwoColumnsTimelineTable extends TimelineTable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'type' => 'two-columns', - ] + $data); + ] + $data, $metadata); if (array_key_exists('data', $data)) { $this->setData($data['data']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/TwoColumnsTimelineTableData.php b/src/Model/TwoColumnsTimelineTableData.php index e8e67eb22..fd6d31e9a 100644 --- a/src/Model/TwoColumnsTimelineTableData.php +++ b/src/Model/TwoColumnsTimelineTableData.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class TwoColumnsTimelineTableData implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('attribute', $data)) { $this->setAttribute($data['attribute']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('value', $data)) { $this->setValue($data['value']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getAttribute(): ?string diff --git a/src/Model/UPayCard.php b/src/Model/UPayCard.php index 55b5f8381..3f2c0ba07 100644 --- a/src/Model/UPayCard.php +++ b/src/Model/UPayCard.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class UPayCard extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'UPayCard', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): UPayCardCredentials diff --git a/src/Model/UPayCardCredentials.php b/src/Model/UPayCardCredentials.php index ff9841b3c..1e48e940b 100644 --- a/src/Model/UPayCardCredentials.php +++ b/src/Model/UPayCardCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UPayCardCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('receiver_account', $data)) { $this->setReceiverAccount($data['receiver_account']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('secret', $data)) { $this->setSecret($data['secret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getReceiverAccount(): string diff --git a/src/Model/UPayCardSettings.php b/src/Model/UPayCardSettings.php index 1eb0af9b5..3fabb05a5 100644 --- a/src/Model/UPayCardSettings.php +++ b/src/Model/UPayCardSettings.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UPayCardSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tolerancePercentage', $data)) { $this->setTolerancePercentage($data['tolerancePercentage']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTolerancePercentage(): int diff --git a/src/Model/USAePay.php b/src/Model/USAePay.php index 318b49439..e2c48a214 100644 --- a/src/Model/USAePay.php +++ b/src/Model/USAePay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class USAePay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'USAePay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): USAePayCredentials diff --git a/src/Model/USAePayCredentials.php b/src/Model/USAePayCredentials.php index 52ba4c789..caf2c1d53 100644 --- a/src/Model/USAePayCredentials.php +++ b/src/Model/USAePayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class USAePayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sourceKey', $data)) { $this->setSourceKey($data['sourceKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('pin', $data)) { $this->setPin($data['pin']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSourceKey(): string diff --git a/src/Model/Unlimit.php b/src/Model/Unlimit.php index 16b8dc996..640bc6ac5 100644 --- a/src/Model/Unlimit.php +++ b/src/Model/Unlimit.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Unlimit extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Unlimit', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): UnlimitCredentials diff --git a/src/Model/UnlimitCredentials.php b/src/Model/UnlimitCredentials.php index 72043faba..a00fb8b4d 100644 --- a/src/Model/UnlimitCredentials.php +++ b/src/Model/UnlimitCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UnlimitCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('terminalId', $data)) { $this->setTerminalId($data['terminalId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('ipnSecret', $data)) { $this->setIpnSecret($data['ipnSecret']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTerminalId(): string diff --git a/src/Model/UpcomingInvoice.php b/src/Model/UpcomingInvoice.php index af900d8ba..df271bcac 100644 --- a/src/Model/UpcomingInvoice.php +++ b/src/Model/UpcomingInvoice.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UpcomingInvoice implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -99,11 +102,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/UpcomingInvoiceDiscounts.php b/src/Model/UpcomingInvoiceDiscounts.php index b1bc5f09e..22991c2af 100644 --- a/src/Model/UpcomingInvoiceDiscounts.php +++ b/src/Model/UpcomingInvoiceDiscounts.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UpcomingInvoiceDiscounts implements JsonSerializable { + use HasMetadata; + public const CONTEXT_ITEMS = 'items'; public const CONTEXT_SHIPPING = 'shipping'; @@ -26,7 +29,7 @@ class UpcomingInvoiceDiscounts implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('couponId', $data)) { $this->setCouponId($data['couponId']); @@ -43,11 +46,12 @@ public function __construct(array $data = []) if (array_key_exists('context', $data)) { $this->setContext($data['context']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCouponId(): ?string diff --git a/src/Model/UpcomingInvoiceEmbedded.php b/src/Model/UpcomingInvoiceEmbedded.php index 309306c2d..69e2d032f 100644 --- a/src/Model/UpcomingInvoiceEmbedded.php +++ b/src/Model/UpcomingInvoiceEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UpcomingInvoiceEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('customer', $data)) { $this->setCustomer($data['customer']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('leadSource', $data)) { $this->setLeadSource($data['leadSource']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCustomer(): ?Customer diff --git a/src/Model/UpcomingInvoiceItem.php b/src/Model/UpcomingInvoiceItem.php index 5c74aad46..8702f27df 100644 --- a/src/Model/UpcomingInvoiceItem.php +++ b/src/Model/UpcomingInvoiceItem.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UpcomingInvoiceItem implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -75,11 +78,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/UpcomingInvoiceItemEmbedded.php b/src/Model/UpcomingInvoiceItemEmbedded.php index fccdf0296..c9430aeda 100644 --- a/src/Model/UpcomingInvoiceItemEmbedded.php +++ b/src/Model/UpcomingInvoiceItemEmbedded.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UpcomingInvoiceItemEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('product', $data)) { $this->setProduct($data['product']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('plan', $data)) { $this->setPlan($data['plan']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getProduct(): ?Product diff --git a/src/Model/Usage.php b/src/Model/Usage.php index e4c08b851..16c651419 100644 --- a/src/Model/Usage.php +++ b/src/Model/Usage.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Usage implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -54,11 +57,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/UsageLimits.php b/src/Model/UsageLimits.php index 3944c906a..326448c67 100644 --- a/src/Model/UsageLimits.php +++ b/src/Model/UsageLimits.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UsageLimits implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('softLimit', $data)) { $this->setSoftLimit($data['softLimit']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('trialLimit', $data)) { $this->setTrialLimit($data['trialLimit']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSoftLimit(): ?UsageLimitsSoftLimit diff --git a/src/Model/UsageLimitsHardLimit.php b/src/Model/UsageLimitsHardLimit.php index 5bcc0257d..b3b1d3496 100644 --- a/src/Model/UsageLimitsHardLimit.php +++ b/src/Model/UsageLimitsHardLimit.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UsageLimitsHardLimit implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getQuantity(): ?int diff --git a/src/Model/UsageLimitsSoftLimit.php b/src/Model/UsageLimitsSoftLimit.php index 789b749f3..9a23898f5 100644 --- a/src/Model/UsageLimitsSoftLimit.php +++ b/src/Model/UsageLimitsSoftLimit.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UsageLimitsSoftLimit implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('amount', $data)) { $this->setAmount($data['amount']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getQuantity(): ?int diff --git a/src/Model/UsageStatus.php b/src/Model/UsageStatus.php index 9a1d25588..6dfd1344d 100644 --- a/src/Model/UsageStatus.php +++ b/src/Model/UsageStatus.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UsageStatus implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('isSoftLimitReached', $data)) { $this->setIsSoftLimitReached($data['isSoftLimitReached']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('isTrialLimitReached', $data)) { $this->setIsTrialLimitReached($data['isTrialLimitReached']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getIsSoftLimitReached(): ?bool diff --git a/src/Model/User.php b/src/Model/User.php index af11cdfba..20833fdf6 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class User implements JsonSerializable { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -28,7 +31,7 @@ class User implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -87,11 +90,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/UserApplication.php b/src/Model/UserApplication.php index 03513b861..f6074bc6d 100644 --- a/src/Model/UserApplication.php +++ b/src/Model/UserApplication.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UserApplication implements JsonSerializable { + use HasMetadata; + public const STATUS_PENDING_APPROVAL = 'pending-approval'; public const STATUS_AVAILABLE = 'available'; @@ -84,7 +87,7 @@ class UserApplication implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -134,11 +137,12 @@ public function __construct(array $data = []) if (array_key_exists('_embedded', $data)) { $this->setEmbedded($data['_embedded']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/UserApplicationEmbedded.php b/src/Model/UserApplicationEmbedded.php index f320cd4af..1a5622bba 100644 --- a/src/Model/UserApplicationEmbedded.php +++ b/src/Model/UserApplicationEmbedded.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class UserApplicationEmbedded implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('applicationInstance', $data)) { $this->setApplicationInstance($data['applicationInstance']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getApplicationInstance(): ?ApplicationInstance diff --git a/src/Model/VCreditos.php b/src/Model/VCreditos.php index 4e2ec9ba8..7d8e14516 100644 --- a/src/Model/VCreditos.php +++ b/src/Model/VCreditos.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class VCreditos extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'VCreditos', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): VCreditosCredentials diff --git a/src/Model/VCreditosCredentials.php b/src/Model/VCreditosCredentials.php index 830e1cd9f..604557b9f 100644 --- a/src/Model/VCreditosCredentials.php +++ b/src/Model/VCreditosCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class VCreditosCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('publicKey', $data)) { $this->setPublicKey($data['publicKey']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('secretKey', $data)) { $this->setSecretKey($data['secretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPublicKey(): string diff --git a/src/Model/VCreditosSettings.php b/src/Model/VCreditosSettings.php index 2013b6737..5c0a66bb8 100644 --- a/src/Model/VCreditosSettings.php +++ b/src/Model/VCreditosSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class VCreditosSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantWebsiteLoginLabel', $data)) { $this->setMerchantWebsiteLoginLabel($data['merchantWebsiteLoginLabel']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantWebsiteLoginDescription', $data)) { $this->setMerchantWebsiteLoginDescription($data['merchantWebsiteLoginDescription']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantWebsiteLoginLabel(): ?string diff --git a/src/Model/ValueList.php b/src/Model/ValueList.php index 6dc747f9e..983426b03 100644 --- a/src/Model/ValueList.php +++ b/src/Model/ValueList.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ValueList implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -45,11 +48,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/VantivLitle.php b/src/Model/VantivLitle.php index 570bb61d7..7f2da9334 100644 --- a/src/Model/VantivLitle.php +++ b/src/Model/VantivLitle.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class VantivLitle extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'VantivLitle', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): VantivLitleCredentials diff --git a/src/Model/VantivLitleCredentials.php b/src/Model/VantivLitleCredentials.php index ec15acea2..285d9a138 100644 --- a/src/Model/VantivLitleCredentials.php +++ b/src/Model/VantivLitleCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class VantivLitleCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getUsername(): string diff --git a/src/Model/VaultedInstrument.php b/src/Model/VaultedInstrument.php index 90b1d736d..26e1bb0c2 100644 --- a/src/Model/VaultedInstrument.php +++ b/src/Model/VaultedInstrument.php @@ -14,401 +14,21 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class VaultedInstrument implements CustomerDefaultPaymentInstrument, TransactionPaymentInstrument { + use HasMetadata; + public const METHOD_PAYMENT_CARD = 'payment-card'; public const METHOD_ACH = 'ach'; - public const METHOD_CASH = 'cash'; - - public const METHOD_CHECK = 'check'; - public const METHOD_PAYPAL = 'paypal'; - public const METHOD_ADV_CASH = 'AdvCash'; - - public const METHOD_AERA = 'Aera'; - - public const METHOD_AFFIRM = 'Affirm'; - - public const METHOD_AFTERPAY = 'Afterpay'; - - public const METHOD_AIRCASH = 'Aircash'; - - public const METHOD_AIRPAY = 'Airpay'; - - public const METHOD_ALFA_CLICK = 'Alfa-click'; - - public const METHOD_ALIPAY = 'Alipay'; - - public const METHOD_AMAZON_PAY = 'AmazonPay'; - - public const METHOD_APPLE_PAY = 'Apple Pay'; - - public const METHOD_ASTRO_PAY_CARD = 'AstroPay Card'; - - public const METHOD_ASTRO_PAY_GO = 'AstroPay-GO'; - - public const METHOD_BANK_SEND = 'BankSEND'; - - public const METHOD_BANK_REFERENCED = 'BankReferenced'; - - public const METHOD_BANK_TRANSFER = 'bank-transfer'; - - public const METHOD_BANK_TRANSFER2 = 'bank-transfer-2'; - - public const METHOD_BANK_TRANSFER3 = 'bank-transfer-3'; - - public const METHOD_BANK_TRANSFER4 = 'bank-transfer-4'; - - public const METHOD_BANK_TRANSFER5 = 'bank-transfer-5'; - - public const METHOD_BANK_TRANSFER6 = 'bank-transfer-6'; - - public const METHOD_BANK_TRANSFER7 = 'bank-transfer-7'; - - public const METHOD_BANK_TRANSFER8 = 'bank-transfer-8'; - - public const METHOD_BANK_TRANSFER9 = 'bank-transfer-9'; - - public const METHOD_BALOTO = 'Baloto'; - - public const METHOD_BEELINE = 'Beeline'; - - public const METHOD_BELFIUS_DIRECT_NET = 'Belfius-direct-net'; - - public const METHOD_BITCOIN = 'bitcoin'; - - public const METHOD_BIZUM = 'Bizum'; - - public const METHOD_BLIK = 'Blik'; - - public const METHOD_BOLETO = 'Boleto'; - - public const METHOD_BOLETO2 = 'Boleto-2'; - - public const METHOD_BOLETO3 = 'Boleto-3'; - - public const METHOD_CASH_DEPOSIT = 'cash-deposit'; - - public const METHOD_CAS_HLIB = 'CASHlib'; - - public const METHOD_CASH_TO_CODE = 'CashToCode'; - - public const METHOD_CC_AVENUE = 'CCAvenue'; - - public const METHOD_CHINA_UNION_PAY = 'China UnionPay'; - - public const METHOD_CLEARPAY = 'Clearpay'; - - public const METHOD_CLEO = 'Cleo'; - - public const METHOD_COD_VOUCHER = 'CODVoucher'; - - public const METHOD_CONEKTA_OXXO = 'Conekta-oxxo'; - - public const METHOD_CONEKTA_SPEI = 'Conekta-spei'; - - public const METHOD_CRYPTOCURRENCY = 'cryptocurrency'; - - public const METHOD_CUPON_DE_PAGOS = 'Cupon-de-pagos'; - - public const METHOD_CYBER_SOURCE = 'CyberSource'; - - public const METHOD_DIMOCO_PAY_SMART = 'Dimoco-pay-smart'; - - public const METHOD_DIRECTA24_CARD = 'Directa24Card'; - - public const METHOD_DOMESTIC_CARDS = 'domestic-cards'; - - public const METHOD_EFECTY = 'Efecty'; - - public const METHOD_ECHECK = 'echeck'; - - public const METHOD_ECO_PAYZ = 'ecoPayz'; - - public const METHOD_ECO_PAYZ_TURKEY = 'ecoPayzTurkey'; - - public const METHOD_ECO_VOUCHER = 'ecoVoucher'; - - public const METHOD_EPS = 'EPS'; - - public const METHOD_E_PAY_BG = 'ePay.bg'; - - public const METHOD_ETHEREUM = 'Ethereum'; - - public const METHOD_E_WALLET = 'e-wallet'; - - public const METHOD_EZY_EFT = 'ezyEFT'; - - public const METHOD_E_ZEE_WALLET = 'eZeeWallet'; - - public const METHOD_FASTER_PAY = 'FasterPay'; - - public const METHOD_FLEXEPIN = 'Flexepin'; - - public const METHOD_GIROPAY = 'Giropay'; - - public const METHOD_GOOGLE_PAY = 'Google Pay'; - - public const METHOD_GPAYSAFE = 'Gpaysafe'; - - public const METHOD_I_CASH_ONE_VOUCHER = 'iCashOne Voucher'; - - public const METHOD_I_DEBIT = 'iDebit'; - - public const METHOD_I_DEAL = 'iDEAL'; - - public const METHOD_ING_HOMEPAY = 'ING-homepay'; - - public const METHOD_INOVAPAY_PIN = 'INOVAPAY-pin'; - - public const METHOD_INOVAPAY_WALLET = 'INOVAPAY-wallet'; - - public const METHOD_INSTA_DEBIT = 'InstaDebit'; - - public const METHOD_INSTANT_PAYMENTS = 'InstantPayments'; - - public const METHOD_INSTANT_BANK_TRANSFER = 'instant-bank-transfer'; - - public const METHOD_INTERAC_ONLINE = 'Interac-online'; - - public const METHOD_INTERAC_E_TRANSFER = 'Interac-eTransfer'; - - public const METHOD_INTERAC_EXPRESS_CONNECT = 'Interac-express-connect'; - - public const METHOD_INTERAC = 'Interac'; - - public const METHOD_INVOICE = 'invoice'; - - public const METHOD_I_WALLET = 'iWallet'; - - public const METHOD_JETON = 'Jeton'; - - public const METHOD_JETON_CASH = 'JetonCash'; - - public const METHOD_JPAY = 'jpay'; - - public const METHOD_KAKAO_PAY = 'KakaoPay'; - - public const METHOD_KHELOCARD = 'Khelocard'; - - public const METHOD_KLARNA = 'Klarna'; - - public const METHOD_KNOT = 'KNOT'; - - public const METHOD_LITECOIN = 'Litecoin'; - - public const METHOD_LOONIE = 'loonie'; - - public const METHOD_LPG_ONLINE = 'LPG-online'; - - public const METHOD_LPG_PAYMENT_CARD = 'LPG-payment-card'; - - public const METHOD_MATRIX = 'Matrix'; - - public const METHOD_MAXI_CASH = 'MaxiCash'; - - public const METHOD_MEGAFON = 'Megafon'; - - public const METHOD_MERCADO_PAGO = 'MercadoPago'; - - public const METHOD_MI_FINITY_E_WALLET = 'MiFinity-eWallet'; - - public const METHOD_MISCELLANEOUS = 'miscellaneous'; - - public const METHOD_MOBILE_PAY = 'MobilePay'; - - public const METHOD_MULTIBANCO = 'Multibanco'; - - public const METHOD_BANCONTACT = 'Bancontact'; - - public const METHOD_BANCONTACT_MOBILE = 'Bancontact-mobile'; - - public const METHOD_MTS = 'MTS'; - - public const METHOD_MUCH_BETTER = 'MuchBetter'; - - public const METHOD_MUCH_BETTER_VOUCHER = 'MuchBetterVoucher'; - - public const METHOD_MY_FATOORAH = 'MyFatoorah'; - - public const METHOD_NEOSURF = 'Neosurf'; - - public const METHOD_NETBANKING = 'Netbanking'; - - public const METHOD_NETELLER = 'Neteller'; - - public const METHOD_NORDEA_SOLO = 'Nordea-Solo'; - - public const METHOD_NORDIK_COIN = 'NordikCoin'; - - public const METHOD_OCHA_PAY = 'OchaPay'; - - public const METHOD_ONLINE_BANK_TRANSFER = 'online-bank-transfer'; - - public const METHOD_ONLINEUEBERWEISEN = 'Onlineueberweisen'; - - public const METHOD_ORIENTAL_WALLET = 'oriental-wallet'; - - public const METHOD_OXXO = 'OXXO'; - - public const METHOD_P24 = 'P24'; - - public const METHOD_PAGADITO = 'Pagadito'; - - public const METHOD_PAGO_EFFECTIVO = 'PagoEffectivo'; - - public const METHOD_PAGSMILE_LOTTERY = 'Pagsmile-lottery'; - - public const METHOD_PAGSMILE_DEPOSIT_EXPRESS = 'Pagsmile-deposit-express'; - - public const METHOD_PAY_CASH = 'PayCash'; - - public const METHOD_PAYCO = 'Payco'; - - public const METHOD_PAYEER = 'Payeer'; - - public const METHOD_PAYMENT_ASIA_CRYPTO = 'PaymentAsia-crypto'; - - public const METHOD_PAYSAFECARD = 'Paysafecard'; - - public const METHOD_PAY_TABS = 'PayTabs'; - - public const METHOD_PAY4_FUN = 'Pay4Fun'; - - public const METHOD_PAYNOTE = 'Paynote'; - - public const METHOD_PAYMERO = 'Paymero'; - - public const METHOD_PAYMERO_QR = 'Paymero-QR'; - - public const METHOD_PAY_U = 'PayU'; - - public const METHOD_PAY_U_LATAM = 'PayULatam'; - - public const METHOD_PERFECT_MONEY = 'Perfect-money'; - - public const METHOD_PIASTRIX = 'Piastrix'; - - public const METHOD_PIX = 'PIX'; - - public const METHOD_PIN_PAY = 'PinPay'; - - public const METHOD_PHONE = 'phone'; - - public const METHOD_PHONE_PE = 'PhonePe'; - - public const METHOD_PO_LI = 'POLi'; - - public const METHOD_POST_FINANCE_CARD = 'PostFinance-card'; - - public const METHOD_POST_FINANCE_E_FINANCE = 'PostFinance-e-finance'; - - public const METHOD_QIWI = 'QIWI'; - - public const METHOD_Q_PAY = 'QPay'; - - public const METHOD_QQ_PAY = 'QQPay'; - - public const METHOD_RAPYD_CHECKOUT = 'rapyd-checkout'; - - public const METHOD_REBILLY_HOSTED_PAYMENT_FORM = 'rebilly-hosted-payment-form'; - - public const METHOD_RESURS = 'Resurs'; - - public const METHOD_REVERSE_WITHDRAWAL = 'reverse-withdrawal'; - - public const METHOD_RIPPLE = 'Ripple'; - - public const METHOD_SAFETY_PAY = 'SafetyPay'; - - public const METHOD_SAMSUNG_PAY = 'Samsung Pay'; - - public const METHOD_SEPA = 'SEPA'; - - public const METHOD_SIIRTO = 'Siirto'; - - public const METHOD_SKRILL = 'Skrill'; - - public const METHOD_SKRILL_RAPID_TRANSFER = 'Skrill Rapid Transfer'; - - public const METHOD_SMS_VOUCHER = 'SMSVoucher'; - - public const METHOD_SOFORT = 'Sofort'; - - public const METHOD_SPARK_PAY = 'SparkPay'; - - public const METHOD_SPEI = 'SPEI'; - - public const METHOD_SWIFT_DBT = 'swift-dbt'; - - public const METHOD_TELE2 = 'Tele2'; - - public const METHOD_TELR = 'Telr'; - - public const METHOD_TERMINALY_RF = 'Terminaly-RF'; - - public const METHOD_TETHER = 'Tether'; - - public const METHOD_TODITO_CASH_CARD = 'ToditoCash-card'; - - public const METHOD_TRUSTLY = 'Trustly'; - - public const METHOD_TUPAY = 'Tupay'; - - public const METHOD_TWINT = 'TWINT'; - - public const METHOD_UNI_CRYPT = 'UniCrypt'; - - public const METHOD_U_PAY_CARD = 'UPayCard'; - - public const METHOD_UPI = 'UPI'; - - public const METHOD_USD_COIN = 'USD-coin'; - - public const METHOD_V_CREDITOS = 'VCreditos'; - - public const METHOD_VEGA_WALLET = 'VegaWallet'; - - public const METHOD_VENUS_POINT = 'VenusPoint'; - - public const METHOD_VOUCHER = 'voucher'; - - public const METHOD_VOUCHER2 = 'voucher-2'; - - public const METHOD_VOUCHER3 = 'voucher-3'; - - public const METHOD_VOUCHER4 = 'voucher-4'; - - public const METHOD_WALLET88 = 'Wallet88'; - - public const METHOD_WEBMONEY = 'Webmoney'; - - public const METHOD_WEBPAY = 'Webpay'; - - public const METHOD_WEBPAY2 = 'Webpay-2'; - - public const METHOD_WEBPAY_CARD = 'Webpay Card'; - - public const METHOD_WE_CHAT_PAY = 'WeChat Pay'; - - public const METHOD_X_PAY_P2_P = 'XPay-P2P'; - - public const METHOD_X_PAY_QR = 'XPay-QR'; - - public const METHOD_YANDEX_MONEY = 'Yandex-money'; - - public const METHOD_ZOTAPAY = 'Zotapay'; - - public const METHOD_ZIMPLER = 'Zimpler'; - - public const METHOD_ZIP = 'Zip'; - private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('method', $data)) { $this->setMethod($data['method']); @@ -416,11 +36,12 @@ public function __construct(array $data = []) if (array_key_exists('paymentInstrumentId', $data)) { $this->setPaymentInstrumentId($data['paymentInstrumentId']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMethod(): string diff --git a/src/Model/VegaWallet.php b/src/Model/VegaWallet.php index a633219af..343af7cae 100644 --- a/src/Model/VegaWallet.php +++ b/src/Model/VegaWallet.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class VegaWallet extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'VegaWallet', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): VegaWalletCredentials diff --git a/src/Model/VegaWalletCredentials.php b/src/Model/VegaWalletCredentials.php index 0f32dba01..59328c556 100644 --- a/src/Model/VegaWalletCredentials.php +++ b/src/Model/VegaWalletCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class VegaWalletCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,15 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + if (array_key_exists('payoutPassword', $data)) { + $this->setPayoutPassword($data['payoutPassword']); + } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string @@ -59,6 +66,18 @@ public function setPassword(string $password): static return $this; } + public function getPayoutPassword(): ?string + { + return $this->fields['payoutPassword'] ?? null; + } + + public function setPayoutPassword(null|string $payoutPassword): static + { + $this->fields['payoutPassword'] = $payoutPassword; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -68,6 +87,9 @@ public function jsonSerialize(): array if (array_key_exists('password', $this->fields)) { $data['password'] = $this->fields['password']; } + if (array_key_exists('payoutPassword', $this->fields)) { + $data['payoutPassword'] = $this->fields['payoutPassword']; + } return $data; } diff --git a/src/Model/VegaaH.php b/src/Model/VegaaH.php index 56589cc90..71e90d0cf 100644 --- a/src/Model/VegaaH.php +++ b/src/Model/VegaaH.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class VegaaH extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'vegaaH', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): VegaaHCredentials diff --git a/src/Model/VegaaHCredentials.php b/src/Model/VegaaHCredentials.php index 7599021a6..4df984c56 100644 --- a/src/Model/VegaaHCredentials.php +++ b/src/Model/VegaaHCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class VegaaHCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('terminalId', $data)) { $this->setTerminalId($data['terminalId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTerminalId(): string diff --git a/src/Model/Viva.php b/src/Model/Viva.php new file mode 100644 index 000000000..489a46a61 --- /dev/null +++ b/src/Model/Viva.php @@ -0,0 +1,89 @@ + 'Viva', + ] + $data, $metadata); + + if (array_key_exists('credentials', $data)) { + $this->setCredentials($data['credentials']); + } + if (array_key_exists('settings', $data)) { + $this->setSettings($data['settings']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getCredentials(): VivaCredentials + { + return $this->fields['credentials']; + } + + public function setCredentials(VivaCredentials|array $credentials): static + { + if (!($credentials instanceof VivaCredentials)) { + $credentials = VivaCredentials::from($credentials); + } + + $this->fields['credentials'] = $credentials; + + return $this; + } + + public function getSettings(): ?VivaSettings + { + return $this->fields['settings'] ?? null; + } + + public function setSettings(null|VivaSettings|array $settings): static + { + if ($settings !== null && !($settings instanceof VivaSettings)) { + $settings = VivaSettings::from($settings); + } + + $this->fields['settings'] = $settings; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('credentials', $this->fields)) { + $data['credentials'] = $this->fields['credentials']->jsonSerialize(); + } + if (array_key_exists('settings', $this->fields)) { + $data['settings'] = $this->fields['settings']?->jsonSerialize(); + } + + return parent::jsonSerialize() + $data; + } +} diff --git a/src/Model/VivaCredentials.php b/src/Model/VivaCredentials.php new file mode 100644 index 000000000..5497c243b --- /dev/null +++ b/src/Model/VivaCredentials.php @@ -0,0 +1,114 @@ +setClientId($data['clientId']); + } + if (array_key_exists('clientSecret', $data)) { + $this->setClientSecret($data['clientSecret']); + } + if (array_key_exists('merchantId', $data)) { + $this->setMerchantId($data['merchantId']); + } + if (array_key_exists('apiKey', $data)) { + $this->setApiKey($data['apiKey']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getClientId(): string + { + return $this->fields['clientId']; + } + + public function setClientId(string $clientId): static + { + $this->fields['clientId'] = $clientId; + + return $this; + } + + public function getClientSecret(): string + { + return $this->fields['clientSecret']; + } + + public function setClientSecret(string $clientSecret): static + { + $this->fields['clientSecret'] = $clientSecret; + + return $this; + } + + public function getMerchantId(): string + { + return $this->fields['merchantId']; + } + + public function setMerchantId(string $merchantId): static + { + $this->fields['merchantId'] = $merchantId; + + return $this; + } + + public function getApiKey(): string + { + return $this->fields['apiKey']; + } + + public function setApiKey(string $apiKey): static + { + $this->fields['apiKey'] = $apiKey; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('clientId', $this->fields)) { + $data['clientId'] = $this->fields['clientId']; + } + if (array_key_exists('clientSecret', $this->fields)) { + $data['clientSecret'] = $this->fields['clientSecret']; + } + if (array_key_exists('merchantId', $this->fields)) { + $data['merchantId'] = $this->fields['merchantId']; + } + if (array_key_exists('apiKey', $this->fields)) { + $data['apiKey'] = $this->fields['apiKey']; + } + + return $data; + } +} diff --git a/src/Model/VivaSettings.php b/src/Model/VivaSettings.php new file mode 100644 index 000000000..553a25e93 --- /dev/null +++ b/src/Model/VivaSettings.php @@ -0,0 +1,78 @@ +setSourceCode($data['sourceCode']); + } + if (array_key_exists('customerTransaction', $data)) { + $this->setCustomerTransaction($data['customerTransaction']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getSourceCode(): ?string + { + return $this->fields['sourceCode'] ?? null; + } + + public function setSourceCode(null|string $sourceCode): static + { + $this->fields['sourceCode'] = $sourceCode; + + return $this; + } + + public function getCustomerTransaction(): ?string + { + return $this->fields['customerTransaction'] ?? null; + } + + public function setCustomerTransaction(null|string $customerTransaction): static + { + $this->fields['customerTransaction'] = $customerTransaction; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('sourceCode', $this->fields)) { + $data['sourceCode'] = $this->fields['sourceCode']; + } + if (array_key_exists('customerTransaction', $this->fields)) { + $data['customerTransaction'] = $this->fields['customerTransaction']; + } + + return $data; + } +} diff --git a/src/Model/Wallet88.php b/src/Model/Wallet88.php index ea6fb9c62..98393da3c 100644 --- a/src/Model/Wallet88.php +++ b/src/Model/Wallet88.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Wallet88 extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Wallet88', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -30,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): Wallet88Credentials diff --git a/src/Model/Wallet88Credentials.php b/src/Model/Wallet88Credentials.php index 848f05587..a1142a7af 100644 --- a/src/Model/Wallet88Credentials.php +++ b/src/Model/Wallet88Credentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Wallet88Credentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('sid', $data)) { $this->setSid($data['sid']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('rcode', $data)) { $this->setRcode($data['rcode']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getSid(): string diff --git a/src/Model/Wallet88Settings.php b/src/Model/Wallet88Settings.php index 808a1dd97..4bf323a74 100644 --- a/src/Model/Wallet88Settings.php +++ b/src/Model/Wallet88Settings.php @@ -15,25 +15,29 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Wallet88Settings implements JsonSerializable { + use HasMetadata; + public const PAYMENT_CARD_METHOD_CREDITCARD = 'creditcard'; public const PAYMENT_CARD_METHOD_MASTERCARD = 'mastercard'; private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('paymentCardMethod', $data)) { $this->setPaymentCardMethod($data['paymentCardMethod']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getPaymentCardMethod(): ?string diff --git a/src/Model/Walpay.php b/src/Model/Walpay.php index 707539020..d97a70ecd 100644 --- a/src/Model/Walpay.php +++ b/src/Model/Walpay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Walpay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Walpay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): WalpayCredentials diff --git a/src/Model/WalpayCredentials.php b/src/Model/WalpayCredentials.php index 2fa4f2fd5..e4bc6752b 100644 --- a/src/Model/WalpayCredentials.php +++ b/src/Model/WalpayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WalpayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantName', $data)) { $this->setMerchantName($data['merchantName']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantPin', $data)) { $this->setMerchantPin($data['merchantPin']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantName(): string diff --git a/src/Model/WebhookAuthorizationBasic.php b/src/Model/WebhookAuthorizationBasic.php index 6bdb035e9..73c4be718 100644 --- a/src/Model/WebhookAuthorizationBasic.php +++ b/src/Model/WebhookAuthorizationBasic.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class WebhookAuthorizationBasic implements WebhookAuthorization { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/WebhookAuthorizationDigest.php b/src/Model/WebhookAuthorizationDigest.php index d42125169..affa79db3 100644 --- a/src/Model/WebhookAuthorizationDigest.php +++ b/src/Model/WebhookAuthorizationDigest.php @@ -14,11 +14,15 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class WebhookAuthorizationDigest implements WebhookAuthorization { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('username', $data)) { $this->setUsername($data['username']); @@ -26,11 +30,12 @@ public function __construct(array $data = []) if (array_key_exists('password', $data)) { $this->setPassword($data['password']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/WebhookAuthorizationFactory.php b/src/Model/WebhookAuthorizationFactory.php index 8c6491074..08c65e66d 100644 --- a/src/Model/WebhookAuthorizationFactory.php +++ b/src/Model/WebhookAuthorizationFactory.php @@ -18,12 +18,12 @@ class WebhookAuthorizationFactory { - public static function from(array $data = []): WebhookAuthorization + public static function from(array $data = [], array $metadata = []): WebhookAuthorization { return match ($data['type']) { - 'basic' => WebhookAuthorizationBasic::from($data), - 'digest' => WebhookAuthorizationDigest::from($data), - 'none' => WebhookAuthorizationNone::from($data), + 'basic' => WebhookAuthorizationBasic::from($data, $metadata), + 'digest' => WebhookAuthorizationDigest::from($data, $metadata), + 'none' => WebhookAuthorizationNone::from($data, $metadata), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/WebhookAuthorizationNone.php b/src/Model/WebhookAuthorizationNone.php index 67b5f0135..89968351e 100644 --- a/src/Model/WebhookAuthorizationNone.php +++ b/src/Model/WebhookAuthorizationNone.php @@ -14,15 +14,20 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class WebhookAuthorizationNone implements WebhookAuthorization { - public function __construct(array $data = []) + use HasMetadata; + + public function __construct(array $data = [], array $metadata = []) { + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/WebhookCredential.php b/src/Model/WebhookCredential.php index 626956cee..e4c6da636 100644 --- a/src/Model/WebhookCredential.php +++ b/src/Model/WebhookCredential.php @@ -16,9 +16,12 @@ use DateTimeImmutable; use DateTimeInterface; +use Rebilly\Sdk\Trait\HasMetadata; class WebhookCredential implements ServiceCredential { + use HasMetadata; + public const STATUS_ACTIVE = 'active'; public const STATUS_INACTIVE = 'inactive'; @@ -27,7 +30,7 @@ class WebhookCredential implements ServiceCredential private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -47,11 +50,12 @@ public function __construct(array $data = []) if (array_key_exists('auth', $data)) { $this->setAuth($data['auth']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getType(): string diff --git a/src/Model/WebhookTracking.php b/src/Model/WebhookTracking.php index 2be129807..0392eb885 100644 --- a/src/Model/WebhookTracking.php +++ b/src/Model/WebhookTracking.php @@ -17,9 +17,12 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebhookTracking implements JsonSerializable { + use HasMetadata; + public const EVENT_TYPE_AML_LIST_POSSIBLY_MATCHED = 'aml-list-possibly-matched'; public const EVENT_TYPE_APPLICATION_INSTANCE_DISABLED = 'application-instance-disabled'; @@ -262,7 +265,7 @@ class WebhookTracking implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -321,11 +324,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/Website.php b/src/Model/Website.php index 708328b7f..947009ea5 100644 --- a/src/Model/Website.php +++ b/src/Model/Website.php @@ -17,12 +17,15 @@ use DateTimeImmutable; use DateTimeInterface; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class Website implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('id', $data)) { $this->setId($data['id']); @@ -63,11 +66,12 @@ public function __construct(array $data = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getId(): ?string diff --git a/src/Model/WebsiteSettings.php b/src/Model/WebsiteSettings.php index ef18e55b4..ed04f4cf0 100644 --- a/src/Model/WebsiteSettings.php +++ b/src/Model/WebsiteSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebsiteSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('depositForm', $data)) { $this->setDepositForm($data['depositForm']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('amplitude', $data)) { $this->setAmplitude($data['amplitude']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDepositForm(): ?WebsiteSettingsDepositForm diff --git a/src/Model/WebsiteSettingsAmplitude.php b/src/Model/WebsiteSettingsAmplitude.php index d3b648a3a..8923a256c 100644 --- a/src/Model/WebsiteSettingsAmplitude.php +++ b/src/Model/WebsiteSettingsAmplitude.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebsiteSettingsAmplitude implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('tracking', $data)) { $this->setTracking($data['tracking']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTracking(): ?bool diff --git a/src/Model/WebsiteSettingsDepositForm.php b/src/Model/WebsiteSettingsDepositForm.php index 654477349..2ea8ac6cd 100644 --- a/src/Model/WebsiteSettingsDepositForm.php +++ b/src/Model/WebsiteSettingsDepositForm.php @@ -15,21 +15,25 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebsiteSettingsDepositForm implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('theme', $data)) { $this->setTheme($data['theme']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getTheme(): ?WebsiteSettingsDepositFormTheme diff --git a/src/Model/WebsiteSettingsDepositFormTheme.php b/src/Model/WebsiteSettingsDepositFormTheme.php index a5ce7eab6..8b5b48cfa 100644 --- a/src/Model/WebsiteSettingsDepositFormTheme.php +++ b/src/Model/WebsiteSettingsDepositFormTheme.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebsiteSettingsDepositFormTheme implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('colorPrimary', $data)) { $this->setColorPrimary($data['colorPrimary']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('buttonTemplate', $data)) { $this->setButtonTemplate($data['buttonTemplate']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getColorPrimary(): ?string diff --git a/src/Model/WebsiteSettingsPaymentForm.php b/src/Model/WebsiteSettingsPaymentForm.php index 26189fd72..908b6de4b 100644 --- a/src/Model/WebsiteSettingsPaymentForm.php +++ b/src/Model/WebsiteSettingsPaymentForm.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebsiteSettingsPaymentForm implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('css', $data)) { $this->setCss($data['css']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('features', $data)) { $this->setFeatures($data['features']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCss(): ?string diff --git a/src/Model/WebsiteSettingsPaymentFormFeatures.php b/src/Model/WebsiteSettingsPaymentFormFeatures.php index bc53a5031..f8e472e3f 100644 --- a/src/Model/WebsiteSettingsPaymentFormFeatures.php +++ b/src/Model/WebsiteSettingsPaymentFormFeatures.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WebsiteSettingsPaymentFormFeatures implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('showCoupons', $data)) { $this->setShowCoupons($data['showCoupons']); @@ -34,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('hideZeroAmountSummaryItems', $data)) { $this->setHideZeroAmountSummaryItems($data['hideZeroAmountSummaryItems']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } /** diff --git a/src/Model/WesternUnion.php b/src/Model/WesternUnion.php index 29adc4864..fb7f881da 100644 --- a/src/Model/WesternUnion.php +++ b/src/Model/WesternUnion.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class WesternUnion extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'WesternUnion', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): WesternUnionCredentials diff --git a/src/Model/WesternUnionCredentials.php b/src/Model/WesternUnionCredentials.php index 61d75e962..7727e1a17 100644 --- a/src/Model/WesternUnionCredentials.php +++ b/src/Model/WesternUnionCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WesternUnionCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('clientId', $data)) { $this->setClientId($data['clientId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('certificateSerialNumber', $data)) { $this->setCertificateSerialNumber($data['certificateSerialNumber']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getClientId(): string diff --git a/src/Model/Wirecard.php b/src/Model/Wirecard.php index de7ca84aa..1c89631d4 100644 --- a/src/Model/Wirecard.php +++ b/src/Model/Wirecard.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Wirecard extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Wirecard', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): WirecardCredentials diff --git a/src/Model/WirecardCredentials.php b/src/Model/WirecardCredentials.php index 31766d560..cac6cc477 100644 --- a/src/Model/WirecardCredentials.php +++ b/src/Model/WirecardCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WirecardCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantUsername', $data)) { $this->setMerchantUsername($data['merchantUsername']); @@ -40,11 +43,12 @@ public function __construct(array $data = []) if (array_key_exists('sftpPrivateKey', $data)) { $this->setSftpPrivateKey($data['sftpPrivateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantUsername(): string diff --git a/src/Model/WorldlineAtosFrankfurt.php b/src/Model/WorldlineAtosFrankfurt.php index 0989513eb..b9f338bbd 100644 --- a/src/Model/WorldlineAtosFrankfurt.php +++ b/src/Model/WorldlineAtosFrankfurt.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class WorldlineAtosFrankfurt extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'WorldlineAtosFrankfurt', - ] + $data); + ] + $data, $metadata); if (array_key_exists('threeDSecureServer', $data)) { $this->setThreeDSecureServer($data['threeDSecureServer']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getThreeDSecureServer(): ?ThreeDSecureIO3dsServer diff --git a/src/Model/WorldlineAtosFrankfurtCredentials.php b/src/Model/WorldlineAtosFrankfurtCredentials.php index 7d96a51a5..e1007d062 100644 --- a/src/Model/WorldlineAtosFrankfurtCredentials.php +++ b/src/Model/WorldlineAtosFrankfurtCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WorldlineAtosFrankfurtCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('cardAcceptorIdCode', $data)) { $this->setCardAcceptorIdCode($data['cardAcceptorIdCode']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCardAcceptorIdCode(): string diff --git a/src/Model/WorldlineAtosFrankfurtSettings.php b/src/Model/WorldlineAtosFrankfurtSettings.php index de7d5156a..612c956bd 100644 --- a/src/Model/WorldlineAtosFrankfurtSettings.php +++ b/src/Model/WorldlineAtosFrankfurtSettings.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WorldlineAtosFrankfurtSettings implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('cardAcceptorName', $data)) { $this->setCardAcceptorName($data['cardAcceptorName']); @@ -37,11 +40,12 @@ public function __construct(array $data = []) if (array_key_exists('useMtls', $data)) { $this->setUseMtls($data['useMtls']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCardAcceptorName(): string diff --git a/src/Model/Worldpay.php b/src/Model/Worldpay.php index c4fd2133b..7b331f20e 100644 --- a/src/Model/Worldpay.php +++ b/src/Model/Worldpay.php @@ -14,15 +14,19 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Worldpay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Worldpay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); @@ -33,11 +37,12 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): WorldpayCredentials diff --git a/src/Model/WorldpayCredentials.php b/src/Model/WorldpayCredentials.php index 53013c99e..7bf2c5851 100644 --- a/src/Model/WorldpayCredentials.php +++ b/src/Model/WorldpayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WorldpayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantCode', $data)) { $this->setMerchantCode($data['merchantCode']); @@ -49,11 +52,12 @@ public function __construct(array $data = []) if (array_key_exists('sftpKeyPassphrase', $data)) { $this->setSftpKeyPassphrase($data['sftpKeyPassphrase']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantCode(): string diff --git a/src/Model/WorldpaySettings.php b/src/Model/WorldpaySettings.php index 96d4632a2..2b4e38d85 100644 --- a/src/Model/WorldpaySettings.php +++ b/src/Model/WorldpaySettings.php @@ -15,9 +15,12 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class WorldpaySettings implements JsonSerializable { + use HasMetadata; + public const ENFORCE_STORED_CREDENTIALS_DISABLED = 'disabled'; public const ENFORCE_STORED_CREDENTIALS_MIT_ENABLED = 'mit-enabled'; @@ -42,7 +45,7 @@ class WorldpaySettings implements JsonSerializable private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('delay', $data)) { $this->setDelay($data['delay']); @@ -53,11 +56,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantInitiatedReason', $data)) { $this->setMerchantInitiatedReason($data['merchantInitiatedReason']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getDelay(): ?int diff --git a/src/Model/XPay.php b/src/Model/XPay.php index 66c24eb2c..9d9757deb 100644 --- a/src/Model/XPay.php +++ b/src/Model/XPay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class XPay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'XPay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): XPayCredentials diff --git a/src/Model/XPayCredentials.php b/src/Model/XPayCredentials.php index 0fc69d5c1..4ded1d9c9 100644 --- a/src/Model/XPayCredentials.php +++ b/src/Model/XPayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class XPayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('encryptionKey', $data)) { $this->setEncryptionKey($data['encryptionKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Zimpler.php b/src/Model/Zimpler.php index 69ea83d20..7619539ee 100644 --- a/src/Model/Zimpler.php +++ b/src/Model/Zimpler.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Zimpler extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Zimpler', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ZimplerCredentials diff --git a/src/Model/ZimplerCredentials.php b/src/Model/ZimplerCredentials.php index 771b0d553..d9eed5ad2 100644 --- a/src/Model/ZimplerCredentials.php +++ b/src/Model/ZimplerCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ZimplerCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('merchantId', $data)) { $this->setMerchantId($data['merchantId']); @@ -28,11 +31,12 @@ public function __construct(array $data = []) if (array_key_exists('apiKey', $data)) { $this->setApiKey($data['apiKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getMerchantId(): string diff --git a/src/Model/Zotapay.php b/src/Model/Zotapay.php index 0cd61050d..5c864ec7d 100644 --- a/src/Model/Zotapay.php +++ b/src/Model/Zotapay.php @@ -14,24 +14,29 @@ namespace Rebilly\Sdk\Model; +use Rebilly\Sdk\Trait\HasMetadata; + class Zotapay extends GatewayAccount { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { parent::__construct([ 'gatewayName' => 'Zotapay', - ] + $data); + ] + $data, $metadata); if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getCredentials(): ZotapayCredentials diff --git a/src/Model/ZotapayCredentials.php b/src/Model/ZotapayCredentials.php index 612c04390..4afc16b64 100644 --- a/src/Model/ZotapayCredentials.php +++ b/src/Model/ZotapayCredentials.php @@ -15,12 +15,15 @@ namespace Rebilly\Sdk\Model; use JsonSerializable; +use Rebilly\Sdk\Trait\HasMetadata; class ZotapayCredentials implements JsonSerializable { + use HasMetadata; + private array $fields = []; - public function __construct(array $data = []) + public function __construct(array $data = [], array $metadata = []) { if (array_key_exists('endpointId', $data)) { $this->setEndpointId($data['endpointId']); @@ -31,11 +34,12 @@ public function __construct(array $data = []) if (array_key_exists('merchantSecretKey', $data)) { $this->setMerchantSecretKey($data['merchantSecretKey']); } + $this->setMetadata($metadata); } - public static function from(array $data = []): self + public static function from(array $data = [], array $metadata = []): self { - return new self($data); + return new self($data, $metadata); } public function getEndpointId(): string diff --git a/src/Service.php b/src/Service.php index e7d94b438..0f450ebb1 100644 --- a/src/Service.php +++ b/src/Service.php @@ -160,6 +160,8 @@ class Service private Api\PayoutRequestAllocationsApi $payoutRequestAllocations; + private Api\PayoutRequestBatchesApi $payoutRequestBatches; + private Api\ProfileApi $profile; private Api\PreviewsApi $previews; @@ -265,6 +267,7 @@ public function __construct(?Client $client = null, array $config = []) $this->payoutRequests = new Api\PayoutRequestsApi($this->client); $this->payoutRequestsV2 = new Api\PayoutRequestsV2Api($this->client); $this->payoutRequestAllocations = new Api\PayoutRequestAllocationsApi($this->client); + $this->payoutRequestBatches = new Api\PayoutRequestBatchesApi($this->client); $this->profile = new Api\ProfileApi($this->client); $this->previews = new Api\PreviewsApi($this->client); $this->roles = new Api\RolesApi($this->client); @@ -638,6 +641,11 @@ public function payoutRequestAllocations(): Api\PayoutRequestAllocationsApi return $this->payoutRequestAllocations; } + public function payoutRequestBatches(): Api\PayoutRequestBatchesApi + { + return $this->payoutRequestBatches; + } + public function profile(): Api\ProfileApi { return $this->profile; diff --git a/src/Trait/HasMetadata.php b/src/Trait/HasMetadata.php new file mode 100644 index 000000000..4bcd37592 --- /dev/null +++ b/src/Trait/HasMetadata.php @@ -0,0 +1,55 @@ +metadata; + } + + /** + * Get a header value from metadata. + * + * @param string $name + * @return null|array + */ + public function getHeader(string $name): ?array + { + return $this->metadata['headers'][$name] ?? null; + } + + /** + * Set the metadata array. + * + * @param array $metadata + * @return void + */ + public function setMetadata(array $metadata): void + { + $this->metadata = $metadata; + } +}