Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
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
17 changes: 8 additions & 9 deletions src/main/java/com/gocardless/resources/Balance.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,16 @@ 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
*
* - `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,
* 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
* because this balance does not include payments that are pending submission. -
* `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. -
* `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>
* </ul>
* business day). `pending_payouts` will only be non-zero while we are generating and submitting
* the payouts to our partner bank.
*/
public BalanceType getBalanceType() {
return balanceType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,22 @@ 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>
* </ul>
*
* - `full_match`: The verification has confirmed that the account name exactly matches the
* details provided. - `partial_match`: The verification has confirmed that the account name is
* similar but does not match to the details provided. - `no_match`: The verification concludes
* the provided name does not match the account details. - `unable_to_match`: The verification
* could not be performed due to recipient bank issues or technical issues
*/
public Result getResult() {
return result;
}

/**
* 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>
* </ul>
*
* - `pending`: We have triggered the verification, but the result has not come back yet. -
* `completed`: The verification is complete and is ready to be used.
*
*/
public Status getStatus() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,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
107 changes: 78 additions & 29 deletions src/main/java/com/gocardless/resources/BillingRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -153,13 +153,11 @@ public Resources getResources() {

/**
* One of:
* <ul>
* <li>`pending`: the billing request is pending and can be used</li>
* <li>`ready_to_fulfil`: the billing request is ready to fulfil</li>
* <li>`fulfilling`: the billing request is currently undergoing fulfilment</li>
* <li>`fulfilled`: the billing request has been fulfilled and a payment created</li>
* <li>`cancelled`: the billing request has been cancelled and cannot be used</li>
* </ul>
*
* - `pending`: the billing request is pending and can be used - `ready_to_fulfil`: the billing
* request is ready to fulfil - `fulfilling`: the billing request is currently undergoing
* fulfilment - `fulfilled`: the billing request has been fulfilled and a payment created -
* `cancelled`: the billing request has been cancelled and cannot be used
*/
public Status getStatus() {
return status;
Expand Down Expand Up @@ -588,6 +586,13 @@ private InstalmentsWithDate() {
/**
* Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in
* EUR).
*
* Minimum and maximum amounts vary by payment scheme. For more information, see
* [Transaction
* limits](https://support.gocardless.com/hc/en-gb/articles/115000309245-Transaction-limits)
*
* For Variable Recurring Payments (VRP), this must not exceed the mandate's
* `max_amount_per_payment` constraint.
*/
public Integer getAmount() {
return amount;
Expand Down Expand Up @@ -965,14 +970,12 @@ public Boolean getSweeping() {

/**
* Verification preference for the mandate. One of:
* <ul>
* <li>`minimum`: only verify if absolutely required, such as when part of scheme rules</li>
* <li>`recommended`: in addition to `minimum`, use the GoCardless payment intelligence
* solution to decide if a payer should be verified</li>
* <li>`when_available`: if verification mechanisms are available, use them</li>
* <li>`always`: as `when_available`, but fail to create the Billing Request if a mechanism
* isn't available</li>
* </ul>
*
* - `minimum`: only verify if absolutely required, such as when part of scheme rules -
* `recommended`: in addition to `minimum`, use the GoCardless payment intelligence solution
* to decide if a payer should be verified - `when_available`: if verification mechanisms
* are available, use them - `always`: as `when_available`, but fail to create the Billing
* Request if a mechanism isn't available
*
* By default, all Billing Requests use the `recommended` verification preference. It uses
* GoCardless payment intelligence solution to determine if a payer is fraudulent or not.
Expand Down Expand Up @@ -1045,24 +1048,32 @@ public String getEndDate() {
}

/**
* The maximum amount that can be charged for a single payment. Required for PayTo and
* VRP.
* The maximum amount that can be charged for a single payment in the lowest
* denomination for the currency (e.g. pence in GBP, cents in EUR). _Note:_ Required for
* PayTo and VRP.
*/
public Integer getMaxAmountPerPayment() {
return maxAmountPerPayment;
}

/**
* A constraint where you can specify info (free text string) about how payments are
* calculated. _Note:_ This is only supported for ACH and PAD schemes.
* calculated. For use when payments vary and cannot be expressed as a fixed amount and
* frequency. _Note:_ This is only supported for ACH and PAD schemes.
*
*/
public String getPaymentMethod() {
return paymentMethod;
}

/**
* List of periodic limits and constraints which apply to them
* Caps on the total amount and/or number of payments that can be collected within a
* repeating period (e.g. no more than a set amount per month), as opposed to
* `max_amount_per_payment` which caps a single payment.
*
* _Note:_ Required for VRP, where exactly one periodic limit must be provided. Optional
* for PayTo.
*
*/
public List<PeriodicLimit> getPeriodicLimits() {
return periodicLimits;
Expand Down Expand Up @@ -1095,14 +1106,21 @@ private PeriodicLimit() {
private Period period;

/**
* The alignment of the period.
* The alignment of the period. Defaults to `creation_date` if not specified.
*
* `calendar` - the period follows fixed calendar boundaries, the same for every
* mandate: `week` runs Monday to Sunday, `month` runs from the 1st to the last day
* of the calendar month, and `year` runs from 1 January to 31 December. If the
* mandate starts partway through a period, the limit for that first period is
* reduced proportionally to the days remaining (e.g. a monthly limit starting on
* the 15th gives roughly half the limit for that first month).
*
* `calendar` - this will finish on the end of the current period. For example this
* will expire on the Monday for the current week or the January for the next year.
* `creation_date` - the period follows the mandate's own start date rather than the
* calendar. For example, if the mandate starts on the 15th, each monthly period
* runs from the 15th to the 14th of the following month. The first period is a full
* period, not reduced proportionally.
*
* `creation_date` - this will finish on the next instance of the current period.
* For example Monthly it will expire on the same day of the next month, or yearly
* the same day of the next year.
* _Note:_ Has no effect when period is `flexible`.
*
*/
public Alignment getAlignment() {
Expand All @@ -1111,7 +1129,8 @@ public Alignment getAlignment() {

/**
* The maximum number of payments that can be collected in this periodic limit.
* _Note:_ This is only supported for the PayTo scheme, where it is required.
*
* _Note:_ Only supported for the PayTo scheme, where it is optional.
*
*/
public Integer getMaxPayments() {
Expand All @@ -1120,16 +1139,21 @@ public Integer getMaxPayments() {

/**
* The maximum total amount that can be charged for all payments in this periodic
* limit. Required for VRP.
* limit, in the lowest denomination for the currency (e.g. pence in GBP, cents in
* EUR).
*
* _Note:_ Required for VRP. This is not permitted for the PayTo scheme.
*
*/
public Integer getMaxTotalAmount() {
return maxTotalAmount;
}

/**
* The repeating period for this mandate. Defaults to flexible for PayTo if not
* specified.
* The repeating period for this mandate. Required whenever a periodic limit is
* provided (for both VRP and PayTo). If periodic_limits is omitted entirely for
* PayTo, this defaults to flexible.
*
*/
public Period getPeriod() {
return period;
Expand Down Expand Up @@ -1458,6 +1482,7 @@ private CustomerBankAccount() {
private String id;
private Links links;
private Map<String, String> metadata;
private PayerNameVerificationResult payerNameVerificationResult;

/**
* Name of the account holder, as known by the bank. The full name provided when the
Expand Down Expand Up @@ -1553,13 +1578,37 @@ public Map<String, String> getMetadata() {
return metadata;
}

/**
* The result of the payer name verification check performed when the bank account was
* created. Only present if a check was performed.
*
* - `full`: The name provided matches the name held by the bank. - `close`: The name
* provided is a close but not exact match to the name held by the bank. -
* `cannot_perform_verification`: A verification was attempted but could not be
* completed. This can happen for a number of reasons, including the account holder's
* bank not participating in the verification scheme, the account not being eligible for
* verification (e.g. the account holder has opted out), or the bank details not being
* resolvable, among others.
*/
public PayerNameVerificationResult getPayerNameVerificationResult() {
return payerNameVerificationResult;
}

public enum AccountType {
@SerializedName("savings")
SAVINGS, @SerializedName("checking")
CHECKING, @SerializedName("unknown")
UNKNOWN
}

public enum PayerNameVerificationResult {
@SerializedName("full")
FULL, @SerializedName("close")
CLOSE, @SerializedName("cannot_perform_verification")
CANNOT_PERFORM_VERIFICATION, @SerializedName("unknown")
UNKNOWN
}

/**
* Represents a link resource returned from the API.
*
Expand Down
Loading