- log warning when status changes out from confirmed
- fix problem with form in Django 5.0
- support Django 5.1
- remove debug code committed by mistake
- fix safestring in Django 5.0
- fix PayuApiError: invalid response to refund
- fix "AttributeError: Manager isn't accessible via Payment instances" introduced in 1.4.1
- fix multiple deduction of the refund amount from payment.captured_amount
- change statuses of payments refunded with an amount greater than payment.captured_amount to REFUNDED instead of just deducing captured_amount
- fix captured_amount not being saved when processing data
- fix backward compatibility by making PayuProvider's get_refund_description argument optional
- add renewal_triggered_by parameter to payment.set_renew_token
- make PayuProvider.refund fail if get_refund_description is not provided
- make PayuProvider.refund raise PayuApiError if an unexpected response is received
- deprecate the default value of get_refund_description; set it to a callable instead
- deprecate automatic_renewal parameter of payment.set_renew_token; use renewal_triggered_by parameter instead
- deprecate None value of renewal_triggered_by parameter of payment.set_renew_token; set "user"/"task"/"other" instead
- Fix description on PyPI
- add get_refund_description and get_refund_ext_id arguments to PayuProvider
- add PayuProvider.refund
- update payment.captured_amount only when order is completed
- subtract refunds from payment.captured_amount rather than from payment.total
- rename PayuProvider.payu_api_order_url to payu_api_orders_url
- tests for Django 2.2-5.0 Python 3.7-3.12
- treat partial refunds
- tests for Django 2.2-4.0 Python 3.7-3.10
- better distinct PayU API errors
- solve the duplicate order case that errored already confirmed payment
- set fraud status if PayU anti-froud error
- store PayU error on payment
- user Payment.billing_* correctly - the functions like
get_user
orget_user_email
,get_user_first_name
andget_user_last_name
were redundant and are not called anymore. - Shop name is taken from provider configuration variable
shop_name
- redirect to payment.get_failure_url() after API error, log the error
- first major release
- many fixes
- recurring payments working
- proved by production environment
- fix amount quantization
- add store_card parameter
- fix base url parameter for express form
- Second release
- Fixed testing matrix
- First release on PyPI.
- Still in development.