This PR has been automatically generated. Please review it and merge it
if everything is fine.
> [!CAUTION]
> This is a BREAKING CHANGE.
> As a result, the SDK removes support for several deprecated endpoints
and related resources. Code using these endpoints will need to be
updated.
This change adds support for the `riskified` external fraud tool and
removes unused endpoints:
<details><summary>
### 1. Add `riskified` attribute to InvoiceExternalFraudTools
</summary>
This change adds support for the `riskified` external fraud tool
attribute in the `InvoiceExternalFraudTools` class, following the same
pattern as existing fraud tool attributes (`forter`, `ravelin`,
`signifyd`).
The implementation includes:
* Initialization of `_riskified` attribute in `__init__`
* Property getter and setter methods for `riskified`
* Support for `riskified` in `fill_with_data()` method
* Inclusion of `riskified` in `to_json()` serialization
</details>
<details><summary>
### 2. Remove non-existent endpoints and related resources
</summary>
The following endpoints and their associated resources have been removed
as they are no longer supported by the API:
* `/activities` - `Activity` class and `new_activity()` method
* `/coupons` - `Coupon` class and `new_coupon()` method
* `/customers/:id/subscriptions` - `Customer.fetch_subscriptions()`
method and `subscriptions` attribute
* `/discounts` - `Discount` class
* `/plans` - `Plan` class and `new_plan()` method
* `/subscriptions` - `Subscription` class, `new_subscription()` method,
and related subscription attributes from `Transaction` and `Customer`
* `/addons` - `Addon` class and `new_addon()` method
* Supervised projects endpoints - Removed from `Project` class
**Files removed:**
* `processout/activity.py`
* `processout/addon.py`
* `processout/coupon.py`
* `processout/discount.py`
* `processout/plan.py`
* `processout/subscription.py`
**Files modified:**
* `processout/client.py` - Removed factory methods for deleted resources
* `processout/customer.py` - Removed `subscriptions` attribute and
`fetch_subscriptions()` method
* `processout/transaction.py` - Removed `subscription` and
`subscription_id` attributes
* `processout/__init__.py` - Removed imports for deleted classes
* `processout/project.py` - Removed supervised projects endpoints
</details>
<details><summary>
### 3. Additional changes
</summary>
This release also includes various other updates:
* Added `preferred_card_type` to `CardCreateRequest` and
`CardUpdateRequest`
* Added `vault_id` to `Customer` and `Token`
* Added `threeds_sdk` and `platform` to `Device`
* Added `origin` to `Transaction`
* Added `capture_type` to `TransactionOperation`
* Added `split_payments` to `UnsupportedFeatureBypass`
* Updated version to `9.0.0`
</details>
BREAKING CHANGE: Removal of `subscriptions`, `activity`, `addon`,
`coupon`, `discount`, `plan`, in customer, transaction and , projects
endpoints.
Co-authored-by: ProcessOut Fountain <[email protected]>