diff --git a/src/main/java/com/gocardless/resources/ScenarioSimulator.java b/src/main/java/com/gocardless/resources/ScenarioSimulator.java index 81f200e0..23176c2f 100644 --- a/src/main/java/com/gocardless/resources/ScenarioSimulator.java +++ b/src/main/java/com/gocardless/resources/ScenarioSimulator.java @@ -81,9 +81,8 @@ private ScenarioSimulator() { * `pending_submission` state. Not compatible with Autogiro, BECS NZ, and PAD mandates, which do * not expire. *
  • `mandate_transferred`: Transitions a mandate through to `transferred`, having been - * submitted to the banks, set up successfully and then moved to a new bank account due to the - * customer using the UK's Current Account Switching Service (CASS). It must start in the - * `pending_submission` state. Only compatible with Bacs mandates.
  • + * submitted to the banks, set up successfully and then moved to a new bank account due. It must + * start in the `pending_submission` state. Only compatible with Bacs and SEPA mandates. *
  • `mandate_transferred_with_resubmission`: Transitions a mandate through `transferred` and * resubmits it to the banks, can be caused be the UK's Current Account Switching Service (CASS) * or when a customer contacts GoCardless to change their bank details. It must start in the diff --git a/src/main/java/com/gocardless/services/BillingRequestTemplateService.java b/src/main/java/com/gocardless/services/BillingRequestTemplateService.java index 53261738..5125d10c 100644 --- a/src/main/java/com/gocardless/services/BillingRequestTemplateService.java +++ b/src/main/java/com/gocardless/services/BillingRequestTemplateService.java @@ -57,7 +57,7 @@ public BillingRequestTemplateGetRequest get(String identity) { } /** - * + * */ public BillingRequestTemplateCreateRequest create() { return new BillingRequestTemplateCreateRequest(httpClient); diff --git a/src/main/java/com/gocardless/services/MandateImportEntryService.java b/src/main/java/com/gocardless/services/MandateImportEntryService.java index cf79aa06..b5fed44f 100644 --- a/src/main/java/com/gocardless/services/MandateImportEntryService.java +++ b/src/main/java/com/gocardless/services/MandateImportEntryService.java @@ -473,6 +473,25 @@ public MandateImportEntryCreateRequest withMandate(Mandate mandate) { return this; } + /** + * This field is ACH specific, sometimes referred to as [SEC + * code](https://www.moderntreasury.com/learn/sec-codes). + * + * This is the way that the payer gives authorisation to the merchant. web: Authorisation is + * Internet Initiated or via Mobile Entry (maps to SEC code: WEB) telephone: Authorisation + * is provided orally over telephone (maps to SEC code: TEL) paper: Authorisation is + * provided in writing and signed, or similarly authenticated (maps to SEC code: PPD) + * + */ + public MandateImportEntryCreateRequest withMandateAuthorisationSource( + Mandate.AuthorisationSource authorisationSource) { + if (mandate == null) { + mandate = new Mandate(); + } + mandate.withAuthorisationSource(authorisationSource); + return this; + } + /** * Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 * characters and values up to 500 characters. @@ -856,9 +875,26 @@ public Links withMandateImport(String mandateImport) { } public static class Mandate { + private AuthorisationSource authorisationSource; private Map metadata; private String reference; + /** + * This field is ACH specific, sometimes referred to as [SEC + * code](https://www.moderntreasury.com/learn/sec-codes). + * + * This is the way that the payer gives authorisation to the merchant. web: + * Authorisation is Internet Initiated or via Mobile Entry (maps to SEC code: WEB) + * telephone: Authorisation is provided orally over telephone (maps to SEC code: TEL) + * paper: Authorisation is provided in writing and signed, or similarly authenticated + * (maps to SEC code: PPD) + * + */ + public Mandate withAuthorisationSource(AuthorisationSource authorisationSource) { + this.authorisationSource = authorisationSource; + return this; + } + /** * Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 * characters and values up to 500 characters. @@ -877,6 +913,19 @@ public Mandate withReference(String reference) { this.reference = reference; return this; } + + public enum AuthorisationSource { + @SerializedName("web") + WEB, @SerializedName("telephone") + TELEPHONE, @SerializedName("paper") + PAPER, @SerializedName("unknown") + UNKNOWN; + + @Override + public String toString() { + return name().toLowerCase(); + } + } } } diff --git a/src/main/java/com/gocardless/services/OutboundPaymentService.java b/src/main/java/com/gocardless/services/OutboundPaymentService.java index f62957cb..a756f2d9 100644 --- a/src/main/java/com/gocardless/services/OutboundPaymentService.java +++ b/src/main/java/com/gocardless/services/OutboundPaymentService.java @@ -37,7 +37,7 @@ public OutboundPaymentService(HttpClient httpClient) { } /** - * + * */ public OutboundPaymentCreateRequest create() { return new OutboundPaymentCreateRequest(httpClient);