diff --git a/.changeset/bright-beers-know.md b/.changeset/bright-beers-know.md new file mode 100644 index 00000000..f6add714 --- /dev/null +++ b/.changeset/bright-beers-know.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add 3DS support to Rapyd Rebilly/rebilly#8067 diff --git a/.changeset/bright-crabs-deny.md b/.changeset/bright-crabs-deny.md new file mode 100644 index 00000000..4d0998a5 --- /dev/null +++ b/.changeset/bright-crabs-deny.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/brown-timers-help.md b/.changeset/brown-timers-help.md new file mode 100644 index 00000000..4d0998a5 --- /dev/null +++ b/.changeset/brown-timers-help.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/clean-rocks-scream.md b/.changeset/clean-rocks-scream.md new file mode 100644 index 00000000..b01f3c83 --- /dev/null +++ b/.changeset/clean-rocks-scream.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add payout via Monolo Rebilly/rebilly#8128 diff --git a/.changeset/dirty-garlics-prove.md b/.changeset/dirty-garlics-prove.md new file mode 100644 index 00000000..ad038d9a --- /dev/null +++ b/.changeset/dirty-garlics-prove.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add customFields property to StorefrontPurchase schema Rebilly/rebilly#7908 diff --git a/.changeset/early-socks-agree.md b/.changeset/early-socks-agree.md new file mode 100644 index 00000000..4d0998a5 --- /dev/null +++ b/.changeset/early-socks-agree.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/good-news-turn.md b/.changeset/good-news-turn.md new file mode 100644 index 00000000..6d7cb8b1 --- /dev/null +++ b/.changeset/good-news-turn.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Tampered KYC document detection Rebilly/rebilly#7876 diff --git a/.changeset/gorgeous-owls-enjoy.md b/.changeset/gorgeous-owls-enjoy.md new file mode 100644 index 00000000..e196dc2f --- /dev/null +++ b/.changeset/gorgeous-owls-enjoy.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add Samsung Pay feature to RTP and GatewayAccount Rebilly/rebilly#7971 diff --git a/.changeset/grumpy-panthers-pump.md b/.changeset/grumpy-panthers-pump.md new file mode 100644 index 00000000..b1b5d929 --- /dev/null +++ b/.changeset/grumpy-panthers-pump.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(api-definitions): Add quantity filled limit reached event and webhook Rebilly/rebilly#8095 diff --git a/.changeset/happy-items-ring.md b/.changeset/happy-items-ring.md new file mode 100644 index 00000000..4d0998a5 --- /dev/null +++ b/.changeset/happy-items-ring.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +SDK Generator updated diff --git a/.changeset/modern-geckos-dream.md b/.changeset/modern-geckos-dream.md new file mode 100644 index 00000000..e490c237 --- /dev/null +++ b/.changeset/modern-geckos-dream.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +revert(be): Tampered KYC document detection Rebilly/rebilly#8078 diff --git a/.changeset/modern-meals-live.md b/.changeset/modern-meals-live.md new file mode 100644 index 00000000..49b8495a --- /dev/null +++ b/.changeset/modern-meals-live.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +feat(be): Add 3ds support to Redsys Rebilly/rebilly#8234 diff --git a/.changeset/pretty-fans-sip.md b/.changeset/pretty-fans-sip.md new file mode 100644 index 00000000..65a1102e --- /dev/null +++ b/.changeset/pretty-fans-sip.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +build(deps): merge passing FE dependabot PRs Rebilly/rebilly#8178 diff --git a/.changeset/slow-owls-burn.md b/.changeset/slow-owls-burn.md new file mode 100644 index 00000000..8adda450 --- /dev/null +++ b/.changeset/slow-owls-burn.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +fix(api): Fix missing gate2way mapping Rebilly/rebilly#8029 diff --git a/.changeset/witty-tools-develop.md b/.changeset/witty-tools-develop.md new file mode 100644 index 00000000..b3bc6425 --- /dev/null +++ b/.changeset/witty-tools-develop.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +docs(api-definitions): Add link to deposit URL field Rebilly/rebilly#8290 diff --git a/src/Model/EmailNotification.php b/src/Model/EmailNotification.php index 05f77251..21b1c45a 100644 --- a/src/Model/EmailNotification.php +++ b/src/Model/EmailNotification.php @@ -171,6 +171,8 @@ class EmailNotification implements JsonSerializable public const EVENT_TYPE_SUBSCRIPTION_PAUSED = 'subscription-paused'; + public const EVENT_TYPE_SUBSCRIPTION_QUANTITY_FILLED_LIMIT_REACHED = 'subscription-quantity-filled-limit-reached'; + public const EVENT_TYPE_SUBSCRIPTION_REACTIVATED = 'subscription-reactivated'; public const EVENT_TYPE_SUBSCRIPTION_RENEWAL_REMINDER = 'subscription-renewal-reminder'; diff --git a/src/Model/Gate2way.php b/src/Model/Gate2way.php new file mode 100644 index 00000000..3fc5181e --- /dev/null +++ b/src/Model/Gate2way.php @@ -0,0 +1,61 @@ + 'gate2way', + ] + $data); + + if (array_key_exists('credentials', $data)) { + $this->setCredentials($data['credentials']); + } + } + + public static function from(array $data = []): self + { + return new self($data); + } + + public function getCredentials(): Gate2wayCredentials + { + return $this->fields['credentials']; + } + + public function setCredentials(Gate2wayCredentials|array $credentials): static + { + if (!($credentials instanceof Gate2wayCredentials)) { + $credentials = Gate2wayCredentials::from($credentials); + } + + $this->fields['credentials'] = $credentials; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('credentials', $this->fields)) { + $data['credentials'] = $this->fields['credentials']->jsonSerialize(); + } + + return parent::jsonSerialize() + $data; + } +} diff --git a/src/Model/Gate2wayCredentials.php b/src/Model/Gate2wayCredentials.php new file mode 100644 index 00000000..48943600 --- /dev/null +++ b/src/Model/Gate2wayCredentials.php @@ -0,0 +1,73 @@ +setApiKey($data['apiKey']); + } + if (array_key_exists('apiSecret', $data)) { + $this->setApiSecret($data['apiSecret']); + } + } + + public static function from(array $data = []): self + { + return new self($data); + } + + public function getApiKey(): string + { + return $this->fields['apiKey']; + } + + public function setApiKey(string $apiKey): static + { + $this->fields['apiKey'] = $apiKey; + + return $this; + } + + public function getApiSecret(): string + { + return $this->fields['apiSecret']; + } + + public function setApiSecret(string $apiSecret): static + { + $this->fields['apiSecret'] = $apiSecret; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('apiKey', $this->fields)) { + $data['apiKey'] = $this->fields['apiKey']; + } + if (array_key_exists('apiSecret', $this->fields)) { + $data['apiSecret'] = $this->fields['apiSecret']; + } + + return $data; + } +} diff --git a/src/Model/GatewayAccount.php b/src/Model/GatewayAccount.php index d87274ac..7a83255f 100644 --- a/src/Model/GatewayAccount.php +++ b/src/Model/GatewayAccount.php @@ -1492,6 +1492,8 @@ public static function from(array $data = []): self return Forte::from($data); case 'FundSend': return FundSend::from($data); + case 'gate2way': + return Gate2way::from($data); case 'GET': return GET::from($data); case 'Gigadat': diff --git a/src/Model/IntegrationConfigurations.php b/src/Model/IntegrationConfigurations.php index 4a120be0..0d9ba8c5 100644 --- a/src/Model/IntegrationConfigurations.php +++ b/src/Model/IntegrationConfigurations.php @@ -171,6 +171,8 @@ class IntegrationConfigurations implements JsonSerializable public const EVENT_TYPE_SUBSCRIPTION_PAUSED = 'subscription-paused'; + public const EVENT_TYPE_SUBSCRIPTION_QUANTITY_FILLED_LIMIT_REACHED = 'subscription-quantity-filled-limit-reached'; + public const EVENT_TYPE_SUBSCRIPTION_REACTIVATED = 'subscription-reactivated'; public const EVENT_TYPE_SUBSCRIPTION_RENEWAL_REMINDER = 'subscription-renewal-reminder'; diff --git a/src/Model/Monolo.php b/src/Model/Monolo.php index 9e9c6fcd..aa09feca 100644 --- a/src/Model/Monolo.php +++ b/src/Model/Monolo.php @@ -26,6 +26,9 @@ public function __construct(array $data = []) if (array_key_exists('credentials', $data)) { $this->setCredentials($data['credentials']); } + if (array_key_exists('settings', $data)) { + $this->setSettings($data['settings']); + } } public static function from(array $data = []): self @@ -49,12 +52,31 @@ public function setCredentials(MonoloCredentials|array $credentials): static return $this; } + public function getSettings(): ?MonoloSettings + { + return $this->fields['settings'] ?? null; + } + + public function setSettings(null|MonoloSettings|array $settings): static + { + if ($settings !== null && !($settings instanceof MonoloSettings)) { + $settings = MonoloSettings::from($settings); + } + + $this->fields['settings'] = $settings; + + return $this; + } + public function jsonSerialize(): array { $data = []; if (array_key_exists('credentials', $this->fields)) { $data['credentials'] = $this->fields['credentials']->jsonSerialize(); } + if (array_key_exists('settings', $this->fields)) { + $data['settings'] = $this->fields['settings']?->jsonSerialize(); + } return parent::jsonSerialize() + $data; } diff --git a/src/Model/MonoloSettings.php b/src/Model/MonoloSettings.php new file mode 100644 index 00000000..f244aa2c --- /dev/null +++ b/src/Model/MonoloSettings.php @@ -0,0 +1,73 @@ +setPayoutCurrency($data['payoutCurrency']); + } + if (array_key_exists('payoutNetwork', $data)) { + $this->setPayoutNetwork($data['payoutNetwork']); + } + } + + public static function from(array $data = []): self + { + return new self($data); + } + + public function getPayoutCurrency(): ?string + { + return $this->fields['payoutCurrency'] ?? null; + } + + public function setPayoutCurrency(null|string $payoutCurrency): static + { + $this->fields['payoutCurrency'] = $payoutCurrency; + + return $this; + } + + public function getPayoutNetwork(): ?string + { + return $this->fields['payoutNetwork'] ?? null; + } + + public function setPayoutNetwork(null|string $payoutNetwork): static + { + $this->fields['payoutNetwork'] = $payoutNetwork; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('payoutCurrency', $this->fields)) { + $data['payoutCurrency'] = $this->fields['payoutCurrency']; + } + if (array_key_exists('payoutNetwork', $this->fields)) { + $data['payoutNetwork'] = $this->fields['payoutNetwork']; + } + + return $data; + } +} diff --git a/src/Model/PaymentCardFeature.php b/src/Model/PaymentCardFeature.php index 0ebda4b4..0c6c4576 100644 --- a/src/Model/PaymentCardFeature.php +++ b/src/Model/PaymentCardFeature.php @@ -18,8 +18,4 @@ interface PaymentCardFeature extends JsonSerializable { public function getName(): string; - - public function getCountry(): ?string; - - public function setCountry(null|string $country): static; } diff --git a/src/Model/PaymentCardFeatureFactory.php b/src/Model/PaymentCardFeatureFactory.php index eaa40d3f..f6f959b9 100644 --- a/src/Model/PaymentCardFeatureFactory.php +++ b/src/Model/PaymentCardFeatureFactory.php @@ -22,6 +22,7 @@ public static function from(array $data = []): PaymentCardFeature return match ($data['name']) { 'Apple Pay' => ApplePayFeature::from($data), 'Google Pay' => GooglePayFeature::from($data), + 'Samsung Pay' => SamsungPayFeature::from($data), default => throw new UnknownDiscriminatorValueException(), }; } diff --git a/src/Model/Rapyd.php b/src/Model/Rapyd.php index bbf7f6f2..ba54197e 100644 --- a/src/Model/Rapyd.php +++ b/src/Model/Rapyd.php @@ -29,6 +29,9 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + if (array_key_exists('threeDSecureServer', $data)) { + $this->setThreeDSecureServer($data['threeDSecureServer']); + } } public static function from(array $data = []): self @@ -68,6 +71,22 @@ public function setSettings(null|RapydSettings|array $settings): static 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 = []; @@ -77,6 +96,9 @@ public function jsonSerialize(): array if (array_key_exists('settings', $this->fields)) { $data['settings'] = $this->fields['settings']?->jsonSerialize(); } + if (array_key_exists('threeDSecureServer', $this->fields)) { + $data['threeDSecureServer'] = $this->fields['threeDSecureServer']?->jsonSerialize(); + } return parent::jsonSerialize() + $data; } diff --git a/src/Model/Redsys.php b/src/Model/Redsys.php index 2f72127a..2e75aa56 100644 --- a/src/Model/Redsys.php +++ b/src/Model/Redsys.php @@ -29,6 +29,9 @@ public function __construct(array $data = []) if (array_key_exists('settings', $data)) { $this->setSettings($data['settings']); } + if (array_key_exists('threeDSecureServer', $data)) { + $this->setThreeDSecureServer($data['threeDSecureServer']); + } } public static function from(array $data = []): self @@ -68,6 +71,22 @@ public function setSettings(null|RedsysSettings|array $settings): static 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 = []; @@ -77,6 +96,9 @@ public function jsonSerialize(): array if (array_key_exists('settings', $this->fields)) { $data['settings'] = $this->fields['settings']?->jsonSerialize(); } + if (array_key_exists('threeDSecureServer', $this->fields)) { + $data['threeDSecureServer'] = $this->fields['threeDSecureServer']?->jsonSerialize(); + } return parent::jsonSerialize() + $data; } diff --git a/src/Model/SamsungPayFeature.php b/src/Model/SamsungPayFeature.php new file mode 100644 index 00000000..ede29879 --- /dev/null +++ b/src/Model/SamsungPayFeature.php @@ -0,0 +1,60 @@ +setMerchantName($data['merchantName']); + } + } + + public static function from(array $data = []): self + { + return new self($data); + } + + public function getName(): string + { + return 'Samsung Pay'; + } + + public function getMerchantName(): ?string + { + return $this->fields['merchantName'] ?? null; + } + + public function setMerchantName(null|string $merchantName): static + { + $this->fields['merchantName'] = $merchantName; + + return $this; + } + + public function jsonSerialize(): array + { + $data = [ + 'name' => 'Samsung Pay', + ]; + if (array_key_exists('merchantName', $this->fields)) { + $data['merchantName'] = $this->fields['merchantName']; + } + + return $data; + } +} diff --git a/src/Model/SendThroughAttribution.php b/src/Model/SendThroughAttribution.php index 71a47896..57549ae5 100644 --- a/src/Model/SendThroughAttribution.php +++ b/src/Model/SendThroughAttribution.php @@ -171,6 +171,8 @@ class SendThroughAttribution implements JsonSerializable public const EVENT_TYPE_SUBSCRIPTION_PAUSED = 'subscription-paused'; + public const EVENT_TYPE_SUBSCRIPTION_QUANTITY_FILLED_LIMIT_REACHED = 'subscription-quantity-filled-limit-reached'; + public const EVENT_TYPE_SUBSCRIPTION_REACTIVATED = 'subscription-reactivated'; public const EVENT_TYPE_SUBSCRIPTION_RENEWAL_REMINDER = 'subscription-renewal-reminder'; diff --git a/src/Model/SystemEvent.php b/src/Model/SystemEvent.php index 85fbc701..1ef6710a 100644 --- a/src/Model/SystemEvent.php +++ b/src/Model/SystemEvent.php @@ -171,6 +171,8 @@ class SystemEvent implements JsonSerializable public const EVENT_TYPE_SUBSCRIPTION_PAUSED = 'subscription-paused'; + public const EVENT_TYPE_SUBSCRIPTION_QUANTITY_FILLED_LIMIT_REACHED = 'subscription-quantity-filled-limit-reached'; + public const EVENT_TYPE_SUBSCRIPTION_REACTIVATED = 'subscription-reactivated'; public const EVENT_TYPE_SUBSCRIPTION_RENEWAL_REMINDER = 'subscription-renewal-reminder'; diff --git a/src/Model/WebhookTracking.php b/src/Model/WebhookTracking.php index eec58c1e..05f21431 100644 --- a/src/Model/WebhookTracking.php +++ b/src/Model/WebhookTracking.php @@ -173,6 +173,8 @@ class WebhookTracking implements JsonSerializable public const EVENT_TYPE_SUBSCRIPTION_PAUSED = 'subscription-paused'; + public const EVENT_TYPE_SUBSCRIPTION_QUANTITY_FILLED_LIMIT_REACHED = 'subscription-quantity-filled-limit-reached'; + public const EVENT_TYPE_SUBSCRIPTION_REACTIVATED = 'subscription-reactivated'; public const EVENT_TYPE_SUBSCRIPTION_RENEWAL_REMINDER = 'subscription-renewal-reminder';