diff --git a/.changeset/cool-wasps-explain.md b/.changeset/cool-wasps-explain.md new file mode 100644 index 00000000..53851472 --- /dev/null +++ b/.changeset/cool-wasps-explain.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +Update Conekta OXXO URL (Rebilly/rebilly#7396) diff --git a/.changeset/light-spiders-repeat.md b/.changeset/light-spiders-repeat.md new file mode 100644 index 00000000..ea4627f6 --- /dev/null +++ b/.changeset/light-spiders-repeat.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +Add IPN signature support to Chillstock (Rebilly/rebilly#7615) diff --git a/.changeset/smooth-papayas-lie.md b/.changeset/smooth-papayas-lie.md new file mode 100644 index 00000000..6a4cdef2 --- /dev/null +++ b/.changeset/smooth-papayas-lie.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +Add ignoreRecurring for change items (Rebilly/rebilly#7433) diff --git a/.changeset/wet-clouds-switch.md b/.changeset/wet-clouds-switch.md new file mode 100644 index 00000000..641d4bfc --- /dev/null +++ b/.changeset/wet-clouds-switch.md @@ -0,0 +1,5 @@ +--- +"@rebilly/client-php": patch +--- + +Add new website payment form setting hideZeroAmountSummaryItems (Rebilly/rebilly#7462) diff --git a/src/Model/ChillstockCredentials.php b/src/Model/ChillstockCredentials.php index b66a9dd8..0488da67 100644 --- a/src/Model/ChillstockCredentials.php +++ b/src/Model/ChillstockCredentials.php @@ -27,6 +27,9 @@ public function __construct(array $data = []) if (array_key_exists('privateKey', $data)) { $this->setPrivateKey($data['privateKey']); } + if (array_key_exists('publicKey', $data)) { + $this->setPublicKey($data['publicKey']); + } } public static function from(array $data = []): self @@ -58,6 +61,18 @@ public function setPrivateKey(string $privateKey): static return $this; } + public function getPublicKey(): ?string + { + return $this->fields['publicKey'] ?? null; + } + + public function setPublicKey(null|string $publicKey): static + { + $this->fields['publicKey'] = $publicKey; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -67,6 +82,9 @@ public function jsonSerialize(): array if (array_key_exists('privateKey', $this->fields)) { $data['privateKey'] = $this->fields['privateKey']; } + if (array_key_exists('publicKey', $this->fields)) { + $data['publicKey'] = $this->fields['publicKey']; + } return $data; } diff --git a/src/Model/Conekta.php b/src/Model/Conekta.php index a2656beb..7c0f104e 100644 --- a/src/Model/Conekta.php +++ b/src/Model/Conekta.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(ConektaCredentials|array $credentials): static return $this; } + public function getSettings(): ?ConektaSettings + { + return $this->fields['settings'] ?? null; + } + + public function setSettings(null|ConektaSettings|array $settings): static + { + if ($settings !== null && !($settings instanceof ConektaSettings)) { + $settings = ConektaSettings::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/ConektaSettings.php b/src/Model/ConektaSettings.php new file mode 100644 index 00000000..af89db14 --- /dev/null +++ b/src/Model/ConektaSettings.php @@ -0,0 +1,55 @@ +setBaseUrl($data['baseUrl']); + } + } + + public static function from(array $data = []): self + { + return new self($data); + } + + public function getBaseUrl(): ?string + { + return $this->fields['baseUrl'] ?? null; + } + + public function setBaseUrl(null|string $baseUrl): static + { + $this->fields['baseUrl'] = $baseUrl; + + return $this; + } + + public function jsonSerialize(): array + { + $data = []; + if (array_key_exists('baseUrl', $this->fields)) { + $data['baseUrl'] = $this->fields['baseUrl']; + } + + return $data; + } +} diff --git a/src/Model/SubscriptionChange.php b/src/Model/SubscriptionChange.php index e113c972..ca157d64 100644 --- a/src/Model/SubscriptionChange.php +++ b/src/Model/SubscriptionChange.php @@ -45,6 +45,9 @@ public function __construct(array $data = []) if (array_key_exists('keepTrial', $data)) { $this->setKeepTrial($data['keepTrial']); } + if (array_key_exists('ignoreRecurring', $data)) { + $this->setIgnoreRecurring($data['ignoreRecurring']); + } } public static function from(array $data = []): self @@ -139,6 +142,18 @@ public function setKeepTrial(null|bool $keepTrial): static return $this; } + public function getIgnoreRecurring(): ?bool + { + return $this->fields['ignoreRecurring'] ?? null; + } + + public function setIgnoreRecurring(null|bool $ignoreRecurring): static + { + $this->fields['ignoreRecurring'] = $ignoreRecurring; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -163,6 +178,9 @@ public function jsonSerialize(): array if (array_key_exists('keepTrial', $this->fields)) { $data['keepTrial'] = $this->fields['keepTrial']; } + if (array_key_exists('ignoreRecurring', $this->fields)) { + $data['ignoreRecurring'] = $this->fields['ignoreRecurring']; + } return $data; } diff --git a/src/Model/WebsiteSettingsPaymentFormFeatures.php b/src/Model/WebsiteSettingsPaymentFormFeatures.php index fefd2549..71ae1f70 100644 --- a/src/Model/WebsiteSettingsPaymentFormFeatures.php +++ b/src/Model/WebsiteSettingsPaymentFormFeatures.php @@ -30,6 +30,9 @@ public function __construct(array $data = []) if (array_key_exists('skipRedirectOnPaymentComplete', $data)) { $this->setSkipRedirectOnPaymentComplete($data['skipRedirectOnPaymentComplete']); } + if (array_key_exists('hideZeroAmountSummaryItems', $data)) { + $this->setHideZeroAmountSummaryItems($data['hideZeroAmountSummaryItems']); + } } public static function from(array $data = []): self @@ -79,6 +82,18 @@ public function setSkipRedirectOnPaymentComplete(null|bool $skipRedirectOnPaymen return $this; } + public function getHideZeroAmountSummaryItems(): ?bool + { + return $this->fields['hideZeroAmountSummaryItems'] ?? null; + } + + public function setHideZeroAmountSummaryItems(null|bool $hideZeroAmountSummaryItems): static + { + $this->fields['hideZeroAmountSummaryItems'] = $hideZeroAmountSummaryItems; + + return $this; + } + public function jsonSerialize(): array { $data = []; @@ -91,6 +106,9 @@ public function jsonSerialize(): array if (array_key_exists('skipRedirectOnPaymentComplete', $this->fields)) { $data['skipRedirectOnPaymentComplete'] = $this->fields['skipRedirectOnPaymentComplete']; } + if (array_key_exists('hideZeroAmountSummaryItems', $this->fields)) { + $data['hideZeroAmountSummaryItems'] = $this->fields['hideZeroAmountSummaryItems']; + } return $data; }