Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes from gocardless/gocardless-dotnet-template #121

Merged
merged 1 commit into from
Apr 25, 2024
Merged
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ artifacts/
*.pidb
*.svclog
*.scc
*.DS_Store

# Chutzpah Test files
_Chutzpah*
Expand Down
4 changes: 2 additions & 2 deletions GoCardless/GoCardless.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<PackageId>GoCardless</PackageId>
<PackageVersion>5.21.1</PackageVersion>
<PackageVersion>5.21.2</PackageVersion>
<Authors>GoCardless Ltd</Authors>
<Description>Client for the GoCardless API - a powerful, simple solution for the collection of recurring bank-to-bank payments</Description>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
Expand All @@ -11,7 +11,7 @@
<Copyright>GoCardless Ltd</Copyright>
<PackageTags>gocardless payments rest api direct debit</PackageTags>
<PackageLicenseUrl>https://github.com/gocardless/gocardless-dotnet/blob/master/LICENSE.txt</PackageLicenseUrl>
<PackageReleaseNotes>https://github.com/gocardless/gocardless-dotnet/releases/tag/v5.21.1</PackageReleaseNotes>
<PackageReleaseNotes>https://github.com/gocardless/gocardless-dotnet/releases/tag/v5.21.2</PackageReleaseNotes>
<TargetFrameworks>netstandard1.6;netstandard2.0;net46</TargetFrameworks>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
Expand Down
4 changes: 2 additions & 2 deletions GoCardless/GoCardlessClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -277,11 +277,11 @@ private HttpRequestMessage BuildHttpRequestMessage<T>(string method, string path
runtimeFrameworkInformation = System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion();
#endif

var userAgentInformation = $" gocardless-dotnet/5.21.1 {runtimeFrameworkInformation} {Helpers.CleanupOSDescriptionString(OSRunningOn)}";
var userAgentInformation = $" gocardless-dotnet/5.21.2 {runtimeFrameworkInformation} {Helpers.CleanupOSDescriptionString(OSRunningOn)}";

requestMessage.Headers.Add("User-Agent", userAgentInformation);
requestMessage.Headers.Add("GoCardless-Version", "2015-07-06");
requestMessage.Headers.Add("GoCardless-Client-Version", "5.21.1");
requestMessage.Headers.Add("GoCardless-Client-Version", "5.21.2");
requestMessage.Headers.Add("GoCardless-Client-Library", "gocardless-dotnet");
requestMessage.Headers.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", _accessToken);
Expand Down
36 changes: 36 additions & 0 deletions GoCardless/Resources/BillingRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -844,6 +844,20 @@ public class BillingRequestPaymentRequest
[JsonProperty("description")]
public string Description { get; set; }

/// <summary>
/// This field will decide how GoCardless handles settlement of funds
/// from the customer.
///
/// - `managed` will be moved through GoCardless' account, batched, and
/// payed out.
/// - `direct` will be a direct transfer from the payer's account to the
/// merchant where
/// invoicing will be handled separately.
///
/// </summary>
[JsonProperty("funds_settlement")]
public BillingRequestPaymentRequestFundsSettlement? FundsSettlement { get; set; }

/// <summary>
/// Resources linked to this BillingRequestPaymentRequest.
/// </summary>
Expand All @@ -870,6 +884,28 @@ public class BillingRequestPaymentRequest
public string Scheme { get; set; }
}

/// <summary>
/// This field will decide how GoCardless handles settlement of funds from the customer.
///
/// - `managed` will be moved through GoCardless' account, batched, and payed out.
/// - `direct` will be a direct transfer from the payer's account to the merchant where
/// invoicing will be handled separately.
///
/// </summary>
[JsonConverter(typeof(GcStringEnumConverter), (int)Unknown)]
public enum BillingRequestPaymentRequestFundsSettlement {
/// <summary>Unknown status</summary>
[EnumMember(Value = "unknown")]
Unknown = 0,

/// <summary>`funds_settlement` with a value of "managed"</summary>
[EnumMember(Value = "managed")]
Managed,
/// <summary>`funds_settlement` with a value of "direct"</summary>
[EnumMember(Value = "direct")]
Direct,
}

/// <summary>
/// Resources linked to this BillingRequestPaymentRequest
/// </summary>
Expand Down
20 changes: 20 additions & 0 deletions GoCardless/Services/BankDetailsLookupService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ public BankDetailsLookupService(GoCardlessClient goCardlessClient)
/// check and
/// reachability check are performed.
///
/// For UK-based bank accounts, where an account holder name is provided
/// (and an account number, a sort code or an iban
/// are already present), we verify that the account holder name and
/// bank account number match the details held by
/// the relevant bank.
///
/// If your request returns an [error](#api-usage-errors) or the
/// `available_debit_schemes`
/// attribute is an empty array, you will not be able to collect
Expand Down Expand Up @@ -83,6 +89,12 @@ public Task<BankDetailsLookupResponse> CreateAsync(BankDetailsLookupCreateReques
/// and
/// reachability check are performed.
///
/// For UK-based bank accounts, where an account holder name is provided
/// (and an account number, a sort code or an iban
/// are already present), we verify that the account holder name and bank
/// account number match the details held by
/// the relevant bank.
///
/// If your request returns an [error](#api-usage-errors) or the
/// `available_debit_schemes`
/// attribute is an empty array, you will not be able to collect payments
Expand Down Expand Up @@ -111,6 +123,14 @@ public Task<BankDetailsLookupResponse> CreateAsync(BankDetailsLookupCreateReques
public class BankDetailsLookupCreateRequest
{

/// <summary>
/// The account holder name associated with the account number (if
/// available). If provided and the country code is GB, a payer name
/// verification will be performed.
/// </summary>
[JsonProperty("account_holder_name")]
public string AccountHolderName { get; set; }

/// <summary>
/// Bank account number - see [local
/// details](#appendix-local-bank-details) for more information.
Expand Down
48 changes: 48 additions & 0 deletions GoCardless/Services/BillingRequestService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,12 @@ public Task<BillingRequestResponse> CollectCustomerDetailsAsync(string identity,
/// customer is requested to adjust the account number/routing number
/// and
/// succeed in this check to continue with the flow.
///
/// _BACS scheme_ [Payer Name
/// Verification](https://hub.gocardless.com/s/article/Introduction-to-Payer-Name-Verification?language=en_GB)
/// is enabled by default for UK based bank accounts, meaning we verify
/// the account holder name and bank account
/// number match the details held by the relevant bank.
/// </summary>
/// <param name="identity">Unique identifier, beginning with "BRQ".</param>
/// <param name="request">An optional `BillingRequestCollectBankAccountRequest` representing the body for this collect_bank_account request.</param>
Expand Down Expand Up @@ -786,6 +792,42 @@ public class BillingRequestPaymentRequest
[JsonProperty("description")]
public string Description { get; set; }

/// <summary>
/// This field will decide how GoCardless handles settlement of
/// funds from the customer.
///
/// - `managed` will be moved through GoCardless' account, batched,
/// and payed out.
/// - `direct` will be a direct transfer from the payer's account to
/// the merchant where
/// invoicing will be handled separately.
///
/// </summary>
[JsonProperty("funds_settlement")]
public BillingRequestFundsSettlement? FundsSettlement { get; set; }
/// <summary>
/// This field will decide how GoCardless handles settlement of funds
/// from the customer.
///
/// - `managed` will be moved through GoCardless' account, batched, and
/// payed out.
/// - `direct` will be a direct transfer from the payer's account to the
/// merchant where
/// invoicing will be handled separately.
///
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum BillingRequestFundsSettlement
{

/// <summary>`funds_settlement` with a value of "managed"</summary>
[EnumMember(Value = "managed")]
Managed,
/// <summary>`funds_settlement` with a value of "direct"</summary>
[EnumMember(Value = "direct")]
Direct,
}

/// <summary>
/// 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.
Expand Down Expand Up @@ -1070,6 +1112,12 @@ public class BillingRequestCustomerBillingDetail
/// the
/// customer is requested to adjust the account number/routing number and
/// succeed in this check to continue with the flow.
///
/// _BACS scheme_ [Payer Name
/// Verification](https://hub.gocardless.com/s/article/Introduction-to-Payer-Name-Verification?language=en_GB)
/// is enabled by default for UK based bank accounts, meaning we verify the
/// account holder name and bank account
/// number match the details held by the relevant bank.
/// </summary>
public class BillingRequestCollectBankAccountRequest
{
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ For full details of the GoCardless API, see the [API docs](https://developer.goc

To install `GoCardless`, run the following command in the [Package Manager Console](https://docs.microsoft.com/en-us/nuget/tools/package-manager-console)

`Install-Package GoCardless -Version 5.21.1`
`Install-Package GoCardless -Version 5.21.2`


## Usage
Expand Down
1 change: 1 addition & 0 deletions tmp-push-files-checkout
Submodule tmp-push-files-checkout added at 1224bf
Loading