> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

## v1.0.15

This release includes breaking changes. The notification log and stored payment method models now match what the API returns, and OCR results have new amount fields. See [September 22, 2026](/changelog/api-changelog/2026/9/22), [September 29, 2026](/changelog/api-changelog/2026/9/29), [October 1, 2026](/changelog/api-changelog/2026/10/1), [October 2, 2026](/changelog/api-changelog/2026/10/2), and [October 5, 2026](/changelog/api-changelog/2026/10/5) for more information.

### Notification log retry methods return new types

`notificationlogs.retry_notification_log` now returns `NotificationRetryResponse`, which has a single `message` field, instead of `NotificationLogDetail`. `notificationlogs.bulk_retry_notification_logs` now returns `str` instead of `None`. The async client has the same changes.

```python
# Before
log: NotificationLogDetail = client.notificationlogs.retry_notification_log("UUID")

# After
retry: NotificationRetryResponse = client.notificationlogs.retry_notification_log("UUID")
message: str = retry.message
bulk: str = client.notificationlogs.bulk_retry_notification_logs(request=["UUID"])
```

### Notification log models share a new base model

`NotificationLog` and `NotificationLogDetail` now both subclass the new `NotificationLogBase`. `NotificationLogDetail` no longer subclasses `NotificationLog`, so `isinstance(detail, NotificationLog)` is now `False`.

* Both models add the required fields `organization_name`, `paypoint_name`, `request_id`, and `response_status_code` (`int`).
* `response_status` is now `str` instead of `Optional[str]`. It holds a status message such as `OK`. The HTTP status code is in `response_status_code`.
* `NotificationLog` adds the required fields `notification_type`, `organization_logo`, `organization_fav_icon`, and `paypoint_logo`.
* On `NotificationLogDetail`, `response_content` is now a required `str`.

Models built without the new required fields, such as test fixtures, now raise `ValidationError`.

### Customer fields on stored payment methods

`GetMethodResponseResponseDataCustomersItem` no longer subclasses `PayorDataRequest`. It now has the customer record's fields. `first_name` and `last_name` are now `firstname` and `lastname`, and `shipping_address_1` is now typed `Shippingaddressadditional`.

#### Removed and added fields

Removed: `additional_data`, `billing_address_1`, `billing_address_2`, `billing_city`, `billing_country`, `billing_email`, `billing_phone`, `billing_state`, `billing_zip`, and `shipping_address_2`.

Added: `additional_fields`, `address`, `address_1`, `city`, `country`, `customer_events`, `customer_portal`, `email`, `phone`, `shipping_address`, `state`, and `zip`.

### New response fields

* `AddMethodResponse` adds `page_identifier`, and `AddMethodResponseResponseData` adds `auth_code`, `avs_response_text`, `cvv_response_text`, and `vendor_id`.
* `GetMethodResponseResponseData` adds `wallet_type`.
* `OcrResultData` adds `total_amount` and `discount` (`Optional[float]`).