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_failedevent withwill_attempt_retryset to true, we will send apayment:resubmission_requestedevent.You can treat this exactly the same as a manual user-triggered retry - the payment will be re-attempted on the new
charge_dateand will go through the normal payment flow.
How to know which payments will be retried
You can use the
will_attempt_retryflag on thepayment:failedevent 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_possibleset tofalseWhile 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
