From de72bbf8daf64692084fa18f86741a734247b814 Mon Sep 17 00:00:00 2001 From: rebilly-machine-user Date: Thu, 25 Jun 2026 14:14:21 +0000 Subject: [PATCH] update SDK from api-definitions --- .changeset/big-rivers-yawn.md | 33 +++ .changeset/bright-coins-retire.md | 39 +++ .changeset/clean-seahorses-invent.md | 26 ++ .changeset/forty-insects-fail.md | 14 + .changeset/nervous-falcons-stare.md | 26 ++ .changeset/perfect-numbers-battle.md | 27 ++ .changeset/quick-zebras-sell.md | 34 +++ .changeset/rotten-tools-protect.md | 34 +++ .changeset/sharp-bottles-repair.md | 26 ++ .changeset/slimy-ducks-melt.md | 9 + .changeset/slow-adults-drive.md | 29 ++ .changeset/spec-diff.md | 39 +++ .changeset/stupid-trainers-develop.md | 26 ++ .changeset/two-days-tap.md | 41 +++ .openapi-snapshot.yaml | 278 ++++++++++++++++-- src/Api/AmlChecksApi.php | 10 +- src/Model/AmlCheck.php | 22 ++ src/Model/AmlCheckEmbedded.php | 64 ++++ src/Model/AwepaySettings.php | 18 -- src/Model/CustomerTimeline.php | 2 + src/Model/FlexiblePlan.php | 4 + src/Model/FlexiblePlanOneTimeSalePlan.php | 36 +++ src/Model/FlexiblePlanSubscriptionPlan.php | 10 +- ...iblePlanSubscriptionPlanMeteredBilling.php | 18 ++ src/Model/FlexiblePlanTrialOnlyPlan.php | 18 ++ src/Model/GatewayAccount.php | 4 + ...ayoutRequestPaymentInstrumentsResponse.php | 2 + src/Model/GlobalWebhook.php | 6 + src/Model/IMerchant.php | 89 ++++++ src/Model/IMerchantCredentials.php | 60 ++++ src/Model/InvoiceTimeline.php | 2 + src/Model/KycDocumentRejection.php | 4 + src/Model/PaymentCard.php | 18 ++ src/Model/PayoutRequest.php | 18 ++ src/Model/PayoutRequestSplit.php | 50 ++++ ...tionGatewayAcquirerWeightsWeightedList.php | 2 + src/Model/Plan.php | 4 + src/Model/PlanOneTimeSalePlan.php | 36 +++ src/Model/PlanSubscriptionPlan.php | 10 +- .../PlanSubscriptionPlanMeteredBilling.php | 18 ++ src/Model/PlanTrialOnlyPlan.php | 18 ++ src/Model/QuoteSubscriptionItem.php | 22 ++ ...eportKycRejectionsDataRejectionReasons.php | 4 + src/Model/TagUntagRule.php | 6 + src/Model/Transaction.php | 2 + src/Model/TransactionTimeline.php | 2 + src/Model/WebhookTracking.php | 6 + src/Model/WebsiteSettingsPayoutRequest.php | 18 ++ 48 files changed, 1235 insertions(+), 49 deletions(-) create mode 100644 .changeset/big-rivers-yawn.md create mode 100644 .changeset/bright-coins-retire.md create mode 100644 .changeset/clean-seahorses-invent.md create mode 100644 .changeset/forty-insects-fail.md create mode 100644 .changeset/nervous-falcons-stare.md create mode 100644 .changeset/perfect-numbers-battle.md create mode 100644 .changeset/quick-zebras-sell.md create mode 100644 .changeset/rotten-tools-protect.md create mode 100644 .changeset/sharp-bottles-repair.md create mode 100644 .changeset/slimy-ducks-melt.md create mode 100644 .changeset/slow-adults-drive.md create mode 100644 .changeset/spec-diff.md create mode 100644 .changeset/stupid-trainers-develop.md create mode 100644 .changeset/two-days-tap.md create mode 100644 src/Model/AmlCheckEmbedded.php create mode 100644 src/Model/IMerchant.php create mode 100644 src/Model/IMerchantCredentials.php diff --git a/.changeset/big-rivers-yawn.md b/.changeset/big-rivers-yawn.md new file mode 100644 index 000000000..97047ef5e --- /dev/null +++ b/.changeset/big-rivers-yawn.md @@ -0,0 +1,33 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added required request property `splitReason` — `POST /payout-requests/{id}/split` **(breaking)** +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more +- Added optional request property `splitDescription` — `POST /payout-requests/{id}/split` +- Added optional response property `splitReason` — `GET /payout-requests`, `POST /payout-requests` + 5 more +- Added optional request property `splitReason` — `POST /payout-requests`, `PUT /payout-requests/{id}` + 4 more +- Added optional response property `sticky` on `FlexiblePlan` — `GET /orders`, `POST /orders` + 34 more +- Added optional request property `sticky` on `FlexiblePlan` — `POST /orders`, `PUT /orders/{id}` + 72 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/bright-coins-retire.md b/.changeset/bright-coins-retire.md new file mode 100644 index 000000000..02f3f713d --- /dev/null +++ b/.changeset/bright-coins-retire.md @@ -0,0 +1,39 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added required request property `splitReason` — `POST /payout-requests/{id}/split` **(breaking)** +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more +- Added optional response property `isPayoutable` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `splitDescription` — `POST /payout-requests/{id}/split` +- Added optional response property `splitReason` — `GET /payout-requests`, `POST /payout-requests` + 5 more +- Added optional request property `splitReason` — `POST /payout-requests`, `PUT /payout-requests/{id}` + 4 more +- Added optional response property `sticky` on `FlexiblePlan` — `GET /orders`, `POST /orders` + 34 more +- Added optional request property `sticky` on `FlexiblePlan` — `POST /orders`, `PUT /orders/{id}` + 72 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `eventType` on `GlobalEventType`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided`, `transaction-reconciled` — `POST /tags-rules`, `PUT /tags-rules/{id}` + 11 more +- Enum value added on request `eventsFilter`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` — `POST /previews/webhooks`, `POST /webhooks` + 1 more +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `transaction-partially-refunded`, `name-and-dob-mismatch` — `POST /customers/{id}/timeline`, `POST /invoices/{id}/timeline` + 12 more +- Enum value added on response `eventType` on `GlobalEventType`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` — `GET /tags-rules`, `POST /tags-rules` + 4 more +- Enum value added on response `eventsFilter`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` — `GET /webhooks`, `POST /webhooks` + 2 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `transaction-partially-refunded`, `name-and-dob-mismatch` — `GET /customers/{id}/timeline`, `POST /customers/{id}/timeline` + 20 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- webhook-added (3x) — e.g. webhook `transaction-partially-refunded` added +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/clean-seahorses-invent.md b/.changeset/clean-seahorses-invent.md new file mode 100644 index 000000000..8d66480ec --- /dev/null +++ b/.changeset/clean-seahorses-invent.md @@ -0,0 +1,26 @@ +--- +"@rebilly/client-php": minor +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/forty-insects-fail.md b/.changeset/forty-insects-fail.md new file mode 100644 index 000000000..16bbdcd39 --- /dev/null +++ b/.changeset/forty-insects-fail.md @@ -0,0 +1,14 @@ +--- +"@rebilly/client-php": minor +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more + +### Enum changes + +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more diff --git a/.changeset/nervous-falcons-stare.md b/.changeset/nervous-falcons-stare.md new file mode 100644 index 000000000..8d66480ec --- /dev/null +++ b/.changeset/nervous-falcons-stare.md @@ -0,0 +1,26 @@ +--- +"@rebilly/client-php": minor +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/perfect-numbers-battle.md b/.changeset/perfect-numbers-battle.md new file mode 100644 index 000000000..81cd3c1c4 --- /dev/null +++ b/.changeset/perfect-numbers-battle.md @@ -0,0 +1,27 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/quick-zebras-sell.md b/.changeset/quick-zebras-sell.md new file mode 100644 index 000000000..a42acf295 --- /dev/null +++ b/.changeset/quick-zebras-sell.md @@ -0,0 +1,34 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added required request property `splitReason` — `POST /payout-requests/{id}/split` **(breaking)** +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more +- Added optional response property `isPayoutable` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `splitDescription` — `POST /payout-requests/{id}/split` +- Added optional response property `splitReason` — `GET /payout-requests`, `POST /payout-requests` + 5 more +- Added optional request property `splitReason` — `POST /payout-requests`, `PUT /payout-requests/{id}` + 4 more +- Added optional response property `sticky` on `FlexiblePlan` — `GET /orders`, `POST /orders` + 34 more +- Added optional request property `sticky` on `FlexiblePlan` — `POST /orders`, `PUT /orders/{id}` + 72 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/rotten-tools-protect.md b/.changeset/rotten-tools-protect.md new file mode 100644 index 000000000..a42acf295 --- /dev/null +++ b/.changeset/rotten-tools-protect.md @@ -0,0 +1,34 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added required request property `splitReason` — `POST /payout-requests/{id}/split` **(breaking)** +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more +- Added optional response property `isPayoutable` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `splitDescription` — `POST /payout-requests/{id}/split` +- Added optional response property `splitReason` — `GET /payout-requests`, `POST /payout-requests` + 5 more +- Added optional request property `splitReason` — `POST /payout-requests`, `PUT /payout-requests/{id}` + 4 more +- Added optional response property `sticky` on `FlexiblePlan` — `GET /orders`, `POST /orders` + 34 more +- Added optional request property `sticky` on `FlexiblePlan` — `POST /orders`, `PUT /orders/{id}` + 72 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/sharp-bottles-repair.md b/.changeset/sharp-bottles-repair.md new file mode 100644 index 000000000..8d66480ec --- /dev/null +++ b/.changeset/sharp-bottles-repair.md @@ -0,0 +1,26 @@ +--- +"@rebilly/client-php": minor +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/slimy-ducks-melt.md b/.changeset/slimy-ducks-melt.md new file mode 100644 index 000000000..30c56cdc9 --- /dev/null +++ b/.changeset/slimy-ducks-melt.md @@ -0,0 +1,9 @@ +--- +"@rebilly/client-php": minor +--- + +### Enum changes + +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more diff --git a/.changeset/slow-adults-drive.md b/.changeset/slow-adults-drive.md new file mode 100644 index 000000000..f8cacb7a1 --- /dev/null +++ b/.changeset/slow-adults-drive.md @@ -0,0 +1,29 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more +- Added optional response property `sticky` on `FlexiblePlan` — `GET /orders`, `POST /orders` + 34 more +- Added optional request property `sticky` on `FlexiblePlan` — `POST /orders`, `PUT /orders/{id}` + 72 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/spec-diff.md b/.changeset/spec-diff.md new file mode 100644 index 000000000..13c26c6e9 --- /dev/null +++ b/.changeset/spec-diff.md @@ -0,0 +1,39 @@ +--- +"@rebilly/client-php": patch +--- + +### Added +- Added `splitReason` **(breaking)** +- Added `subschema #1, subschema #2, subschema #3` on `FlexiblePlan` **(breaking)** +- Added `_embedded` (response only) +- Added `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` +- Added `isPayoutable` on `OneTimeOrder, RecurringOrder` (response only) +- Added `items/_embedded` (response only) +- Added `quantityFilled` on `QuoteSubscriptionItem` +- Added optional parameter `query` (request only) +- Added `splitDescription` (request only) +- Added `sticky` (response only) + +### Removed +- Removed `subschema #1, subschema #2, subschema #3` on `FlexiblePlan` (request only) **(breaking)** + +### Changed +- Discriminator mapping added `IMerchant` + +### Enum changes +- `eventType` on `GlobalEventType` accepts new values: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided`, `transaction-reconciled` +- `eventsFilter` accepts new values: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` +- `gatewayName` on `GatewayName` accepts new values: `IMerchant` +- `rejectionReason` (response only) accepts new values: `document-was-valid-but-expired`, `name-and-dob-mismatch` +- `status` (response only) accepts new values: `approved`, `canceled`, `merged`, `ready`, `split` +- `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument` accepts new values: `transaction-partially-refunded`, `document-was-valid-but-expired`, `name-and-dob-mismatch` + +### Other +- Removed union member from `subschema #1, subschema #2, subschema #3` on `FlexiblePlan` +- Default removed on `pendingPeriodHours` +- Added discriminator mapping for `IMerchant` +- Raised minimum on `pendingPeriodHours` on `OneTimeOrder, RecurringOrder` (request only) +- Added discriminator variant to `subschema #1, subschema #2, subschema #3` +- webhook-added on `transaction-partially-refunded` (response only) +- webhook-added on `transaction-refunded` (response only) +- webhook-added on `transaction-voided` (response only) diff --git a/.changeset/stupid-trainers-develop.md b/.changeset/stupid-trainers-develop.md new file mode 100644 index 000000000..8d66480ec --- /dev/null +++ b/.changeset/stupid-trainers-develop.md @@ -0,0 +1,26 @@ +--- +"@rebilly/client-php": minor +--- + +### Added + +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.changeset/two-days-tap.md b/.changeset/two-days-tap.md new file mode 100644 index 000000000..4421b39cf --- /dev/null +++ b/.changeset/two-days-tap.md @@ -0,0 +1,41 @@ +--- +"@rebilly/client-php": major +--- + +### Added + +- Added required request property `splitReason` — `POST /payout-requests/{id}/split` **(breaking)** +- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more +- Added optional response property `isPayoutable` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more +- Added optional response property `quantityFilled` on `QuoteSubscriptionItem` — `GET /quotes`, `POST /quotes` + 13 more +- Added optional request property `quantityFilled` on `QuoteSubscriptionItem` — `POST /quotes`, `PUT /quotes/{id}` + 8 more +- Added optional request property `splitDescription` — `POST /payout-requests/{id}/split` +- Added optional response property `splitReason` — `GET /payout-requests`, `POST /payout-requests` + 5 more +- Added optional request property `splitReason` — `POST /payout-requests`, `PUT /payout-requests/{id}` + 4 more +- Added optional response property `sticky` on `FlexiblePlan` — `GET /orders`, `POST /orders` + 34 more +- Added optional request property `sticky` on `FlexiblePlan` — `POST /orders`, `PUT /orders/{id}` + 72 more + +### Changed + +- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts` +- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more + +### Enum changes + +- Enum value added on request `eventType` on `GlobalEventType`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided`, `transaction-reconciled` — `POST /tags-rules`, `PUT /tags-rules/{id}` + 11 more +- Enum value added on request `eventsFilter`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` — `POST /previews/webhooks`, `POST /webhooks` + 1 more +- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more +- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `transaction-partially-refunded`, `name-and-dob-mismatch` — `POST /customers/{id}/timeline`, `POST /invoices/{id}/timeline` + 12 more +- Enum value added on response `eventType` on `GlobalEventType`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` — `GET /tags-rules`, `POST /tags-rules` + 4 more +- Enum value added on response `eventsFilter`: `transaction-partially-refunded`, `transaction-refunded`, `transaction-voided` — `GET /webhooks`, `POST /webhooks` + 2 more +- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more +- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary` +- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `transaction-partially-refunded`, `name-and-dob-mismatch` — `GET /customers/{id}/timeline`, `POST /customers/{id}/timeline` + 20 more + +### Other + +- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201` +- request-property-min-increased (7x) — e.g. the `oneOf[#/components/schemas/OneTimeOrder]/_embedded/website/settings/payoutRequest/pendingPeriodHours` request prope +- webhook-added (3x) — e.g. webhook `transaction-partially-refunded` added +- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator diff --git a/.openapi-snapshot.yaml b/.openapi-snapshot.yaml index 8b2c0fa88..b7ed1c0c9 100644 --- a/.openapi-snapshot.yaml +++ b/.openapi-snapshot.yaml @@ -968,6 +968,7 @@ paths: - $ref: '#/components/parameters/collectionSort' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' + - $ref: '#/components/parameters/collectionExpand' responses: '200': description: List of AML checks retrieved. @@ -1002,6 +1003,8 @@ paths: description: |- Retrieves the results of a customer's AML check. Customer metadata and an array of matching AML hits is returned. + parameters: + - $ref: '#/components/parameters/collectionExpand' responses: '200': description: AML check retrieved. @@ -11437,7 +11440,7 @@ paths: - Core tags: - Orders experimental - summary: Pause a order + summary: Pause an order operationId: PostOrderPause x-sdk-operation-name: pause description: Pauses an order with a specified ID. @@ -21242,7 +21245,7 @@ paths: description: |- Retrieves a list of payout requests. - Filter by: `id`, `customerId`, `websiteId`, `batchId`, `status`, `blocked`, `blockReason`, `createdTime`, `updatedTime`, `currency`, `amount`. + Filter by: `id`, `customerId`, `websiteId`, `batchId`, `status`, `blocked`, `blockReason`, `splitReason`, `createdTime`, `updatedTime`, `currency`, `amount`. parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' @@ -21492,13 +21495,14 @@ paths: operationId: PostPayoutRequestSplit x-sdk-operation-name: split description: |- - Splits a pending payout request into two or more separate requests. + Splits a payout request that is in `pending`, `ready`, or `approved` status into two or more separate requests. Use this operation when the full amount cannot be processed due to amount restrictions, but a smaller amount can be processed. For example, if a payout request for `$4,000` cannot be processed, but `$3,000` can be processed, split the request into two. This allows you to approve and process `$3,000` instead of blocking the entire request. Provide an array of at least two amounts; one new payout request is created per amount. The sum of the amounts must equal the original payout request amount. + Each new payout request is created in `pending` status. The original request transitions to the `split` status. This operation returns the newly created payout requests. requestBody: @@ -32280,6 +32284,45 @@ webhooks: responses: 2xx: description: Returns any 2xx status to indicate that data is received. + transaction-partially-refunded: + post: + summary: Transaction partially refunded + operationId: transaction-partially-refunded + x-products: + - Core + tags: + - Transactions + requestBody: + $ref: '#/components/requestBodies/TransactionWithChildWebhook' + responses: + 2xx: + description: Returns any 2xx status to indicate that data is received. + transaction-refunded: + post: + summary: Transaction refunded + operationId: transaction-refunded + x-products: + - Core + tags: + - Transactions + requestBody: + $ref: '#/components/requestBodies/TransactionWithChildWebhook' + responses: + 2xx: + description: Returns any 2xx status to indicate that data is received. + transaction-voided: + post: + summary: Transaction voided + operationId: transaction-voided + x-products: + - Core + tags: + - Transactions + requestBody: + $ref: '#/components/requestBodies/TransactionWithChildWebhook' + responses: + 2xx: + description: Returns any 2xx status to indicate that data is received. transaction-timeout-resolved: post: summary: Transaction timeout resolved @@ -33742,6 +33785,13 @@ components: enum: - self - customer + _embedded: + type: object + description: Embedded objects that are requested by the `expand` query parameter. + readOnly: true + properties: + customer: + type: object AmlCheckReview: type: object description: AML check review. @@ -36710,6 +36760,7 @@ components: - transaction-discrepancy-found - transaction-disputed - transaction-reconciled + - transaction-partially-refunded - transaction-refunded - transaction-voided - transaction-waiting-gateway @@ -38095,6 +38146,7 @@ components: - iCheque - iDebit - Ilixium + - IMerchant - Ingenico - INOVAPAY - Inovio @@ -40233,6 +40285,7 @@ components: - transaction-canceled - transaction-declined - transaction-initiated + - transaction-partially-refunded - transaction-refunded - transaction-voided triggeredBy: @@ -41195,6 +41248,7 @@ components: enum: - document-unreadable - document-expired + - document-was-valid-but-expired - document-not-matching - document-duplicate - document-invalid @@ -41206,6 +41260,7 @@ components: - subtype-missing - dob-mismatch - name-mismatch + - name-and-dob-mismatch - critical-info-missing - old-address-on-id - tampered-document @@ -43065,6 +43120,13 @@ components: description: Bank name of the payment instrument. type: string readOnly: true + isPayoutable: + description: |- + Specifies if payouts are supported for cards with this BIN. + Defaults to `true`. + This value is `false` if the BIN does not support payouts. + type: boolean + readOnly: true billingAddress: description: Contact's billing address. $ref: '#/components/schemas/ContactObject' @@ -44631,8 +44693,17 @@ components: Compare this value with materialized subscription item revision values. isTrialOnly: type: boolean + const: false description: Specifies if a plan is a trial that does not have recurring instructions. readOnly: true + recurringInterval: + type: 'null' + description: Service interval settings. + readOnly: true + trial: + type: 'null' + description: Trial configuration setting. + readOnly: true createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: @@ -44813,6 +44884,7 @@ components: - currency - productId - pricing + - recurringInterval properties: name: description: |- @@ -44871,12 +44943,11 @@ components: Compare this value with materialized subscription item revision values. isTrialOnly: type: boolean + const: false description: Specifies if a plan is a trial that does not have recurring instructions. readOnly: true recurringInterval: - description: |- - Service interval settings. - For a one-time sale, set this value to `null`. + description: Service interval settings. type: object required: - unit @@ -44957,6 +45028,15 @@ components: - 'null' format: float minimum: 0.01 + sticky: + description: |- + When enabled, if no usage is reported during a service period, + the plan bills the last known reported quantity from a previous period instead of zero. + This is suitable for hosted or persistent resources whose usage does not change every period. + Only supported with `strategy`: `last`. + type: boolean + default: false + example: false invoiceTimeShift: readOnly: true deprecated: true @@ -45049,8 +45129,13 @@ components: Compare this value with materialized subscription item revision values. isTrialOnly: type: boolean + const: true description: Specifies if a plan is a trial that does not have recurring instructions. readOnly: true + recurringInterval: + type: 'null' + description: Service interval settings. + readOnly: true trial: description: Trial configuration settings. $ref: '#/components/schemas/PlanTrial' @@ -45084,7 +45169,7 @@ components: - self - attachments Plan: - anyOf: + oneOf: - allOf: - type: object required: @@ -45225,7 +45310,7 @@ components: description: ID of the plan. $ref: '#/components/schemas/ResourceId' FlexiblePlan: - anyOf: + oneOf: - allOf: - type: object required: @@ -45352,6 +45437,15 @@ components: default: 1 minimum: 0 maximum: 1000000000 + quantityFilled: + description: |- + Number of filled product units. + This field is not used for metered billing plans. + type: + - number + - 'null' + format: double + example: 5.125 plan: description: Plan details. oneOf: @@ -48670,13 +48764,26 @@ components: automaticReadinessEnabled: type: boolean default: false - description: Specifies whether pending payout requests are automatically marked as ready after the pending period. + description: |- + Specifies whether pending payout requests are automatically marked as `ready`. + When this value is `false`, payout requests are created in the `ready` status and automatic transition is not used. + When this value is `true`, payout requests remain in the `pending` status until the pending period elapses and the configured transition time is reached. pendingPeriodHours: type: integer - description: Number of hours a payout request stays pending before the automatic readiness job can set it to ready. - minimum: 0 + description: |- + Minimum number of hours a payout request stays in the `pending` status before it can be automatically set to `ready`. + Required when `automaticReadinessEnabled` is `true`. + minimum: 1 maximum: 8760 - default: 48 + example: 48 + automaticReadinessTime: + description: |- + Time of day when the automatic readiness job processes eligible pending payout requests. + Required when `automaticReadinessEnabled` is `true`. + Use extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset. + allOf: + - $ref: '#/components/schemas/TimeIso8601Extended' + example: 10:00:00Z logoId: type: - string @@ -51737,6 +51844,7 @@ components: - transaction-disputed - transaction-initiated - transaction-payment-method-changed + - transaction-partially-refunded - transaction-process-requested - transaction-processed - transaction-queried @@ -57036,6 +57144,7 @@ components: ICEPAY: '#/components/schemas/ICEPAY' INOVAPAY: '#/components/schemas/INOVAPAY' Ilixium: '#/components/schemas/Ilixium' + IMerchant: '#/components/schemas/IMerchant' Ingenico: '#/components/schemas/Ingenico' Inovio: '#/components/schemas/Inovio' InstaDebit: '#/components/schemas/InstaDebit' @@ -58159,9 +58268,6 @@ components: useRestApi: type: boolean description: Specifies whether to use REST API. - paymentCode: - type: string - description: Awepay payment code. methodType: type: string description: Awepay method type. @@ -60410,6 +60516,27 @@ components: type: string enum: - Ilixium3dsServer + IMerchant: + description: IMerchant gateway configuration. + allOf: + - $ref: '#/components/schemas/GatewayAccount' + - type: object + required: + - credentials + properties: + credentials: + type: object + description: Credentials of the IMerchant gateway. + properties: + apiKey: + type: string + description: IMerchant API key. + format: password + writeOnly: true + required: + - apiKey + threeDSecureServer: + $ref: '#/components/schemas/ThreeDSecureIO3dsServer' Ingenico: description: Ingenico gateway configuration. allOf: @@ -66493,6 +66620,17 @@ components: - insufficient-documentation - risk-review - other + PayoutRequestSplitReason: + type: string + description: Reason for splitting the payout request. + enum: + - payment-instrument-limit + - processor-limit + - risk-review + - compliance-review + - partial-processing + - operational-reconciliation + - other PayoutRequestAllocation: type: object required: @@ -66760,9 +66898,14 @@ components: - split - merged x-enumDescriptions: - pending: Request was created by the customer. - ready: Request was assessed, deemed eligible for processing and is ready for approval. - approved: Request was approved and is ready for processing. + pending: |- + Request was created by the customer and is in a pending state for the [configured pending period](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/pendingperiodhours), unless it is marked as ready by a member of your organization. + When the pending period ends, the payout request automatically transitions to the `ready` state. + Depending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests, or this status may not be used. + ready: |- + Request was created by the customer and is ready for review. + Depending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests. + approved: Request was reviewed, approved, and is ready for processing. in-progress: Request has allocations and is being processed. fulfilled: Request is fully paid out. canceled: Request is canceled by merchant or customer. @@ -66777,6 +66920,10 @@ components: oneOf: - $ref: '#/components/schemas/PayoutRequestBlockReason' - type: 'null' + splitReason: + oneOf: + - $ref: '#/components/schemas/PayoutRequestSplitReason' + - type: 'null' batchId: description: ID of the payout request batch that contains this request. type: @@ -66834,6 +66981,7 @@ components: type: object required: - amounts + - splitReason properties: amounts: description: |- @@ -66854,6 +67002,14 @@ components: - 50 - 30 - 20 + splitReason: + $ref: '#/components/schemas/PayoutRequestSplitReason' + splitDescription: + description: Additional description for splitting the payout request. + type: + - string + - 'null' + maxLength: 255 PayoutRequestTimelineMessage: type: object properties: @@ -67385,7 +67541,10 @@ components: - transaction-process-requested - transaction-processed - transaction-reconciled + - transaction-partially-refunded + - transaction-refunded - transaction-timeout-resolved + - transaction-voided - trial-usage-limit-reached - waiting-gateway-transaction-completed GlobalWebhook: @@ -73486,6 +73645,15 @@ components: description: Number of units of the product on the given plan. type: integer minimum: 0 + quantityFilled: + description: |- + Number of filled product units. + This field is not used for metered billing plans. + type: + - number + - 'null' + format: double + example: 5.125 usageLimits: oneOf: - $ref: '#/components/schemas/UsageLimits' @@ -74502,6 +74670,13 @@ components: description: Bank name of the payment instrument. type: string readOnly: true + isPayoutable: + description: |- + Specifies if payouts are supported for cards with this BIN. + Defaults to `true`. + This value is `false` if the BIN does not support payouts. + type: boolean + readOnly: true billingAddress: description: Contact's billing address. $ref: '#/components/schemas/ContactObject' @@ -74819,12 +74994,27 @@ components: readOnly: true enum: - pending + - ready + - approved - in-progress - fulfilled + - canceled + - split + - merged x-enumDescriptions: - pending: Request is awaiting fulfillment. + pending: |- + Request was created by the customer and is in a pending state for the [configured pending period](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/pendingperiodhours), unless it is marked as ready by a member of your organization. + When the pending period ends, the payout request automatically transitions to the `ready` state. + Depending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests, or this status may not be used. + ready: |- + Request was created by the customer and is ready for review. + Depending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests. + approved: Request was reviewed, approved, and is ready for processing. in-progress: Request has allocations and is being processed. - fulfilled: Request is fully paid out when `availableAmount` reaches zero. + fulfilled: Request is fully paid out. + canceled: Request is canceled by merchant or customer. + split: Request was split into two or more payout requests. + merged: Request was merged into another payout request. createdTime: description: Date and time when the payout request is created. $ref: '#/components/schemas/ServerTimestamp' @@ -74982,6 +75172,15 @@ components: - 'null' format: float minimum: 0.01 + sticky: + description: |- + When enabled, if no usage is reported during a service period, + the plan bills the last known reported quantity from a previous period instead of zero. + This is suitable for hosted or persistent resources whose usage does not change every period. + Only supported with `strategy`: `last`. + type: boolean + default: false + example: false createdTime: $ref: '#/components/schemas/CreatedTime' updatedTime: @@ -78802,6 +79001,7 @@ components: - transaction-discrepancy-found - transaction-process-requested - transaction-processed + - transaction-reconciled - transaction-timeout-resolved - waiting-gateway-transaction-completed - autodeposit-lookup-performed @@ -79518,6 +79718,44 @@ components: - subscription - pause description: Payload of subscription pause-related webhook event. + TransactionWithChildWebhook: + content: + application/json: + schema: + properties: + transactionId: + $ref: '#/components/schemas/TransactionId' + eventType: + type: string + description: Type of event that triggered the webhook. + enum: + - transaction-partially-refunded + - transaction-refunded + - transaction-voided + _embedded: + type: object + description: Embedded objects related to the transaction event. + properties: + transaction: + $ref: '#/components/schemas/Transaction' + childTransaction: + $ref: '#/components/schemas/Transaction' + _links: + type: array + description: Links to related resources. + items: + type: object + properties: + href: + description: URL of the link. + type: string + rel: + description: Relationship type of the link. + type: string + enum: + - transaction + - childTransaction + description: Payload of transaction-related webhook event. DataExportWebhook: content: application/json: diff --git a/src/Api/AmlChecksApi.php b/src/Api/AmlChecksApi.php index 30de24b76..23174f560 100644 --- a/src/Api/AmlChecksApi.php +++ b/src/Api/AmlChecksApi.php @@ -30,12 +30,16 @@ public function __construct(protected ?ClientInterface $client) public function get( string $id, + ?string $expand = null, ): AmlCheck { $pathParams = [ '{id}' => $id, ]; - $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/aml-checks/{id}'); + $queryParams = [ + 'expand' => $expand, + ]; + $uri = str_replace(array_keys($pathParams), array_values($pathParams), '/aml-checks/{id}?') . http_build_query($queryParams); $request = new Request('GET', $uri, headers: [ 'Accept' => 'application/json', @@ -55,6 +59,7 @@ public function getAll( ?array $sort = null, ?string $filter = null, ?string $q = null, + ?string $expand = null, ): Collection { $queryParams = [ 'limit' => $limit, @@ -62,6 +67,7 @@ public function getAll( 'sort' => $sort ? implode(',', $sort) : null, 'filter' => $filter, 'q' => $q, + 'expand' => $expand, ]; $uri = '/aml-checks?' . http_build_query($queryParams); @@ -91,6 +97,7 @@ public function getAllPaginator( ?array $sort = null, ?string $filter = null, ?string $q = null, + ?string $expand = null, ): Paginator { $closure = fn (?int $limit, ?int $offset): Collection => $this->getAll( limit: $limit, @@ -98,6 +105,7 @@ public function getAllPaginator( sort: $sort, filter: $filter, q: $q, + expand: $expand, ); return new Paginator( diff --git a/src/Model/AmlCheck.php b/src/Model/AmlCheck.php index 2c2c0e0a3..0f8c27bf1 100644 --- a/src/Model/AmlCheck.php +++ b/src/Model/AmlCheck.php @@ -112,6 +112,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('_links', $data)) { $this->setLinks($data['_links']); } + if (array_key_exists('_embedded', $data)) { + $this->setEmbedded($data['_embedded']); + } $this->setMetadata($metadata); } @@ -328,6 +331,22 @@ public function getLinks(): ?array return $this->fields['_links'] ?? null; } + public function getEmbedded(): ?AmlCheckEmbedded + { + return $this->fields['_embedded'] ?? null; + } + + public function setEmbedded(null|AmlCheckEmbedded|array $embedded): static + { + if ($embedded !== null && !($embedded instanceof AmlCheckEmbedded)) { + $embedded = AmlCheckEmbedded::from($embedded); + } + + $this->fields['_embedded'] = $embedded; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -403,6 +422,9 @@ public function jsonSerialize(): array ) : null; } + if (array_key_exists('_embedded', $this->fields)) { + $data['_embedded'] = $this->fields['_embedded']?->jsonSerialize(); + } return $data; } diff --git a/src/Model/AmlCheckEmbedded.php b/src/Model/AmlCheckEmbedded.php new file mode 100644 index 000000000..5fe3440bd --- /dev/null +++ b/src/Model/AmlCheckEmbedded.php @@ -0,0 +1,64 @@ +setCustomer($data['customer']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getCustomer(): ?Customer + { + return $this->fields['customer'] ?? null; + } + + public function setCustomer(null|Customer|array $customer): static + { + if ($customer !== null && !($customer instanceof Customer)) { + $customer = Customer::from($customer); + } + + $this->fields['customer'] = $customer; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('customer', $this->fields)) { + $data['customer'] = $this->fields['customer']?->jsonSerialize(); + } + + return $data; + } +} diff --git a/src/Model/AwepaySettings.php b/src/Model/AwepaySettings.php index cb46e321f..ac599a02b 100644 --- a/src/Model/AwepaySettings.php +++ b/src/Model/AwepaySettings.php @@ -31,9 +31,6 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('useRestApi', $data)) { $this->setUseRestApi($data['useRestApi']); } - if (array_key_exists('paymentCode', $data)) { - $this->setPaymentCode($data['paymentCode']); - } if (array_key_exists('methodType', $data)) { $this->setMethodType($data['methodType']); } @@ -69,18 +66,6 @@ public function setUseRestApi(null|bool $useRestApi): static return $this; } - public function getPaymentCode(): ?string - { - return $this->fields['paymentCode'] ?? null; - } - - public function setPaymentCode(null|string $paymentCode): static - { - $this->fields['paymentCode'] = $paymentCode; - - return $this; - } - public function getMethodType(): ?string { return $this->fields['methodType'] ?? null; @@ -102,9 +87,6 @@ public function jsonSerialize(): array if (array_key_exists('useRestApi', $this->fields)) { $data['useRestApi'] = $this->fields['useRestApi']; } - if (array_key_exists('paymentCode', $this->fields)) { - $data['paymentCode'] = $this->fields['paymentCode']; - } if (array_key_exists('methodType', $this->fields)) { $data['methodType'] = $this->fields['methodType']; } diff --git a/src/Model/CustomerTimeline.php b/src/Model/CustomerTimeline.php index c0b8395ff..a9f85f749 100644 --- a/src/Model/CustomerTimeline.php +++ b/src/Model/CustomerTimeline.php @@ -187,6 +187,8 @@ class CustomerTimeline implements JsonSerializable public const TYPE_TRANSACTION_RECONCILED = 'transaction-reconciled'; + public const TYPE_TRANSACTION_PARTIALLY_REFUNDED = 'transaction-partially-refunded'; + public const TYPE_TRANSACTION_REFUNDED = 'transaction-refunded'; public const TYPE_TRANSACTION_VOIDED = 'transaction-voided'; diff --git a/src/Model/FlexiblePlan.php b/src/Model/FlexiblePlan.php index e06c73811..fdeba0d7c 100644 --- a/src/Model/FlexiblePlan.php +++ b/src/Model/FlexiblePlan.php @@ -66,6 +66,10 @@ public function getRevision(): ?int; public function getIsTrialOnly(): ?bool; + public function getRecurringInterval(): ?FlexiblePlanSubscriptionPlanRecurringInterval; + + public function getTrial(): ?PlanTrial; + public function getCreatedTime(): ?DateTimeImmutable; public function getUpdatedTime(): ?DateTimeImmutable; diff --git a/src/Model/FlexiblePlanOneTimeSalePlan.php b/src/Model/FlexiblePlanOneTimeSalePlan.php index a4aaaea5f..c9af73d7e 100644 --- a/src/Model/FlexiblePlanOneTimeSalePlan.php +++ b/src/Model/FlexiblePlanOneTimeSalePlan.php @@ -65,6 +65,12 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('isTrialOnly', $data)) { $this->setIsTrialOnly($data['isTrialOnly']); } + if (array_key_exists('recurringInterval', $data)) { + $this->setRecurringInterval($data['recurringInterval']); + } + if (array_key_exists('trial', $data)) { + $this->setTrial($data['trial']); + } if (array_key_exists('createdTime', $data)) { $this->setCreatedTime($data['createdTime']); } @@ -234,6 +240,16 @@ public function getIsTrialOnly(): ?bool return $this->fields['isTrialOnly'] ?? null; } + public function getRecurringInterval(): null + { + return $this->fields['recurringInterval'] ?? null; + } + + public function getTrial(): null + { + return $this->fields['trial'] ?? null; + } + public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -308,6 +324,12 @@ public function jsonSerialize(): array if (array_key_exists('isTrialOnly', $this->fields)) { $data['isTrialOnly'] = $this->fields['isTrialOnly']; } + if (array_key_exists('recurringInterval', $this->fields)) { + $data['recurringInterval'] = $this->fields['recurringInterval']; + } + if (array_key_exists('trial', $this->fields)) { + $data['trial'] = $this->fields['trial']; + } if (array_key_exists('createdTime', $this->fields)) { $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); } @@ -350,6 +372,20 @@ private function setIsTrialOnly(null|bool $isTrialOnly): static return $this; } + private function setRecurringInterval(null $recurringInterval): static + { + $this->fields['recurringInterval'] = $recurringInterval; + + return $this; + } + + private function setTrial(null $trial): static + { + $this->fields['trial'] = $trial; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/FlexiblePlanSubscriptionPlan.php b/src/Model/FlexiblePlanSubscriptionPlan.php index 50b6b1f1d..082494bc6 100644 --- a/src/Model/FlexiblePlanSubscriptionPlan.php +++ b/src/Model/FlexiblePlanSubscriptionPlan.php @@ -246,14 +246,14 @@ public function getIsTrialOnly(): ?bool return $this->fields['isTrialOnly'] ?? null; } - public function getRecurringInterval(): ?FlexiblePlanSubscriptionPlanRecurringInterval + public function getRecurringInterval(): FlexiblePlanSubscriptionPlanRecurringInterval { - return $this->fields['recurringInterval'] ?? null; + return $this->fields['recurringInterval']; } - public function setRecurringInterval(null|FlexiblePlanSubscriptionPlanRecurringInterval|array $recurringInterval): static + public function setRecurringInterval(FlexiblePlanSubscriptionPlanRecurringInterval|array $recurringInterval): static { - if ($recurringInterval !== null && !($recurringInterval instanceof FlexiblePlanSubscriptionPlanRecurringInterval)) { + if (!($recurringInterval instanceof FlexiblePlanSubscriptionPlanRecurringInterval)) { $recurringInterval = FlexiblePlanSubscriptionPlanRecurringInterval::from($recurringInterval); } @@ -374,7 +374,7 @@ public function jsonSerialize(): array $data['isTrialOnly'] = $this->fields['isTrialOnly']; } if (array_key_exists('recurringInterval', $this->fields)) { - $data['recurringInterval'] = $this->fields['recurringInterval']?->jsonSerialize(); + $data['recurringInterval'] = $this->fields['recurringInterval']->jsonSerialize(); } if (array_key_exists('trial', $this->fields)) { $data['trial'] = $this->fields['trial']?->jsonSerialize(); diff --git a/src/Model/FlexiblePlanSubscriptionPlanMeteredBilling.php b/src/Model/FlexiblePlanSubscriptionPlanMeteredBilling.php index 0bf5d87a8..72ebc611e 100644 --- a/src/Model/FlexiblePlanSubscriptionPlanMeteredBilling.php +++ b/src/Model/FlexiblePlanSubscriptionPlanMeteredBilling.php @@ -38,6 +38,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('max', $data)) { $this->setMax($data['max']); } + if (array_key_exists('sticky', $data)) { + $this->setSticky($data['sticky']); + } $this->setMetadata($metadata); } @@ -90,6 +93,18 @@ public function setMax(null|float|string $max): static return $this; } + public function getSticky(): ?bool + { + return $this->fields['sticky'] ?? null; + } + + public function setSticky(null|bool $sticky): static + { + $this->fields['sticky'] = $sticky; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -102,6 +117,9 @@ public function jsonSerialize(): array if (array_key_exists('max', $this->fields)) { $data['max'] = $this->fields['max']; } + if (array_key_exists('sticky', $this->fields)) { + $data['sticky'] = $this->fields['sticky']; + } return $data; } diff --git a/src/Model/FlexiblePlanTrialOnlyPlan.php b/src/Model/FlexiblePlanTrialOnlyPlan.php index db754f61a..edf6f456e 100644 --- a/src/Model/FlexiblePlanTrialOnlyPlan.php +++ b/src/Model/FlexiblePlanTrialOnlyPlan.php @@ -62,6 +62,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('isTrialOnly', $data)) { $this->setIsTrialOnly($data['isTrialOnly']); } + if (array_key_exists('recurringInterval', $data)) { + $this->setRecurringInterval($data['recurringInterval']); + } if (array_key_exists('trial', $data)) { $this->setTrial($data['trial']); } @@ -221,6 +224,11 @@ public function getIsTrialOnly(): ?bool return $this->fields['isTrialOnly'] ?? null; } + public function getRecurringInterval(): null + { + return $this->fields['recurringInterval'] ?? null; + } + public function getTrial(): PlanTrial { return $this->fields['trial']; @@ -313,6 +321,9 @@ public function jsonSerialize(): array if (array_key_exists('isTrialOnly', $this->fields)) { $data['isTrialOnly'] = $this->fields['isTrialOnly']; } + if (array_key_exists('recurringInterval', $this->fields)) { + $data['recurringInterval'] = $this->fields['recurringInterval']; + } if (array_key_exists('trial', $this->fields)) { $data['trial'] = $this->fields['trial']->jsonSerialize(); } @@ -361,6 +372,13 @@ private function setIsTrialOnly(null|bool $isTrialOnly): static return $this; } + private function setRecurringInterval(null $recurringInterval): static + { + $this->fields['recurringInterval'] = $recurringInterval; + + return $this; + } + private function setInvoiceTimeShift(null|InvoiceTimeShift|array $invoiceTimeShift): static { if ($invoiceTimeShift !== null && !($invoiceTimeShift instanceof InvoiceTimeShift)) { diff --git a/src/Model/GatewayAccount.php b/src/Model/GatewayAccount.php index 279b64753..81d04e379 100644 --- a/src/Model/GatewayAccount.php +++ b/src/Model/GatewayAccount.php @@ -206,6 +206,8 @@ abstract class GatewayAccount implements JsonSerializable public const GATEWAY_NAME_ILIXIUM = 'Ilixium'; + public const GATEWAY_NAME_I_MERCHANT = 'IMerchant'; + public const GATEWAY_NAME_INGENICO = 'Ingenico'; public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY'; @@ -1637,6 +1639,8 @@ public static function from(array $data = [], array $metadata = []): self return IDebit::from($data, $metadata); case 'Ilixium': return Ilixium::from($data, $metadata); + case 'IMerchant': + return IMerchant::from($data, $metadata); case 'Ingenico': return Ingenico::from($data, $metadata); case 'INOVAPAY': diff --git a/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php b/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php index 49ad9e874..d7b214d70 100644 --- a/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php +++ b/src/Model/GetPayoutRequestPaymentInstrumentsResponse.php @@ -205,6 +205,8 @@ class GetPayoutRequestPaymentInstrumentsResponse implements JsonSerializable public const GATEWAY_NAME_ILIXIUM = 'Ilixium'; + public const GATEWAY_NAME_I_MERCHANT = 'IMerchant'; + public const GATEWAY_NAME_INGENICO = 'Ingenico'; public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY'; diff --git a/src/Model/GlobalWebhook.php b/src/Model/GlobalWebhook.php index 04f359f56..f9aa8e7f5 100644 --- a/src/Model/GlobalWebhook.php +++ b/src/Model/GlobalWebhook.php @@ -161,6 +161,12 @@ class GlobalWebhook implements JsonSerializable public const EVENTS_FILTER_TRANSACTION_PROCESSED = 'transaction-processed'; + public const EVENTS_FILTER_TRANSACTION_PARTIALLY_REFUNDED = 'transaction-partially-refunded'; + + public const EVENTS_FILTER_TRANSACTION_REFUNDED = 'transaction-refunded'; + + public const EVENTS_FILTER_TRANSACTION_VOIDED = 'transaction-voided'; + public const EVENTS_FILTER_TRIAL_USAGE_LIMIT_REACHED = 'trial-usage-limit-reached'; public const STATUS_ACTIVE = 'active'; diff --git a/src/Model/IMerchant.php b/src/Model/IMerchant.php new file mode 100644 index 000000000..eca992d03 --- /dev/null +++ b/src/Model/IMerchant.php @@ -0,0 +1,89 @@ + 'IMerchant', + ] + $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 = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + public function getCredentials(): IMerchantCredentials + { + return $this->fields['credentials']; + } + + public function setCredentials(IMerchantCredentials|array $credentials): static + { + if (!($credentials instanceof IMerchantCredentials)) { + $credentials = IMerchantCredentials::from($credentials); + } + + $this->fields['credentials'] = $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/IMerchantCredentials.php b/src/Model/IMerchantCredentials.php new file mode 100644 index 000000000..554964e61 --- /dev/null +++ b/src/Model/IMerchantCredentials.php @@ -0,0 +1,60 @@ +setApiKey($data['apiKey']); + } + $this->setMetadata($metadata); + } + + public static function from(array $data = [], array $metadata = []): self + { + return new self($data, $metadata); + } + + 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('apiKey', $this->fields)) { + $data['apiKey'] = $this->fields['apiKey']; + } + + return $data; + } +} diff --git a/src/Model/InvoiceTimeline.php b/src/Model/InvoiceTimeline.php index 252986030..faceee5b5 100644 --- a/src/Model/InvoiceTimeline.php +++ b/src/Model/InvoiceTimeline.php @@ -79,6 +79,8 @@ class InvoiceTimeline implements JsonSerializable public const TYPE_TRANSACTION_INITIATED = 'transaction-initiated'; + public const TYPE_TRANSACTION_PARTIALLY_REFUNDED = 'transaction-partially-refunded'; + public const TYPE_TRANSACTION_REFUNDED = 'transaction-refunded'; public const TYPE_TRANSACTION_VOIDED = 'transaction-voided'; diff --git a/src/Model/KycDocumentRejection.php b/src/Model/KycDocumentRejection.php index bc477f554..c856dc6f6 100644 --- a/src/Model/KycDocumentRejection.php +++ b/src/Model/KycDocumentRejection.php @@ -25,6 +25,8 @@ class KycDocumentRejection implements JsonSerializable public const TYPE_DOCUMENT_EXPIRED = 'document-expired'; + public const TYPE_DOCUMENT_WAS_VALID_BUT_EXPIRED = 'document-was-valid-but-expired'; + public const TYPE_DOCUMENT_NOT_MATCHING = 'document-not-matching'; public const TYPE_DOCUMENT_DUPLICATE = 'document-duplicate'; @@ -47,6 +49,8 @@ class KycDocumentRejection implements JsonSerializable public const TYPE_NAME_MISMATCH = 'name-mismatch'; + public const TYPE_NAME_AND_DOB_MISMATCH = 'name-and-dob-mismatch'; + public const TYPE_CRITICAL_INFO_MISSING = 'critical-info-missing'; public const TYPE_OLD_ADDRESS_ON_ID = 'old-address-on-id'; diff --git a/src/Model/PaymentCard.php b/src/Model/PaymentCard.php index 1a0854ceb..4acfa17f2 100644 --- a/src/Model/PaymentCard.php +++ b/src/Model/PaymentCard.php @@ -114,6 +114,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('bankName', $data)) { $this->setBankName($data['bankName']); } + if (array_key_exists('isPayoutable', $data)) { + $this->setIsPayoutable($data['isPayoutable']); + } if (array_key_exists('billingAddress', $data)) { $this->setBillingAddress($data['billingAddress']); } @@ -287,6 +290,11 @@ public function getBankName(): ?string return $this->fields['bankName'] ?? null; } + public function getIsPayoutable(): ?bool + { + return $this->fields['isPayoutable'] ?? null; + } + public function getBillingAddress(): ?ContactObject { return $this->fields['billingAddress'] ?? null; @@ -477,6 +485,9 @@ public function jsonSerialize(): array if (array_key_exists('bankName', $this->fields)) { $data['bankName'] = $this->fields['bankName']; } + if (array_key_exists('isPayoutable', $this->fields)) { + $data['isPayoutable'] = $this->fields['isPayoutable']; + } if (array_key_exists('billingAddress', $this->fields)) { $data['billingAddress'] = $this->fields['billingAddress']?->jsonSerialize(); } @@ -592,6 +603,13 @@ private function setBankName(null|string $bankName): static return $this; } + private function setIsPayoutable(null|bool $isPayoutable): static + { + $this->fields['isPayoutable'] = $isPayoutable; + + return $this; + } + private function setBillingPortalUrl(null|string $billingPortalUrl): static { $this->fields['billingPortalUrl'] = $billingPortalUrl; diff --git a/src/Model/PayoutRequest.php b/src/Model/PayoutRequest.php index c399e8ac1..7d45afa5d 100644 --- a/src/Model/PayoutRequest.php +++ b/src/Model/PayoutRequest.php @@ -82,6 +82,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('blockReason', $data)) { $this->setBlockReason($data['blockReason']); } + if (array_key_exists('splitReason', $data)) { + $this->setSplitReason($data['splitReason']); + } if (array_key_exists('batchId', $data)) { $this->setBatchId($data['batchId']); } @@ -239,6 +242,18 @@ public function setBlockReason(null|string $blockReason): static return $this; } + public function getSplitReason(): ?string + { + return $this->fields['splitReason'] ?? null; + } + + public function setSplitReason(null|string $splitReason): static + { + $this->fields['splitReason'] = $splitReason; + + return $this; + } + public function getBatchId(): ?string { return $this->fields['batchId'] ?? null; @@ -345,6 +360,9 @@ public function jsonSerialize(): array if (array_key_exists('blockReason', $this->fields)) { $data['blockReason'] = $this->fields['blockReason']; } + if (array_key_exists('splitReason', $this->fields)) { + $data['splitReason'] = $this->fields['splitReason']; + } if (array_key_exists('batchId', $this->fields)) { $data['batchId'] = $this->fields['batchId']; } diff --git a/src/Model/PayoutRequestSplit.php b/src/Model/PayoutRequestSplit.php index 6e95c63ca..f6d5b07c0 100644 --- a/src/Model/PayoutRequestSplit.php +++ b/src/Model/PayoutRequestSplit.php @@ -21,6 +21,20 @@ class PayoutRequestSplit implements JsonSerializable { use HasMetadata; + public const SPLIT_REASON_PAYMENT_INSTRUMENT_LIMIT = 'payment-instrument-limit'; + + public const SPLIT_REASON_PROCESSOR_LIMIT = 'processor-limit'; + + public const SPLIT_REASON_RISK_REVIEW = 'risk-review'; + + public const SPLIT_REASON_COMPLIANCE_REVIEW = 'compliance-review'; + + public const SPLIT_REASON_PARTIAL_PROCESSING = 'partial-processing'; + + public const SPLIT_REASON_OPERATIONAL_RECONCILIATION = 'operational-reconciliation'; + + public const SPLIT_REASON_OTHER = 'other'; + private array $fields = []; public function __construct(array $data = [], array $metadata = []) @@ -28,6 +42,12 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('amounts', $data)) { $this->setAmounts($data['amounts']); } + if (array_key_exists('splitReason', $data)) { + $this->setSplitReason($data['splitReason']); + } + if (array_key_exists('splitDescription', $data)) { + $this->setSplitDescription($data['splitDescription']); + } $this->setMetadata($metadata); } @@ -59,12 +79,42 @@ public function setAmounts(array $amounts): static return $this; } + public function getSplitReason(): string + { + return $this->fields['splitReason']; + } + + public function setSplitReason(string $splitReason): static + { + $this->fields['splitReason'] = $splitReason; + + return $this; + } + + public function getSplitDescription(): ?string + { + return $this->fields['splitDescription'] ?? null; + } + + public function setSplitDescription(null|string $splitDescription): static + { + $this->fields['splitDescription'] = $splitDescription; + + return $this; + } + public function jsonSerialize(): array { $data = []; if (array_key_exists('amounts', $this->fields)) { $data['amounts'] = $this->fields['amounts']; } + if (array_key_exists('splitReason', $this->fields)) { + $data['splitReason'] = $this->fields['splitReason']; + } + if (array_key_exists('splitDescription', $this->fields)) { + $data['splitDescription'] = $this->fields['splitDescription']; + } return $data; } diff --git a/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php b/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php index aca4d88f8..468144507 100644 --- a/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php +++ b/src/Model/PickInstructionGatewayAcquirerWeightsWeightedList.php @@ -203,6 +203,8 @@ class PickInstructionGatewayAcquirerWeightsWeightedList implements JsonSerializa public const GATEWAY_NAME_ILIXIUM = 'Ilixium'; + public const GATEWAY_NAME_I_MERCHANT = 'IMerchant'; + public const GATEWAY_NAME_INGENICO = 'Ingenico'; public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY'; diff --git a/src/Model/Plan.php b/src/Model/Plan.php index 568c3f25d..038ae476c 100644 --- a/src/Model/Plan.php +++ b/src/Model/Plan.php @@ -67,6 +67,10 @@ public function getRevision(): ?int; public function getIsTrialOnly(): ?bool; + public function getRecurringInterval(): ?PlanSubscriptionPlanRecurringInterval; + + public function getTrial(): ?PlanTrial; + public function getCreatedTime(): ?DateTimeImmutable; public function getUpdatedTime(): ?DateTimeImmutable; diff --git a/src/Model/PlanOneTimeSalePlan.php b/src/Model/PlanOneTimeSalePlan.php index 72a397b62..1cbd5634b 100644 --- a/src/Model/PlanOneTimeSalePlan.php +++ b/src/Model/PlanOneTimeSalePlan.php @@ -65,6 +65,12 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('isTrialOnly', $data)) { $this->setIsTrialOnly($data['isTrialOnly']); } + if (array_key_exists('recurringInterval', $data)) { + $this->setRecurringInterval($data['recurringInterval']); + } + if (array_key_exists('trial', $data)) { + $this->setTrial($data['trial']); + } if (array_key_exists('createdTime', $data)) { $this->setCreatedTime($data['createdTime']); } @@ -234,6 +240,16 @@ public function getIsTrialOnly(): ?bool return $this->fields['isTrialOnly'] ?? null; } + public function getRecurringInterval(): null + { + return $this->fields['recurringInterval'] ?? null; + } + + public function getTrial(): null + { + return $this->fields['trial'] ?? null; + } + public function getCreatedTime(): ?DateTimeImmutable { return $this->fields['createdTime'] ?? null; @@ -301,6 +317,12 @@ public function jsonSerialize(): array if (array_key_exists('isTrialOnly', $this->fields)) { $data['isTrialOnly'] = $this->fields['isTrialOnly']; } + if (array_key_exists('recurringInterval', $this->fields)) { + $data['recurringInterval'] = $this->fields['recurringInterval']; + } + if (array_key_exists('trial', $this->fields)) { + $data['trial'] = $this->fields['trial']; + } if (array_key_exists('createdTime', $this->fields)) { $data['createdTime'] = $this->fields['createdTime']?->format(DateTimeInterface::RFC3339); } @@ -343,6 +365,20 @@ private function setIsTrialOnly(null|bool $isTrialOnly): static return $this; } + private function setRecurringInterval(null $recurringInterval): static + { + $this->fields['recurringInterval'] = $recurringInterval; + + return $this; + } + + private function setTrial(null $trial): static + { + $this->fields['trial'] = $trial; + + return $this; + } + private function setCreatedTime(null|DateTimeImmutable|string $createdTime): static { if ($createdTime !== null && !($createdTime instanceof DateTimeImmutable)) { diff --git a/src/Model/PlanSubscriptionPlan.php b/src/Model/PlanSubscriptionPlan.php index 847486c44..2e5f26460 100644 --- a/src/Model/PlanSubscriptionPlan.php +++ b/src/Model/PlanSubscriptionPlan.php @@ -246,14 +246,14 @@ public function getIsTrialOnly(): ?bool return $this->fields['isTrialOnly'] ?? null; } - public function getRecurringInterval(): ?PlanSubscriptionPlanRecurringInterval + public function getRecurringInterval(): PlanSubscriptionPlanRecurringInterval { - return $this->fields['recurringInterval'] ?? null; + return $this->fields['recurringInterval']; } - public function setRecurringInterval(null|PlanSubscriptionPlanRecurringInterval|array $recurringInterval): static + public function setRecurringInterval(PlanSubscriptionPlanRecurringInterval|array $recurringInterval): static { - if ($recurringInterval !== null && !($recurringInterval instanceof PlanSubscriptionPlanRecurringInterval)) { + if (!($recurringInterval instanceof PlanSubscriptionPlanRecurringInterval)) { $recurringInterval = PlanSubscriptionPlanRecurringInterval::from($recurringInterval); } @@ -367,7 +367,7 @@ public function jsonSerialize(): array $data['isTrialOnly'] = $this->fields['isTrialOnly']; } if (array_key_exists('recurringInterval', $this->fields)) { - $data['recurringInterval'] = $this->fields['recurringInterval']?->jsonSerialize(); + $data['recurringInterval'] = $this->fields['recurringInterval']->jsonSerialize(); } if (array_key_exists('trial', $this->fields)) { $data['trial'] = $this->fields['trial']?->jsonSerialize(); diff --git a/src/Model/PlanSubscriptionPlanMeteredBilling.php b/src/Model/PlanSubscriptionPlanMeteredBilling.php index f31163e72..37eb0c5a5 100644 --- a/src/Model/PlanSubscriptionPlanMeteredBilling.php +++ b/src/Model/PlanSubscriptionPlanMeteredBilling.php @@ -38,6 +38,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('max', $data)) { $this->setMax($data['max']); } + if (array_key_exists('sticky', $data)) { + $this->setSticky($data['sticky']); + } $this->setMetadata($metadata); } @@ -90,6 +93,18 @@ public function setMax(null|float|string $max): static return $this; } + public function getSticky(): ?bool + { + return $this->fields['sticky'] ?? null; + } + + public function setSticky(null|bool $sticky): static + { + $this->fields['sticky'] = $sticky; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -102,6 +117,9 @@ public function jsonSerialize(): array if (array_key_exists('max', $this->fields)) { $data['max'] = $this->fields['max']; } + if (array_key_exists('sticky', $this->fields)) { + $data['sticky'] = $this->fields['sticky']; + } return $data; } diff --git a/src/Model/PlanTrialOnlyPlan.php b/src/Model/PlanTrialOnlyPlan.php index 406d3d18f..acbf82fb3 100644 --- a/src/Model/PlanTrialOnlyPlan.php +++ b/src/Model/PlanTrialOnlyPlan.php @@ -62,6 +62,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('isTrialOnly', $data)) { $this->setIsTrialOnly($data['isTrialOnly']); } + if (array_key_exists('recurringInterval', $data)) { + $this->setRecurringInterval($data['recurringInterval']); + } if (array_key_exists('trial', $data)) { $this->setTrial($data['trial']); } @@ -221,6 +224,11 @@ public function getIsTrialOnly(): ?bool return $this->fields['isTrialOnly'] ?? null; } + public function getRecurringInterval(): null + { + return $this->fields['recurringInterval'] ?? null; + } + public function getTrial(): PlanTrial { return $this->fields['trial']; @@ -306,6 +314,9 @@ public function jsonSerialize(): array if (array_key_exists('isTrialOnly', $this->fields)) { $data['isTrialOnly'] = $this->fields['isTrialOnly']; } + if (array_key_exists('recurringInterval', $this->fields)) { + $data['recurringInterval'] = $this->fields['recurringInterval']; + } if (array_key_exists('trial', $this->fields)) { $data['trial'] = $this->fields['trial']->jsonSerialize(); } @@ -354,6 +365,13 @@ private function setIsTrialOnly(null|bool $isTrialOnly): static return $this; } + private function setRecurringInterval(null $recurringInterval): static + { + $this->fields['recurringInterval'] = $recurringInterval; + + return $this; + } + private function setInvoiceTimeShift(null|InvoiceTimeShift|array $invoiceTimeShift): static { if ($invoiceTimeShift !== null && !($invoiceTimeShift instanceof InvoiceTimeShift)) { diff --git a/src/Model/QuoteSubscriptionItem.php b/src/Model/QuoteSubscriptionItem.php index 0fde35dca..acbb3f515 100644 --- a/src/Model/QuoteSubscriptionItem.php +++ b/src/Model/QuoteSubscriptionItem.php @@ -32,6 +32,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('quantity', $data)) { $this->setQuantity($data['quantity']); } + if (array_key_exists('quantityFilled', $data)) { + $this->setQuantityFilled($data['quantityFilled']); + } if (array_key_exists('plan', $data)) { $this->setPlan($data['plan']); } @@ -80,6 +83,22 @@ public function setQuantity(null|int $quantity): static return $this; } + public function getQuantityFilled(): ?float + { + return $this->fields['quantityFilled'] ?? null; + } + + public function setQuantityFilled(null|float|string $quantityFilled): static + { + if (is_string($quantityFilled)) { + $quantityFilled = (float) $quantityFilled; + } + + $this->fields['quantityFilled'] = $quantityFilled; + + return $this; + } + public function getPlan(): ConfigurablePlan { return $this->fields['plan']; @@ -157,6 +176,9 @@ public function jsonSerialize(): array if (array_key_exists('quantity', $this->fields)) { $data['quantity'] = $this->fields['quantity']; } + if (array_key_exists('quantityFilled', $this->fields)) { + $data['quantityFilled'] = $this->fields['quantityFilled']; + } if (array_key_exists('plan', $this->fields)) { $data['plan'] = $this->fields['plan']->jsonSerialize(); } diff --git a/src/Model/ReportKycRejectionsDataRejectionReasons.php b/src/Model/ReportKycRejectionsDataRejectionReasons.php index 4e545b7b4..f1428db40 100644 --- a/src/Model/ReportKycRejectionsDataRejectionReasons.php +++ b/src/Model/ReportKycRejectionsDataRejectionReasons.php @@ -25,6 +25,8 @@ class ReportKycRejectionsDataRejectionReasons implements JsonSerializable public const REJECTION_REASON_DOCUMENT_EXPIRED = 'document-expired'; + public const REJECTION_REASON_DOCUMENT_WAS_VALID_BUT_EXPIRED = 'document-was-valid-but-expired'; + public const REJECTION_REASON_DOCUMENT_NOT_MATCHING = 'document-not-matching'; public const REJECTION_REASON_DOCUMENT_DUPLICATE = 'document-duplicate'; @@ -47,6 +49,8 @@ class ReportKycRejectionsDataRejectionReasons implements JsonSerializable public const REJECTION_REASON_NAME_MISMATCH = 'name-mismatch'; + public const REJECTION_REASON_NAME_AND_DOB_MISMATCH = 'name-and-dob-mismatch'; + public const REJECTION_REASON_CRITICAL_INFO_MISSING = 'critical-info-missing'; public const REJECTION_REASON_OLD_ADDRESS_ON_ID = 'old-address-on-id'; diff --git a/src/Model/TagUntagRule.php b/src/Model/TagUntagRule.php index 97f8a69a3..8ef0cbc33 100644 --- a/src/Model/TagUntagRule.php +++ b/src/Model/TagUntagRule.php @@ -161,6 +161,12 @@ class TagUntagRule implements JsonSerializable public const EVENT_TYPE_TRANSACTION_PROCESSED = 'transaction-processed'; + public const EVENT_TYPE_TRANSACTION_PARTIALLY_REFUNDED = 'transaction-partially-refunded'; + + public const EVENT_TYPE_TRANSACTION_REFUNDED = 'transaction-refunded'; + + public const EVENT_TYPE_TRANSACTION_VOIDED = 'transaction-voided'; + public const EVENT_TYPE_TRIAL_USAGE_LIMIT_REACHED = 'trial-usage-limit-reached'; public const STATUS_ACTIVE = 'active'; diff --git a/src/Model/Transaction.php b/src/Model/Transaction.php index 8c77c8d43..8e1a1b270 100644 --- a/src/Model/Transaction.php +++ b/src/Model/Transaction.php @@ -261,6 +261,8 @@ class Transaction implements JsonSerializable public const GATEWAY_NAME_ILIXIUM = 'Ilixium'; + public const GATEWAY_NAME_I_MERCHANT = 'IMerchant'; + public const GATEWAY_NAME_INGENICO = 'Ingenico'; public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY'; diff --git a/src/Model/TransactionTimeline.php b/src/Model/TransactionTimeline.php index 59208a8cc..8dd905419 100644 --- a/src/Model/TransactionTimeline.php +++ b/src/Model/TransactionTimeline.php @@ -97,6 +97,8 @@ class TransactionTimeline implements JsonSerializable public const TYPE_TRANSACTION_PAYMENT_METHOD_CHANGED = 'transaction-payment-method-changed'; + public const TYPE_TRANSACTION_PARTIALLY_REFUNDED = 'transaction-partially-refunded'; + public const TYPE_TRANSACTION_PROCESS_REQUESTED = 'transaction-process-requested'; public const TYPE_TRANSACTION_PROCESSED = 'transaction-processed'; diff --git a/src/Model/WebhookTracking.php b/src/Model/WebhookTracking.php index 3e7b61778..5f21c8822 100644 --- a/src/Model/WebhookTracking.php +++ b/src/Model/WebhookTracking.php @@ -251,8 +251,14 @@ class WebhookTracking implements JsonSerializable public const EVENT_TYPE_TRANSACTION_RECONCILED = 'transaction-reconciled'; + public const EVENT_TYPE_TRANSACTION_PARTIALLY_REFUNDED = 'transaction-partially-refunded'; + + public const EVENT_TYPE_TRANSACTION_REFUNDED = 'transaction-refunded'; + public const EVENT_TYPE_TRANSACTION_TIMEOUT_RESOLVED = 'transaction-timeout-resolved'; + public const EVENT_TYPE_TRANSACTION_VOIDED = 'transaction-voided'; + public const EVENT_TYPE_TRIAL_USAGE_LIMIT_REACHED = 'trial-usage-limit-reached'; public const EVENT_TYPE_WAITING_GATEWAY_TRANSACTION_COMPLETED = 'waiting-gateway-transaction-completed'; diff --git a/src/Model/WebsiteSettingsPayoutRequest.php b/src/Model/WebsiteSettingsPayoutRequest.php index 3889f0e82..4d1ac6779 100644 --- a/src/Model/WebsiteSettingsPayoutRequest.php +++ b/src/Model/WebsiteSettingsPayoutRequest.php @@ -31,6 +31,9 @@ public function __construct(array $data = [], array $metadata = []) if (array_key_exists('pendingPeriodHours', $data)) { $this->setPendingPeriodHours($data['pendingPeriodHours']); } + if (array_key_exists('automaticReadinessTime', $data)) { + $this->setAutomaticReadinessTime($data['automaticReadinessTime']); + } $this->setMetadata($metadata); } @@ -63,6 +66,18 @@ public function setPendingPeriodHours(null|int $pendingPeriodHours): static return $this; } + public function getAutomaticReadinessTime(): ?string + { + return $this->fields['automaticReadinessTime'] ?? null; + } + + public function setAutomaticReadinessTime(null|string $automaticReadinessTime): static + { + $this->fields['automaticReadinessTime'] = $automaticReadinessTime; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -72,6 +87,9 @@ public function jsonSerialize(): array if (array_key_exists('pendingPeriodHours', $this->fields)) { $data['pendingPeriodHours'] = $this->fields['pendingPeriodHours']; } + if (array_key_exists('automaticReadinessTime', $this->fields)) { + $data['automaticReadinessTime'] = $this->fields['automaticReadinessTime']; + } return $data; }