Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
e56ea22
Changes generated by c1a246cf193597d4a75b4787fe464fa9d5cbf101
gocardless-ci-robot[bot] Jun 16, 2026
004f405
Changes generated by 893a370c1e1fa2eb153215ac032eb19dbcae5641
gocardless-ci-robot[bot] Jun 22, 2026
6c0072c
Changes generated by d97c5f53b394eaa852733dc030b77590b491794c
gocardless-ci-robot[bot] Jun 26, 2026
d9e2cfe
Changes generated by 5bc32e9481786eea9c3d32e230fdacc4a3d47f50
gocardless-ci-robot[bot] Jul 7, 2026
d69699a
Changes generated by 0e52fa170fb1e7a538fd16be889f703d99a3870e
gocardless-ci-robot[bot] Jul 14, 2026
ddff88a
Changes generated by 60c9c8347683e91d547ef7ed703e285c4e86c9f6
gocardless-ci-robot[bot] Jul 20, 2026
4dddb42
Changes generated by 0447966dbc7deb4a368eb115ca363fe1cfcfbd16
gocardless-ci-robot[bot] Jul 21, 2026
eb66848
Changes generated by d044d660596f0b07477534a07153e6117105c550
gocardless-ci-robot[bot] Jul 21, 2026
f422496
Changes generated by 9d9ff143689ee009c9124b148c0c3d597e5060c2
gocardless-ci-robot[bot] Jul 21, 2026
da5f085
Changes generated by cab4c6d4f4714865da64e55cc2cfce31ce27171a
gocardless-ci-robot[bot] Jul 23, 2026
9d332dc
Changes generated by 97d868232e0278008fe5b02332eb9172ceb6925d
gocardless-ci-robot[bot] Jul 23, 2026
27a3ce0
Changes generated by 8135232c4da750ff9085356e02b9f68b859f4669
gocardless-ci-robot[bot] Jul 23, 2026
be5be61
Changes generated by 5bbf60ea938fcf0ded3969cfb501aa08d4cc160d
gocardless-ci-robot[bot] Jul 23, 2026
7e98f77
Changes generated by 95ff30a83616462c5d53d894dcddf48b8d34380d
gocardless-ci-robot[bot] Jul 23, 2026
bc8d07d
Changes generated by 7b2029b95ebd1f522fd4d8f1212955650e4c777c
gocardless-ci-robot[bot] Jul 23, 2026
b50490f
Changes generated by 908307435edb2012708dbedfc8492dd986bd5513
gocardless-ci-robot[bot] Jul 23, 2026
830e84d
Changes generated by 0ef49278188d2ae7b6c02c37901d30f8183a6c90
gocardless-ci-robot[bot] Jul 23, 2026
6bbccc4
Changes generated by 016f226b4970ca25526acb7ecd1647cfc7f83a16
gocardless-ci-robot[bot] Jul 23, 2026
fc7ef4d
Changes generated by 65c970e1b3ca8cccc729e1f8486a1ae398fff3e5
gocardless-ci-robot[bot] Jul 23, 2026
df85f29
Changes generated by 42cfede7892a0fe815fa1a19b1a5cdd8eac41f49
gocardless-ci-robot[bot] Jul 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ buildscript {
}

dependencies {
classpath 'ch.raffael.pegdown-doclet:pegdown-doclet:1.2.1'
classpath 'ch.raffael.pegdown-doclet:pegdown-doclet:1.3'
// Only add Spotless if running on Java 11+
// TODO: Remove this when we drop support for Java 8
if (JavaVersion.current() >= JavaVersion.VERSION_11) {
Expand Down Expand Up @@ -51,19 +51,19 @@ repositories {
}

dependencies {
implementation("com.squareup.okhttp3:okhttp:4.9.1")
implementation 'com.google.code.gson:gson:2.8.7'
implementation("com.google.guava:guava:30.1.1-jre")
implementation 'org.slf4j:slf4j-api:1.7.32'
implementation 'commons-codec:commons-codec:1.15'
implementation("com.squareup.okhttp3:okhttp:5.4.0")
implementation 'com.google.code.gson:gson:2.14.0'
implementation("com.google.guava:guava:33.6.0-jre")
implementation 'org.slf4j:slf4j-api:2.0.18'
implementation 'commons-codec:commons-codec:1.22.0'

implementation('com.github.rholder:guava-retrying:2.0.0') {
exclude group: 'com.google.guava', module: 'guava'
}

testImplementation 'junit:junit:4.13.2'
testImplementation 'org.assertj:assertj-core:3.19.0'
testImplementation 'com.squareup.okhttp3:mockwebserver:4.9.1'
testImplementation 'org.assertj:assertj-core:3.27.7'
testImplementation 'com.squareup.okhttp3:mockwebserver:5.4.0'
}

javadoc {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.5-bin.zip
30 changes: 17 additions & 13 deletions src/main/java/com/gocardless/resources/Balance.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,33 +32,36 @@ public Integer getAmount() {

/**
* Type of the balance. Could be one of
*
* <ul>
* <li>pending_payments_submitted: Payments we have submitted to the scheme but not yet
* confirmed. This does not exactly correspond to <i>Pending payments</i> in the dashboard,
* <li><code>pending_payments_submitted</code>: Payments we have submitted to the scheme but not
* yet confirmed. This does not exactly correspond to <i>Pending payments</i> in the dashboard,
* because this balance does not include payments that are pending submission.</li>
* <li>confirmed_funds: Payments that have been confirmed minus fees and unclaimed debits for
* refunds, failures and chargebacks. These funds have not yet been moved into a payout.</li>
* <li>pending_payouts: Confirmed payments that have been moved into a payout. This is the total
* due to be paid into your bank account in the next payout run (payouts happen once every
* business day). pending_payouts will only be non-zero while we are generating and submitting
* the payouts to our partner bank.</li>
* <li><code>confirmed_funds</code>: Payments that have been confirmed minus fees and unclaimed
* debits for refunds, failures and chargebacks. These funds have not yet been moved into a
* payout.</li>
* <li><code>pending_payouts</code>: Confirmed payments that have been moved into a payout. This
* is the total due to be paid into your bank account in the next payout run (payouts happen
* once every business day). <code>pending_payouts</code> will only be non-zero while we are
* generating and submitting the payouts to our partner bank.</li>
* </ul>
*/
public BalanceType getBalanceType() {
return balanceType;
}

/**
* [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency code. Currently
* "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
* <a href="https://en.wikipedia.org/wiki/ISO_4217#Active_codes">ISO 4217</a> currency code.
* Currently "AUD", "CAD", "DKK", "EUR", "GBP", "NZD", "SEK" and "USD" are supported.
*/
public Currency getCurrency() {
return currency;
}

/**
* Dynamic [timestamp](#api-usage-dates-and-times) recording when this resource was last
* updated.
* Dynamic <a href=
* "https://developer.gocardless.com/api-reference/#api-usage-dates-and-times">timestamp</a>
* recording when this resource was last updated.
*/
public String getLastUpdatedAt() {
return lastUpdatedAt;
Expand Down Expand Up @@ -102,7 +105,8 @@ private Links() {
private String creditor;

/**
* ID of the associated [creditor](#core-endpoints-creditors).
* ID of the associated <a href=
* "https://developer.gocardless.com/api-reference/#core-endpoints-creditors">creditor</a>.
*/
public String getCreditor() {
return creditor;
Expand Down
10 changes: 7 additions & 3 deletions src/main/java/com/gocardless/resources/BankAccountDetail.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,13 @@ public String getIv() {
/**
* Base64 URL encoded JWE header values, containing the following keys:
*
* - `alg`: the asymmetric encryption type used to encrypt symmetric key, e.g: `RSA-OAEP`. -
* `enc`: the content encryption type, e.g: `A256GCM`. - `kid`: the ID of an RSA-2048 public
* key, from your JWKS, used to encrypt the AES key.
* <ul>
* <li><code>alg</code>: the asymmetric encryption type used to encrypt symmetric key, e.g:
* <code>RSA-OAEP</code>.</li>
* <li><code>enc</code>: the content encryption type, e.g: <code>A256GCM</code>.</li>
* <li><code>kid</code>: the ID of an RSA-2048 public key, from your JWKS, used to encrypt the
* AES key.</li>
* </ul>
*/
public String getProtectedValue() {
return protectedValue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,16 @@ public String getId() {

/**
* Result of the verification, could be one of
*
* <ul>
* <li>`full_match`: The verification has confirmed that the account name exactly matches the
* details provided.</li>
* <li>`partial_match`: The verification has confirmed that the account name is similar but does
* not match to the details provided.</li>
* <li>`no_match`: The verification concludes the provided name does not match the account
* details.</li>
* <li>`unable_to_match`: The verification could not be performed due to recipient bank issues
* or technical issues</li>
* <li><code>full_match</code>: The verification has confirmed that the account name exactly
* matches the details provided.</li>
* <li><code>partial_match</code>: The verification has confirmed that the account name is
* similar but does not match to the details provided.</li>
* <li><code>no_match</code>: The verification concludes the provided name does not match the
* account details.</li>
* <li><code>unable_to_match</code>: The verification could not be performed due to recipient
* bank issues or technical issues</li>
* </ul>
*/
public Result getResult() {
Expand All @@ -52,19 +53,21 @@ public Result getResult() {

/**
* The status of the bank account holder verification.
*
* <ul>
* <li>`pending`: We have triggered the verification, but the result has not come back yet.</li>
* <li>`completed`: The verification is complete and is ready to be used.</li>
* <li><code>pending</code>: We have triggered the verification, but the result has not come
* back yet.</li>
* <li><code>completed</code>: The verification is complete and is ready to be used.</li>
* </ul>
*
*/
public Status getStatus() {
return status;
}

/**
* Type of the verification that has been performed eg. [Confirmation of
* Payee](https://www.wearepay.uk/what-we-do/overlay-services/confirmation-of-payee/)
* Type of the verification that has been performed eg. <a href=
* "https://www.wearepay.uk/what-we-do/overlay-services/confirmation-of-payee/">Confirmation of
* Payee</a>
*/
public Type getType() {
return type;
Expand Down
56 changes: 32 additions & 24 deletions src/main/java/com/gocardless/resources/BankAuthorisation.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ public AuthorisationType getAuthorisationType() {
}

/**
* Fixed [timestamp](#api-usage-dates-and-times), recording when the user has been authorised.
* Fixed <a href=
* "https://developer.gocardless.com/api-reference/#api-usage-dates-and-times">timestamp</a>,
* recording when the user has been authorised.
*/
public String getAuthorisedAt() {
return authorisedAt;
Expand Down Expand Up @@ -64,8 +66,9 @@ public String getId() {
}

/**
* Fixed [timestamp](#api-usage-dates-and-times), recording when the authorisation URL has been
* visited.
* Fixed <a href=
* "https://developer.gocardless.com/api-reference/#api-usage-dates-and-times">timestamp</a>,
* recording when the authorisation URL has been visited.
*/
public String getLastVisitedAt() {
return lastVisitedAt;
Expand All @@ -77,8 +80,8 @@ public Links getLinks() {

/**
* URL to a QR code PNG image of the bank authorisation url. This QR code can be used as an
* alternative to providing the `url` to the payer to allow them to authorise with their mobile
* devices.
* alternative to providing the <code>url</code> to the payer to allow them to authorise with
* their mobile devices.
*/
public String getQrCodeUrl() {
return qrCodeUrl;
Expand All @@ -87,24 +90,27 @@ public String getQrCodeUrl() {
/**
* URL that the payer can be redirected to after authorising the payment.
*
* On completion of bank authorisation, the query parameter of either `outcome=success` or
* `outcome=failure` will be appended to the `redirect_uri` to indicate the result of the bank
* authorisation. If the bank authorisation is expired, the query parameter `outcome=timeout`
* will be appended to the `redirect_uri`, in which case you should prompt the user to try the
* bank authorisation step again.
* On completion of bank authorisation, the query parameter of either
* <code>outcome=success</code> or <code>outcome=failure</code> will be appended to the
* <code>redirect_uri</code> to indicate the result of the bank authorisation. If the bank
* authorisation is expired, the query parameter <code>outcome=timeout</code> will be appended
* to the <code>redirect_uri</code>, in which case you should prompt the user to try the bank
* authorisation step again.
*
* Please note: bank authorisations can still fail despite an `outcome=success` on the
* `redirect_uri`. It is therefore recommended to wait for the relevant bank authorisation
* event, such as
* [`BANK_AUTHORISATION_AUTHORISED`](#billing-request-bankauthorisationauthorised),
* [`BANK_AUTHORISATION_DENIED`](#billing-request-bankauthorisationdenied), or
* [`BANK_AUTHORISATION_FAILED`](#billing-request-bankauthorisationfailed) in order to show the
* correct outcome to the user.
* Please note: bank authorisations can still fail despite an <code>outcome=success</code> on
* the <code>redirect_uri</code>. It is therefore recommended to wait for the relevant bank
* authorisation event, such as <a href=
* "https://developer.gocardless.com/api-reference/#billing-request-bankauthorisationauthorised"><code>BANK_AUTHORISATION_AUTHORISED</code></a>,
* <a href=
* "https://developer.gocardless.com/api-reference/#billing-request-bankauthorisationdenied"><code>BANK_AUTHORISATION_DENIED</code></a>,
* or <a href=
* "https://developer.gocardless.com/api-reference/#billing-request-bankauthorisationfailed"><code>BANK_AUTHORISATION_FAILED</code></a>
* in order to show the correct outcome to the user.
*
* The BillingRequestFlow ID will also be appended to the `redirect_uri` as query parameter
* `id=BRF123`.
* The BillingRequestFlow ID will also be appended to the <code>redirect_uri</code> as query
* parameter <code>id=BRF123</code>.
*
* Defaults to `https://pay.gocardless.com/billing/static/thankyou`.
* Defaults to <code>https://pay.gocardless.com/billing/static/thankyou</code>.
*/
public String getRedirectUri() {
return redirectUri;
Expand Down Expand Up @@ -138,16 +144,18 @@ private Links() {
private String institution;

/**
* ID of the [billing request](#billing-requests-billing-requests) against which this
* authorisation was created.
* ID of the <a href=
* "https://developer.gocardless.com/api-reference/#billing-requests-billing-requests">billing
* request</a> against which this authorisation was created.
*/
public String getBillingRequest() {
return billingRequest;
}

/**
* ID of the [institution](#billing-requests-institutions) against which this authorisation
* was created.
* ID of the <a href=
* "https://developer.gocardless.com/api-reference/#billing-requests-institutions">institution</a>
* against which this authorisation was created.
*/
public String getInstitution() {
return institution;
Expand Down
8 changes: 5 additions & 3 deletions src/main/java/com/gocardless/resources/BankDetailsLookup.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ private BankDetailsLookup() {
private String bic;

/**
* Array of [schemes](#mandates_scheme) supported for this bank account. This will be an empty
* array if the bank account is not reachable by any schemes.
* Array of
* <a href="https://developer.gocardless.com/api-reference/#mandates_scheme">schemes</a>
* supported for this bank account. This will be an empty array if the bank account is not
* reachable by any schemes.
*/
public List<AvailableDebitScheme> getAvailableDebitSchemes() {
return availableDebitSchemes;
Expand All @@ -37,7 +39,7 @@ public String getBankName() {
*
* <p class="notice">
* Even if no BIC is returned for an account, GoCardless may still be able to collect payments
* from it - you should refer to the `available_debit_schemes` attribute to determine
* from it - you should refer to the <code>available_debit_schemes</code> attribute to determine
* reachability.
* </p>
*/
Expand Down
Loading