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);