What's new?
We added a new declined_not_retryable allowed value for the transaction.payments[].error_code field. It's set by Paddle when a payment attempt fails because it's declined, and the issuer indicated it should not be retried.
Reason why a payment attempt failed. Returns null if payment captured successfully.
declined_not_retryable Payment method has been declined, and the issuer has indicated that it should not be retried. This could mean the account is closed or the customer revoked authorization to charge the payment method.
How it works
The error_code field against a transaction payment attempt gives you more information about why a payment attempt failed. It's set by Paddle.
When a payment declines, sometimes issuers indicate that the payment method should not be retried. Previously, we returned the error code for these kinds of failures as declined. Now, we return a new declined_not_retryable error code.
Issuers may return declined_not_retryable where payment method accounts are closed, or where a customer revoked authorization to charge a payment method.
Next steps
This change is available in version 1 of the Paddle API.
It's a non-breaking change, meaning it doesn't impact existing integrations.
You can work with transactions using the API to see the new allowed value.
Summary of changes
| Entity | Field | Change | Type |
|---|---|---|---|
| transaction.payments[].error_code | declined_not_retryable | + Added | Enum value |
| Payment declined with no further retry attempts. | |||