Products: Success+ (Intelligent Retries)
What is Success+ and what does it do?
Success+ is a payment intelligence and automation product that uses machine learning to manage and reduce payment failures. When a payment fails, Success+ retries it on the date it’s most likely to succeed, recovering on average 71% of failed payments.
What payments does Success+ retry?
Success+ will only retry payments that fail due to NSF (Non-sufficient funds). You can see a breakdown of reason codes below:
Scheme | Reason codes |
---|---|
ACH | R01, R09 |
AutoGiro | TK82-1 |
BACS | 0 |
BECS | 6 |
BECS_NZ | AM04 |
PAD | 901 |
SEPA | AM04, MS03* |
*MS03 only applies to the following countries: Austria, Belgium, Germany, Luxembourg and Slovakia
How to use Success+
Enabling Success+
Success+ is enabled via the GoCardless dashboard.
You must be an admin user to enable Success+. If for any reason you are not able to enable the feature through the GoCardless dashboard, you will be prompted to contact our Sales or Support team. |
Log into the GoCardless dashboard and navigate to the Success+ page. Or follow the link here.
Click Turn on Success+ or Retry settings
Choose the scheme/schemes you want to enable Success+ for
Choose the configuration that suits your business. We offer a default preset with the highest chance of recovery.
Click Enable retries for… to enable Success+
Using Success+ through API
As mentioned above, configuration for Success+ is done via the GoCardless dashboard, even if your business uses GoCardless via API. However, API merchants do have the additional ability to decide whether Success+ should be applied on each payment they submit, via a boolean flag. This is useful if your business wants to create its own rules about when Success+ should apply to different customers or payment types.
The Success+ flag
The flag retry_if_possible
is used to control whether Success+ is enabled on a payment. The following payment types support this boolean flag:
Individual payments
Instalment schedules
Subscriptions
For API users enabling Success+, the flag is mandatory and by default, the flag will be set to false
. If you are enabling Success+ as a partner, the flag will automatically be set to true
unless specified otherwise.
Using Success+ with individual payments
Creating payments
When creating a payment, set retry_if_possible
to true
. This will enable intelligent retries if the payment is eligible.
Updating payments
If a payment has been created with retry_if_possible
set to true
, then it can be updated to false
. This will prevent the payment from being automatically retried in the event of a failure.
The API currently only allows the flag to be updated to false. Hence for a payment which has been already created it is not possible to set this flag to true. |
1POST https://api.gocardless.com/payments HTTP/1.1
2Content-Type: application/json
3{
4 "payments": {
5 "amount": 100,
6 "currency": "GBP",
7 "retry_if_possible": true,
8 ...
9 }
10}
11
12PUT https://api.gocardless.com/payments/PM123 HTTP/1.1
13Content-Type: application/json
14{
15 "payments": {
16 "retry_if_possible": false
17 }
18}
Using Success+ with Instalment Schedules
When creating an instalment schedule set retry_if_possible
to true to ensure that all instalment payments created are automatically retried upon failure.
1POST https://api.gocardless.com/instalment_schedules HTTP/1.1
2Content-Type: application/json
3{
4 "instalment_schedules": {
5 "name": "Bike Invoice 271",
6 "total_amount": "2500",
7 "currency": "GBP",
8 "retry_if_possible": true,
9 ...
10}
Using Success+ with Subscriptions
When creating a subscription set retry_if_possible
to true to ensure that all payments created for the subscription are retried automatically upon failure.
Further information
For further information, visit the API Reference for Success+ here.
What to do if a payment is going to be retried
After any
payment_failed
event withwill_attempt_retry
set to true, we will send apayment:resubmission_requested
event.You can treat this exactly the same as a manual user-triggered retry - the payment will be re-attempted on the new
charge_date
and will go through the normal payment flow.
How to know which payments will be retried
You can use the
will_attempt_retry
flag on thepayment:failed
event to identify payments which will be intelligently retried.If the flag is set to
true
, then the payment will be intelligently retried.If set to
false
, the payment will not be retried and then you can retry the payment manually.
How to stop a payment being retried
To stop a payment from being retried, call update payment endpoint with
retry_if_possible
set tofalse
While the initial payment will still continue, it will not be automatically retried.
The payment status must be in "pending_submission" for it to be updated successfully