diff --git a/.changeset/big-rivers-yawn.md b/.changeset/big-rivers-yawn.md new file mode 100644 index 00000000..97047ef5 --- /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 00000000..02f3f713 --- /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 00000000..8d66480e --- /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 00000000..16bbdcd3 --- /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 00000000..8d66480e --- /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 00000000..81cd3c1c --- /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 00000000..a42acf29 --- /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 00000000..a42acf29 --- /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 00000000..8d66480e --- /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 00000000..30c56cdc --- /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 00000000..f8cacb7a --- /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/stupid-trainers-develop.md b/.changeset/stupid-trainers-develop.md new file mode 100644 index 00000000..8d66480e --- /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 00000000..4421b39c --- /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 8b2c0fa8..b4eee235 100644 --- a/.openapi-snapshot.yaml +++ b/.openapi-snapshot.yaml @@ -11437,7 +11437,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 +21242,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 +21492,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 +32281,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/TransactionWebhook' + 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/TransactionWebhook' + 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/TransactionWebhook' + responses: + 2xx: + description: Returns any 2xx status to indicate that data is received. transaction-timeout-resolved: post: summary: Transaction timeout resolved @@ -36710,6 +36750,7 @@ components: - transaction-discrepancy-found - transaction-disputed - transaction-reconciled + - transaction-partially-refunded - transaction-refunded - transaction-voided - transaction-waiting-gateway @@ -38095,6 +38136,7 @@ components: - iCheque - iDebit - Ilixium + - IMerchant - Ingenico - INOVAPAY - Inovio @@ -40233,6 +40275,7 @@ components: - transaction-canceled - transaction-declined - transaction-initiated + - transaction-partially-refunded - transaction-refunded - transaction-voided triggeredBy: @@ -41206,6 +41249,7 @@ components: - subtype-missing - dob-mismatch - name-mismatch + - name-and-dob-mismatch - critical-info-missing - old-address-on-id - tampered-document @@ -43065,6 +43109,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' @@ -44957,6 +45008,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 @@ -45352,6 +45412,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: @@ -48674,9 +48743,17 @@ components: pendingPeriodHours: type: integer description: Number of hours a payout request stays pending before the automatic readiness job can set it to ready. - minimum: 0 + minimum: 1 maximum: 8760 default: 48 + automaticReadinessTime: + description: |- + Time of day when the automatic readiness job processes eligible pending payout requests. + Use extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset. + allOf: + - $ref: '#/components/schemas/TimeIso8601Extended' + default: '10:00:00' + example: 10:00:00Z logoId: type: - string @@ -51737,6 +51814,7 @@ components: - transaction-disputed - transaction-initiated - transaction-payment-method-changed + - transaction-partially-refunded - transaction-process-requested - transaction-processed - transaction-queried @@ -57036,6 +57114,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' @@ -60410,6 +60489,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 +66593,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: @@ -66777,6 +66888,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 +66949,7 @@ components: type: object required: - amounts + - splitReason properties: amounts: description: |- @@ -66854,6 +66970,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 +67509,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: @@ -74982,6 +75109,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,7 +78938,11 @@ components: - transaction-discrepancy-found - transaction-process-requested - transaction-processed + - transaction-reconciled + - transaction-partially-refunded + - transaction-refunded - transaction-timeout-resolved + - transaction-voided - waiting-gateway-transaction-completed - autodeposit-lookup-performed _embedded: diff --git a/src/Model/CustomerTimeline.php b/src/Model/CustomerTimeline.php index c0b8395f..a9f85f74 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/FlexiblePlanSubscriptionPlanMeteredBilling.php b/src/Model/FlexiblePlanSubscriptionPlanMeteredBilling.php index 0bf5d87a..72ebc611 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/GatewayAccount.php b/src/Model/GatewayAccount.php index 279b6475..81d04e37 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 49ad9e87..d7b214d7 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 04f359f5..f9aa8e7f 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 00000000..eca992d0 --- /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 00000000..554964e6 --- /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 25298603..faceee5b 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 bc477f55..4117cd5d 100644 --- a/src/Model/KycDocumentRejection.php +++ b/src/Model/KycDocumentRejection.php @@ -47,6 +47,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 1a0854ce..4acfa17f 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 c399e8ac..7d45afa5 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 6e95c63c..f6d5b07c 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 aca4d88f..46814450 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/PlanSubscriptionPlanMeteredBilling.php b/src/Model/PlanSubscriptionPlanMeteredBilling.php index f31163e7..37eb0c5a 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/QuoteSubscriptionItem.php b/src/Model/QuoteSubscriptionItem.php index 0fde35dc..acbb3f51 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 4e545b7b..aa380edb 100644 --- a/src/Model/ReportKycRejectionsDataRejectionReasons.php +++ b/src/Model/ReportKycRejectionsDataRejectionReasons.php @@ -47,6 +47,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 97f8a69a..8ef0cbc3 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 8c77c8d4..8e1a1b27 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 59208a8c..8dd90541 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 3e7b6177..5f21c882 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 3889f0e8..4d1ac677 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; }